1c xml dosyası nasıl açılır? Bir XML dosyası oluşturuluyor. Üçüncü taraf uygulamaları için kolay yükleme. “Fatura” belgesinin oluşturulması

Bir kuruluşta muhasebe yalnızca 1C:Enterprise platformundaki çözümlerde değil aynı zamanda diğer yazılım sistemlerinde de (Galaktika, Parus, SAP vb.) korunabilir. Bu, iki uygulamayı entegre etmenin zorluğunu artırıyor.

Örneğin, bazı uygulamaların (buna "X" diyelim) konfigürasyon belgelerinin bir listesini okuması gerekir. Böyle bir sorunu çözmenin pratik faydalarından bahsetmeyeceğiz, sadece böyle bir durumda en uygun ve evrensel yolun XML formatında bir belge listesi yüklemek olacağını not edeceğim.

Bu formatı kullanan değişim evrenseldir çünkü çoğu uygulama onunla çalışabilir. Yapılandırma belgelerinin bir listesini 1C:Enterprise'dan bir XML dosyasına nasıl yükleyebileceğinize bakalım.

XML'e yükle

Ve böylece asıl şeye geçelim. Belge meta verileri listesinden geçmemiz ve listeyi XML dosyasında oluşturmamız gerekiyor. Aşağıdaki ekran görüntüsü bir XML dosyası oluşturmaya yönelik algoritmayı göstermektedir:

CreateXML() Dışa Aktarma İşlevi //Geçici dosyanın adını alıyoruz Yol = GetTemporaryFileName(); // "XML Kaydı" sınıfını başlatıyoruz Giriş = Yeni GirişXML; // Yazmak için geçici bir dosya açın- 8 " ) ; // XML dosya bildirimini yaz Kayıt. WriteDeclarationXML() ; // Kayıt. WriteElementStart(" BelgelerYapılandırmalar" ) ; // İlk eleman // Dosyanın oluşturulduğu tarihle birlikte ilk öğenin niteliği Kayıt. WriteAttribute(" created ", Format(CurrentDate(), " DF) = yyyy-AA- ddThh:dd:ss; DLF=DT" ) ) ; // Her konfigürasyon belgesi için bir öğe yazın. Belgenin adını metne koyuyoruz. Meta Verilerden Her Doküman İçin. Belge Döngüsü Kaydı. WriteElementStart("Belge"); Kayıt. WriteText(Doc.Name) ; Kayıt. WriteEndElement() ; EndCycle; // İlk elemanın yazımını bitir Kayıt. WriteEndElement() ; Kayıt. Kapalı(); // Dosyayı kapat // Dosyanın ikili verilerini alın ve geçici belleğe koyunİkiliVeri = yeni İkiliVeri(Yol) ; Adres = PlaceInTemporaryStorage(BinaryData, New UniqueIdentifier) ​​​​; İade adresi; // Dosyanın adresini depoya döndür Son Fonksiyon

Oluşturulan her öğenin doğru şekilde tamamlanması gerekir. “WriteStartofElement()” çalıştırıldıktan sonra “WriteEndElement” metodunun çalıştırılması gerekmektedir, aksi taktirde XML dosyasının yapısı hatalı olacaktır.

XML dosyalarını oluşturmaya yönelik genel şablon aşağıdaki sıradır:

// 1. "XML Kaydı" sınıfını başlatın Giriş = Yeni GirişXML; // 2. Kayıt için geçici bir dosya açın Kayıt. OpenFile(Yol, " UTF) - 8 " ) ; // 3. XML dosyası bildirimini yazın Kayıt. WriteDeclarationXML() ; // // 4. ++ XML dosyasının içeriğini yazın Kayıt. WriteElementStart("XMLElement"); Kayıt. WriteEndElement() ; // -- XML ​​dosyasının içeriğini yazın // 5. Dosyayı kapatın Kayıt. Kapalı();

Bu beş adım hemen hemen her XML dosyasını oluşturur.

Örneğimizde oluşturulan dosya ikili verilere dönüştürülür ve CreateXML fonksiyonunun çağrıldığı konuma döndürülür. Bu dosya daha sonra dosya sistemine yazılabilir.

Yukarıdaki ekran görüntüsünde yüklenen dosyanın bir örneğini görebilirsiniz.

Üçüncü taraf uygulaması

Örnek olarak, üçüncü taraf bir uygulamada XML dosyasının okunduğunu göstermek için .NET Framework'te bir uygulama oluşturdum.

Program oluşturulan dosyayı okur ve belgeleri bir liste biçiminde görüntüler:

Kendiniz deneyebilirsiniz, uygulama yazının sonundaki bağlantıyı kullanarak indirilebilir.

Çok yönlülük

XML formatı, 1C:Enterprise platformundaki uygulama çözümleri arasında veri alışverişi için çoğu konfigürasyonda kullanılır. Yaygın olarak kullanılan diğer bir iletişim yöntemi COM bağlantısıdır. XML hemen hemen her uygulamayla alışveriş yapmanıza olanak tanır, bu nedenle evrensel olarak adlandırılmayı hak eder.

İndirilecek dosyalar:

XML dosyası okuma uygulaması.

XML dosyasının oluşturulması işleniyor.

Veritabanları arasında bilgi aktarımı, destek ve yönetim görevlerinden biridir. Etkili uygulaması için işleme otomatik 1C komplekslerinde oluşturulur. Rutin çalışmayı büyük ölçüde kolaylaştırır, bilgi yükleme ve indirme süreçlerini hızlandırır ve aynı zamanda doğruluğu üzerinde kontrol uygularlar. 1c'den xml'e yükleme, yapılandırılmış herhangi bir yapılandırma nesnesinin içeriğini içeren bir dosya oluşturmanıza ve aynı yapılandırmaya veri yüklemeniz gerektiğinde bunu kullanmanıza olanak tanır.

Yükleme oluşturmaya yönelik araçlar

Veritabanlarında bulunan bilgileri dışa aktarmak için esas olarak xml formatı kullanılır. 1C için, verileri bir dosyaya çıkarmanın ve yüklemenin mümkün olduğu birçok işleme yöntemi (örneğin, UploadLoadDataxml82 epf) geliştirilmiştir. Bu durumda kullanıcının, içinde depolanan bilgilerin yerel veritabanına yüklenmesine veya başka bir konuma aktarılmasına olanak tanıyan belirli bir yapıya sahip bir dosya alması gerekir. Bir yükleme oluştururken aşağıdaki kurallara uyulmalıdır:

  • Aktarılan bilgilerin doğruluğunu doğrulamak için oluşturulan dosyaları tamamen kurtarılana ve prosedürler tamamlanana kadar kaydedin;
  • İşlemeyi bir yedekleme aracı olarak kullanıyorsanız, veri kopyaları için ayrı alt klasörler oluşturun ve hızlı erişim için bunların günlüğünü tutun.

ITS web sitesinde veya disklerinde bulunabilen 1C kullanıcı destek programında sağlanan bu program, bilgileri dışa ve içe aktarmak için mükemmel bir araçtır. Bir bilgisayar kullanıcısı hem veritabanının tamamını hem de tek tek nesnelerini yükleyebilir ve gerçek dışa aktarmaya ek olarak, verilerdeki kritik hatalardan kurtulmaya yardımcı olan bilgileri kontrol etmek için çeşitli işlemler gerçekleştirilir. xml'ye 1c yükleme işlemi iki modda çalışır:

  • Boşaltma. Kullanıcı tanımlı sayfalanabilir nesneleri içeren bir dosya oluşturur;
  • Yükleniyor. Daha önce dışa aktarılan bir dosyayı okur ve içindeki bilgileri bilgi tabanına yazar.

İşleme, nesneleri geçersiz karakterler açısından kontrol etmenize olanak tanır ve ayrıca bilgilerin kısıtlamalarla dışa aktarılmasına yönelik bir işlev içerir.

Yükleme yalnızca 1C veritabanları arasında bilgi alışverişi yaparken kullanılamaz. Onun yardımıyla, örneğin 1C ve Parus sistemi gibi çeşitli komplekslerin entegrasyonunu sağlayabilirsiniz. XML formatının çok yönlülüğü, hemen hemen her bilgi bankasına bilgi aktarımı için programlar oluşturmanıza olanak tanır. Xml verilerinin işlenmesi, yüklenmesi ve indirilmesi bilgi alışverişinin en önemli aracıdır.

Verileri yükleme işlemixml

Normal modda 1c'den xml'ye nasıl yükleme yapılacağına bakalım. UploadLoadDataxml.epf işleme dosyasını indirip açtıktan sonra aşağıdaki adımları uygulamanız gerekir:

  • Dışa aktarılacak nesneleri seçin;
  • Gerekli filtreleri örneğin döneme göre ayarlayın;
  • Disk alt sistemindeki bilgilerle dosyanın konumunu belirleyin;
  • Nesneleri boşaltmaya başlayın.

Yükleme dosyası formatının başlık kısmının, değişim planlarına göre yükleme yapılırken kullanılan dosya formatından farklı olduğu unutulmamalıdır.

xml

Xml, kaynak veritabanıyla aynı konfigürasyonla alıcı veritabanına 1c'ye yüklenir. Xml 1c'yi 1c'ye yüklemeden önce, alıcı veritabanında işlemeyi açmanız gerekir. Daha sonra önceden yüklenen dosyanın yolunu belirtmeniz ve “Veri yükle” butonuna tıklayarak verileri indirmeniz gerekir.

Gerekirse, verileri dağıtılmış bir bilgi tabanında değişim modunda yüklemek ve nesneler yüklenirken oluşan hataları göz ardı etmek için onay kutuları etkinleştirilir.

Bundan sonra, veritabanlarını kontrol etmeniz ve tüm öğelerin kaybolmaması için doğru şekilde yüklendiğinden emin olmanız gerekir; örneğin, nesneyi yükledikten sonra olay işleyicisinde bir hata oluşursa.

Bir işletme, çalışmalarında sürekli olarak bir tür yazılım paketi kullandığında, doğal olarak sürekli destek ve yönetim sorunu her zaman ortaya çıkar. Veri alışverişi, depolama ve geri yükleme görevlerinden kaçınmanın hiçbir yolu yoktur. Bu konu için önemli bir prosedür olduğundan, 1C'den XML formatında verilerin nasıl yükleneceği veya kaldırılacağına bakalım.

Yükleme sırasında müşteri için gerekli verilerin kaydedileceği bir XML dosyası alabileceğiniz şekilde oluşturulmuştur. Aynı zamanda kayıtla eş zamanlı olarak aktarılan kayıtların kritik hatalara karşı doğruluğu da takip edilmektedir.

Bu nedenle, bir bilgi tabanından bir XML dosyasına yükleme (kayıtları içe aktarma) ve ardından XML'den diğerine yükleme, veritabanları arasında XML formatındaki veri alışverişini temsil eder.

Özellikle büyük miktarda bilgi içeren bu prosedür, birçok manuel çalışmadan tasarruf sağlar.

İçe aktarma (sonuç olarak ortaya çıkan dosya), beklenmedik durumlarda (kaybolması veya hasar görmesi durumunda) kurtarma için bir arşiv olarak da kullanılabilir.

Bu tür işleme araçlarının birçoğu geliştirildi ve bunlara internette erişilebiliyor. Kullanımlarının sorumluluğu müşterinin omuzlarına (ve başına) düşer.

Ancak Odeneski'nin resmi kullanıcıları için geliştiriciler evrensel bir "XML Verilerini Yükle/Yükle" işlemcisi oluşturdular.

ÖNEMLİ. 1C'de XML'e aktarma ve 1C'den XML'e daha fazla yükleme, aynı yapılandırmalar için kabul edilebilir - aksi takdirde hasar görür.

Evrensel işleyici

Evrensel geliştiriciyi kullanmanın önemli noktaları:

  • Kayıtların aktarımı tamamlanana ve doğrulukları kontrol edilene kadar içe aktarılan dosyaları kaydedin;
  • Yedek kopya olarak kullanıldığında, aramayı sıralamak için bunların bir kaydı tutulmalıdır.

Çalışmasının iki modu vardır: bilgileri kaydederken dosya oluşturmak ve içe aktarırken dosyayı okumak/yazmak.

Ek olarak kullanıcı, verileri hem dışa aktarırken hem de yüklerken ek kısıtlamalar belirleyebilir.

Kayıtları çıkarma

Verileri hem veritabanının tamamına hem de nesne nesneye göre seçerek yükleyebilirsiniz.

İşleyiciyi indirdikten, kurduktan ve açtıktan sonra aşağıdakiler gerçekleşir:


Seçimleri, lansmandan sonra açılan iletişim kutusunda yapılır. Bunu yapmak için, alınacak meta veri nesnelerini görüntüleyen listedeki kutuları işaretleyin;

  1. Gerekli filtreler yapılandırılmıştır (örneğin tarihe göre);
  2. Disk alanı seçilir;
  3. Operasyonun kendisi başlıyor.

Kayıtların alıcıya yüklenmesi

Alıcı veritabanına veri kabul etmenin ilk adımı, içindeki işlemci programını açmaktır.

Kaynak dosyanın yolu belirlendikten ve prosedür ayarları bayrakları etkinleştirildikten (gerekirse) sonra “Veri yükle” butonu ile işlemi başlatabilirsiniz.

Artık verileri kaydetmek ve veritabanları arasında alışveriş yapmak için 1C'den XML formatında verileri nasıl yükleyeceğinizi veya kaldıracağınızı biliyorsunuz.

- aynı zamanda zayıf kontrollere sahip bir XML analoğu olan tanınmış web sayfaları.

XML Okuyucu/Yazıcı Nesneleri, FastInfoset, HTML, işaretleme etiketlerinin yerleşik olarak işlenmesiyle metin dosyası okuma yeteneklerini genişletir.

Bunlar aynı zamanda DOMBuilder/DOMRecord nesneleri için de (aşağıya bakın) veri kaynağı olarak kullanılır.

XML 1C dosyaları metin bilgisi içerir, yani metin dosyalarıdır. 1C XML Reader ve 1C Write XML nesneleri, 1C dosyasındaki XML etiketleriyle çalışmayı kolaylaştıran bir "eklentidir".

ReadingFastInfoset 1C ve WritingFastInfoset 1C, ReadingHTML 1C ve WritingHTML 1C nesneleri, ReadingXML 1C ve WritingXML 1C'ye tamamen benzer ve diğer formatlarla aynı şekilde çalışmaya hizmet eder.

Örneklerde kullanılan XML 1C dosyası

Dizin>

Dizin>

Metin değeriProps>
Dizin>
Yapılandırma>

Örnek 1. XML Okuma 1C'yi kullanarak bir 1C XML dosyasını değer ağacına okuma

//ReadingXML 1C kullanarak okumak için XML 1C dosyasını açın
Dosya = Yeni ReadXML();
File.OpenFile("D:\ConfigurationStructure.xml");

//değer ağacını hazırlıyoruz
//her XML dalının bir adı, nitelikleri ve değeri olabilir
dzXML = YeniValueTree();
dXML.Columns.Add("Ad");
dzXML.Columns.Add("Değer");
dzXML.Columns.Add("Nitelikler");

//bir XML dizisinin birden fazla özelliği olabileceği için bunları değerler tablosuna yazacağız
//her özelliğin bir adı ve değeri vardır
tAttributes = Yeni ValueTable();
tAttributes.Columns.Add("Ad");
tAttributes.Columns.Add("Değer");

//yuvalama seviyesi, ne zaman iç içe dal eklememiz gerektiğini ve ne zaman bir seviye yukarı çıkmamız gerektiğini anlamamıza yardımcı olacaktır
Yuvalama Düzeyi = 0;
//mevcut çizgi bir ağaç çizgisidir, iç içe geçme arttıkça değişecektir
CurrentRow = Tanımsız;
//XML 1C dosyasının okunması satır satır yapılmaz fakat yapıya göre dosya bittiğinde okuma FALSE değerini döndürür.
File.Read() Döngüsü sırasında

//üç tür düğümle ilgileniyoruz - öğenin başlangıcı, metin (öğenin değeri) ve öğenin sonu (en üst seviyeye dönmek için)
File.NodeType = XMLNodeType.ElementStart ise O zaman

Yuvalama Düzeyi = Yuvalama Düzeyi + 1;

//eğer bu ilk satırsa, onu ağacın en üstüne ekleyin ve yalnızca adı kaydedin
CurrentRow = Tanımsız ise O zaman
CurrentLine = dXML.Lines.Add();
CurrentLine.Name = Dosya.Name;
Devam etmek;
Aksi takdirde
//iç içe çizgiler
CurrentRow = CurrentRow.Rows.Add();
CurrentLine.Name = Dosya.Name; //ismi kaydet

//bu XML öğesinin nitelikleri var mı?
File.NumberAttributes() > 0 ise O zaman
//eğer evet ise, nitelikleri kaydetmek için hazırlanan boş tabloyu kopyalayın
tAttributesNode = tAttributes.Copy();
//bu öğenin özniteliklerinin sayısı arasında geçiş yap
Hesap İçin = 0, Dosya.Number of Attributes()-1 Döngüsü ile
//her özellik için adı ve değeri hatırla
String = tNodeAttributes.Add();
Line.Name = File.AttributeName(Sch);
Row.Value = File.AttributeValue(Ac);
EndCycle;
//öğenin nitelik tablosunu geçerli satıra kaydet
CurrentRow.Attributes = tNodeAttributes;
endIf;
endIf;

ElseIf File.NodeType = XMLNodeType.EndElement Sonra
//elemanın başında yuvalanma seviyesini arttırıyoruz, elemanın sonunda ise azaltıyoruz
Yuvalama Düzeyi = Yuvalama Düzeyi - 1;
//mevcut satırı bir seviye yukarı döndür
CurrentRow = CurrentRow.Parent;

ElseIf File.NodeType = XMLNodeType.Text Sonra
//eğer öğenin bir değeri varsa, onu kaydedin
CurrentRow.Value = Dosya.Value;

endIf;

EndCycle;

Dosya.Close();

Örnek 2. 1C Record XML nesnesini kullanarak 1C XML dosyasını kaydetme

//bir dosya oluştur Kayıt XML 1C
Dosya = YeniXMLRecord();
File.OpenFile("D:\ConfigurationStructure.xml", "UTF-8");
File.WriteElementStart("Yapılandırma");

//tüm dizinleri dolaşmak için meta verileri kullan (daha fazla ayrıntı için bkz. "Meta verilerle çalışma")
Metadata.Directories Döngüsünden her Dizin için

//WriteStartofElement - yeni bir [bağlı] dal açar
File.WriteElementStart("Dizin");
//WriteAttribute - daha önce açılmış bir şubeye bir nitelik yazar
File.WriteAttribute("Ad", Directory.Name);
File.WriteAttribute("Synonym", Directory.Synonym);

//meta verileri kullanarak tüm dizin ayrıntılarını inceliyoruz
Directory.Props Döngüsündeki her Prop için




EndCycle;

//dizinin tüm tablolu kısımlarını dolaşmak için meta verileri kullan
Dizindeki her PM için Döngünün Tablo Bölümleri.
File.WriteElementStart("TabularPart");
File.WriteAttribute("Ad", ÖM.Adı);
File.WriteAttribute("Synonym", PM.Synonym);

PM.Props Döngüsünden her bir Prop için
File.WriteElementStart("Sahne");
File.WriteAttribute("Ad", Attribute.Name);
File.WriteAttribute("Synonym", Attributes.Synonym);
File.WriteEndElement();
EndCycle;

File.WriteEndElement();
EndCycle;

//WriteEndElement - WriteBeginElement kullanılarak daha önce açılan şubeyi "kapatır"
File.WriteEndElement();
EndCycle;

File.WriteEndElement();
Dosya.Close();

Fok
Konunun devamı:
internet

Pasif gelir nasıl yaratılır - 14 çalışma yöntemi + yeni başlayan işadamları için 12 ipucu. Şu soruyu cevaplamak için: pasif gelir nasıl yaratılır, nasıl olduğunu anlamalısınız...