• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Xml Dosyası düzenleme ve yine xml formatında kaydetme

Yapılır ama XML dosyasında istediğiniz değişiklikler nedir, belirtmemişiniz.

.
 
Dosya BaBs dosyası ben bunu exdelde düzenleyip direk xml olarak kaydetmeye çalışıyorum.
Eski yüklemelerden örnek alıp Xml kaynaklarını eşleştirdim fakat olumsuz.
Örnek düzeltme için ise
ba>
<siraNo>1</siraNo>
<unvan>TARIM ÜRN.GIDA NAK.İNŞ.TUR.SAN.VE TİC.LTD.ŞTİ.</unvan>
<ulke>052</ulke>
<vkno>001000000</vkno>
<belgeSayisi>1</belgeSayisi>
<malHizmetBedeli>15508</malHizmetBedeli>
</ba>
Bu bölümü çoğaltmak istiyorum. 2-3-4-5 ...şeklinde
 
Bahsettiğiniz BaBs dosyası nedir bilmiyorum ama, dediğiniz şey yapılır.

Bahsettiğiniz çoğaltma işleminde kullanılacak veriler nerden alınacak ? Bunun için herhalde Excel'de bir tablonuz vardır, onu da eklerseniz iyi olur.

Bir diğer konu da; XML dosyasındaki "BA" bölümü hariç, diğer kısımlar aynı mı kalacak, yoksa onlarda da değişiklik olacak mı?

.
 
Bahsettiğiniz BaBs dosyası nedir bilmiyorum ama, dediğiniz şey yapılır.
Bahsettiğiniz çoğaltma işleminde kullanılacak veriler nerden alınacak ? Bunun için herhalde Excel'de bir tablonuz vardır, onu da eklerseniz iyi olur.
Burada liste mevcut.

Bir diğer konu da; XML dosyasındaki "BA" bölümü hariç, diğer kısımlar aynı mı kalacak, yoksa onlarda da değişiklik olacak mı?

<toplamAlimBedeli>15508</toplamAlimBedeli>
Diğer yerler sabit ama onları da değiştirebilir yapabilirsek daha kullanışlı olur.

.
 
Son düzenleme:
#5 nolu mesajda dosyaları güncelledim. Xml + Xlsx
 
Siz cevap yazarken ben kendime göre bir örnek Excel dosyasında tablo yapmıştım. Sizin daha önce göndermiş olduğunuz XML dosyasını SablonXML.xml olarak adlandırdım ve kodları buna göre düzenledim. Bu arada, 5 No'lu mesajınızda belirttiğiniz toplam bedel de güncellenmiş XML dosyasında yer alıyor.

Ekli dosyaları bilgisayarda bir klasöre yerleştirdikten sonra, Excel dosyasını açın ve sayfadaki butona tıklayın. Excel tablosundaki verilere göre size güncellenmiş yeni bir XML dosyası oluşturulacaktır.

********************************************************
Not: Dosyanın son hali 62No'lu mesajın ekindedir.
********************************************************

.
 

Ekli dosyalar

Son düzenleme:
vkno isimli element, alım yapılan gerçek kişi olduğunda tckimlikno olur. Programın doğru çalışması için daha somut bir şablon gerekirdi.
 
Haluk bey çok teşekkür ederim.

Anladığım kadarıyla şablon üzerinden değişiklik yapıyoruz.

Fakat birkaç aksaklık var. Onları detaylı test edip tekrar yazcağım.
Şimdilik tespit ettiklerim:
- Örnek Excel dosyasında D ve E sütunundaki verilerde değişiklik olabiliyor. (tcno-vergino)
- güncellemede ilk satıs değişmiyor onun üzerine yazıyor.
 
vkno isimli element, alım yapılan gerçek kişi olduğunda tckimlikno olur. Programın doğru çalışması için daha somut bir şablon gerekirdi.

Evet haklısınız o ihtimali atlamışım. Daha farklı bir dosya beklentim vardı belki kendim bir-iki değişiklikle hallederim diye düşünmüştüm.

Hani Xml'i excelde açtığımızda tablo olarak görünüyor ,orada birkaç düzenelem yapıp farklı kaydet ile çözeriz diye :)
 
Dediğim gibi; BA-BS dediğiniz olaydan anlamadığım için ben sadece sizin verdiğiniz bilgilere göre kod yazıyorum.

Yukarıdaki mesajlardan sonra son gelişmelere göre revize dosya 7 No'lu mesaja eklenmiştir.

.
 
NoB =Range("B" & Rows.Count).End(xlUp).Row

Burada 255 satırdan sonrası için "overflow" hatası geliyor.

Ek olarak ihtimal dosya bitince fadası olacağına inandığım için ;
Bu alanın da değiştirilebilir olarak yapabilirmiyiz?

Kod:
<beyanname kodVer="FORMBA_6" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FORMBA_6.xsd" >
    <genel>
        <idari>
            <vdKodu>006271</vdKodu>
            <donem>
                <tip>aylik</tip>
                <yil>2018</yil>
                <ay>8</ay>
            </donem>
        </idari>
        <mukellef>
            <vergiNo>4200000000</vergiNo>
            <soyadi>AAAAAAA</soyadi>
            <adi>TİC.TAAH.LTD.ŞTİ.</adi>
            <ticSicilNo>12345</ticSicilNo>
            <eposta>muhasebe@citygross.com.tr</eposta>
            <alanKodu>312</alanKodu>
            <telNo>1234567</telNo>
        </mukellef>
        <hsv sifat="kendisi">
            <vergiNo>4200000000</vergiNo>
            <soyadi>AAAAAAA</soyadi>
            <adi>TİC.TAAH.LTD.ŞTİ.</adi>
            <ticSicilNo>12345</ticSicilNo>
            <eposta>acar6783@yandex.com</eposta>
            <alanKodu>312</alanKodu>
            <telNo>1234567</telNo>
        </hsv>
        <duzenleyen>
            <vergiNo>4200000000</vergiNo>
            <soyadi>AAAAAAA</soyadi>
            <adi>TİC.TAAH.LTD.ŞTİ.</adi>
            <ticSicilNo>12345</ticSicilNo>
            <eposta>acar6783@yandex.com</eposta>
            <alanKodu>312</alanKodu>
            <telNo>1234567</telNo>
        </duzenleyen>
        <gonderen>
            <vergiNo>4200000000</vergiNo>
            <soyadi>GÜLMAR GIDA SANAYİ </soyadi>
            <adi>TİC.TAAH.LTD.ŞTİ.</adi>
            <ticSicilNo>12345</ticSicilNo>
            <eposta>acar6783@yandex.com</eposta>
            <alanKodu>312</alanKodu>
            <telNo>1234567</telNo>
        </gonderen>
    </genel>
 
NoB =Range("B" & Rows.Count).End(xlUp).Row

Burada 255 satırdan sonrası için "overflow" hatası geliyor.


Siz 4-5 adet fatura deyince ben de ona göre hazırlamıştım kodu. Söz konusu "overflow" hatası almamak için kodun en üstündeki;

Kod:
NoB As Byte


kısmını, aşağıdaki gibi değiştirin.


Kod:
NoB As integer


.
 
Çok teşekkür ederim . Bir iki değişiklikle biraz yoluna girdi.

Ek olarak bu işlemi dediğim gibi şablon gerekmeksizin yapma ihtimalimiz var mıdır?
 
Şablonsuz da olur, ama daha fazla kod yazmak lazım.

Şablon kullanmak sizin için çok sorun olmaz diye düşünüyorum.

.
 
Şablonsuz olmasının avantajı daha çok olacağını düşünüyorum.
Vergi dairesinin şablonu değiştirme ihtimaline istinaden daha kullanışlı olur .
Tabi programın genele hitap etmesi için 12'nolu mesajda belirttiğim alanların da değiştirilebilir olması daha iyi oalcaktır.
 
Şablon olarak kullanılan XML dosyasındaki tüm alanların, ekli Excel dosyasında kullanıcı tarafından girilen verilerle güncellenmesine ilişkin revize dosya ektedir.

Daha önce olduğu gibi bu kez de, SablonXML.xml dosyası ve Excel dosyası aynı klasörde olmalıdır.

Dosyanın linki:

(.... Silindi....)

.
 

Ekli dosyalar

Son düzenleme:
Ekli dosyada bu kez, şablon kullanılmadan Excel'deki verilere göre söz konusu XML dosyası hazırlanmaktadır.

Dosya biraz zahmetli oldu, umarım işinize yarar.

Dosyanın harici linki:

(... Silindi ....)


Not1: Bugün saat 17:00'den sonra dosyaya ait harici link silinecektir. "Altın Üye" olanlar, dosyaya erişim sağlayabilecektir.

Not2: Dosyanın son hali 62No'lu mesajın ekindedir.

.
 

Ekli dosyalar

Son düzenleme:
@Haluk bey efsanevi paylaşımlara devam ediyorsunuz.
Elinize sağlık.
 
Teşekkür ederim Erdem Bey.

.
 
Geri
Üst