1c shembull i punës me xml. Formimi i një skedari XML

Transferimi i të dhënave është një proces shumë i rëndësishëm në çdo sistem kontabiliteti, platforma 1C 8.3 dhe 8.2 nuk bën përjashtim. Më poshtë do të shikojmë udhëzimet se si të transferoni më lehtë të dhënat nga një sistem në tjetrin që ka një konfigurim të ngjashëm (për konfigurime të ndryshme, mund të përdorni mjetin për programuesit - ose).

Përpara se të jetë i nevojshëm ndonjë veprim, ndryshimet janë të pakthyeshme!

Më e thjeshta dhe mënyrë e përshtatshme transferimi i të dhënave nga 1C 8.3 në 1C 8.3 kontabiliteti 3.0 - duke përdorur përpunimin Ngarkimi dhe ngarkimi i të dhënave në formatin XML (shkarkimi - për 8.2 ose për 1C 8.3 ose në ITS). Përpunimi është universal dhe i përshtatshëm për çdo konfigurim.

Ne nuk do të hyjmë në detaje, do të shqyrtojmë udhëzime hap pas hapi mbi migrimin e të dhënave duke përdorur këtë përpunim në shembullin e transferimit më të thjeshtë të mallrave.

Eksportimi i të dhënave në XML

Para së gjithash, le të hapim përpunimin në bazën e të dhënave burimore (nga ku do të shkarkojmë mallrat) dhe të shikojmë ndërfaqen:

Merrni mësime video 267 1C falas:

Duhet të plotësoni menjëherë fushën "Emri i skedarit" - kjo rrugë do të krijohet skedar i ri të dhënat që do t'i ngarkojmë në bazën e të dhënave të marrësit. Pak më poshtë, në pjesën tabelare "Të dhënat për shkarkim", duhet të zgjidhni të dhënat që duam të shkarkojmë nga baza e të dhënave.

Pas zgjedhjes së një objekti nga seksioni i tabelës së majtë, mund të aplikoni një përzgjedhje në seksionin tabelor të djathtë:

Në shembullin tonë, unë dua të shkarkoj të gjitha produktet me emrin "Rake".

Pasi të plotësohen të gjitha cilësimet, të dhënat mund të ngarkohen. Për ta bërë këtë, klikoni në butonin "Ngarko të dhënat":

Ngarkimi i të dhënave nga xml në 1s 8.3

Të dhënat janë shkarkuar nga baza e të dhënave burimore, tani ato duhet të transferohen në bazën e të dhënave të destinacionit.

Për ta bërë këtë, duhet të filloni përpunimin tashmë në bazën e të dhënave në të cilën dëshironi të ngarkoni të dhënat dhe shkoni te skedari "Shkarko", zgjidhni skedarin e ngarkuar në disk dhe klikoni në butonin "Shkarko të dhënat":

Ky shembull është i përshtatshëm vetëm për transferimin e të dhënave midis konfigurimeve identike në platformën 1C. Për të kuptuar mekanizmin e shkëmbimeve, për programuesit, ne kemi shkruar një artikull -.

Në një organizatë, kontabiliteti mund të mbahet jo vetëm në zgjidhje të bazuara në platformën 1C: Enterprise, por edhe në sisteme të tjera softuerike (Galaktika, Parus, SAP, etj.). Në këtë rast shfaqen detyrat e integrimit të dy aplikacioneve.

Për shembull, disa aplikacione (le ta quajmë "X") duhet të lexojnë një listë të dokumenteve të konfigurimit. Ne nuk do të flasim për përfitimet praktike të zgjidhjes së një problemi të tillë, do të vërej vetëm se mënyra më e përshtatshme dhe universale në një situatë të tillë do të ishte ngarkimi i një liste dokumentesh në formatin XML.

Shkëmbimi duke përdorur këtë format është universal, pasi shumica e aplikacioneve mund të punojnë me të. Le të shqyrtojmë se si mund të ngarkoni një listë të dokumenteve të konfigurimit nga 1C: Enterprise në një skedar XML.

Eksporto në XML

Dhe kështu, le të kalojmë te gjëja kryesore. Duhet të përsërisim listën e meta të dhënave të dokumentit dhe të gjenerojmë listën në një skedar XML. Pamja e mëposhtme e ekranit tregon algoritmin për gjenerimin e një skedari XML:

Eksporto funksionin CreateXML(). // Merrni emrin e skedarit të përkohshëm Rruga = GetTemporaryFileName(); // Inicializoni klasën "WriterXML" Hyrja = New EntryXML; // Hapni një skedar të përkohshëm për shkrim- 8 " ) ; // Shkruani deklaratën e skedarit XML Regjistro. WriteDeclarationXML() ; // Shkruaj. WriteElementStart(" DocumentsConfigurations" ) ; // Elementi i parë // Atributi i elementit të parë me datën e krijimit të skedarit Regjistro. WriteAttribute(" krijuar " , Format(Data aktuale() , " DF = yyyy-MM- ddThh:mm:ss; DLF= DT" ) ) ; // Shkruani një element për çdo dokument konfigurimi. Ne vendosim emrin e dokumentit në tekst. Për çdo dokument të meta të dhënave. Regjistrimi i ciklit të dokumenteve. WriteItemStart("Dokument"); Regjistro. WriteText (Emri i Dokumentit) ; Regjistro. WriteEndElement() ; Cikli i Fundit ; // Përfundo shkrimin e elementit të parë Regjistro. WriteEndElement() ; Regjistro. Mbylle(); // Mbyll skedarin // Merrni të dhënat binare të skedarit dhe vendoseni në ruajtje të përkohshme BinaryData = New BinaryData(Rruga); Adresa = PlaceInTempStorage(Binary Data, New UniqueIdentifier); Adresa e Kthimit; // Ktheni adresën e skedarit në ruajtje Funksionet e Fundit

Çdo element i krijuar duhet të plotësohet saktë. Pas ekzekutimit të metodës "WriteStartElement()", duhet të ekzekutohet metoda "WriteEndElement", përndryshe struktura e skedarit XML do të jetë e gabuar.

Modeli i përgjithshëm për krijimin e skedarëve XML është sekuenca e mëposhtme:

// 1. Inicializoni klasën "XML Write". Hyrja = New EntryXML; // 2. Hapni një skedar të përkohshëm për shkrim Regjistro. OpenFile (Shtegu, "UTF - 8 " ) ; // 3. Shkruani deklaratën e skedarit XML Regjistro. WriteDeclarationXML() ; // // 4. ++ Shkruani përmbajtjen e skedarit XML Regjistro. WriteElementStart(" ElementXML"); Regjistro. WriteEndElement() ; // -- Shkruani përmbajtjen e skedarit XML // 5. Mbyllni skedarin Regjistro. Mbylle();

Këto pesë hapa krijojnë pothuajse çdo skedar XML.

Në shembullin tonë, skedari i krijuar konvertohet në të dhëna binare dhe kthehet në vendin ku është thirrur funksioni "CreateXML". Ky skedar më pas mund të shkruhet në sistemin e skedarëve.

Ju mund të shihni një shembull të skedarit të ngarkuar në pamjen e mësipërme.

Aplikim i Palës së Tretë

Për shembull, kam krijuar një aplikacion në .NET Framework për të demonstruar leximin e një skedari XML në një aplikacion të palës së tretë.

Programi lexon skedarin e krijuar dhe shfaq dokumentet në formën e një liste:

Mund ta provoni vetë, aplikacioni është i disponueshëm për shkarkim nga lidhja në fund të artikullit.

Shkathtësi

Formati XML përdoret në shumicën e konfigurimeve për shkëmbimin e të dhënave ndërmjet zgjidhjeve të aplikacioneve në platformën 1C:Enterprise. Një tjetër metodë komunikimi e përdorur zakonisht është lidhja COM. XML ju lejon të shkëmbeni pothuajse me çdo aplikacion, i cili meriton të quhet universal.

Shkarkimet:

Aplikacioni për lexuesin e skedarëve XML.

Përpunimi i formimit të një skedari XML.

Mënyrat e funksionimit

Përpunimi i UnloadingLoadingXML82Data zbaton 2 mënyra funksionimi: Shkarkimi (krijimi i një skedari shkarkimi të të dhënave të specifikuara nga përdoruesi) dhe Ngarkimi (leximi i një skedari shkarkimi të krijuar nga modaliteti me të njëjtin emër dhe shkrimi i të dhënave që përmbahen në të). Modaliteti vendoset duke zgjedhur në fushën Mode.

Përpara se të nisni një modalitet të caktuar (duke shtypur butonin Run), duhet të specifikoni emrin e skedarit të ngarkuar ose duke e futur manualisht në fushën "Emri i skedarit" ose duke përdorur butonin për zgjedhjen e kësaj fushe dhe dialogun standard të përzgjedhjes së skedarit.

Në modalitetin e shkarkimit, është e mundur të modifikoni përdorimin e totaleve kur shkruani regjistra, gjë që mund të ndikojë në shpejtësinë e shkarkimit. Butonat "Çaktivizo totalet" dhe "Aktivizo totalet" janë të disponueshëm kur është caktuar flamuri "Aktivizo aftësinë për të modifikuar përdorimin e totaleve gjatë ngarkimit të të dhënave" dhe përdoren për të kontrolluar manualisht mënyrën e përdorimit të totaleve gjatë ngarkimit të të dhënave. ** Përpunimi i kushteve të zbatueshmërisë **

Përpunimi mund të përdoret vetëm në rastet kur baza e informacionit në të cilën janë ngarkuar të dhënat dhe ajo në të cilën janë ngarkuar të dhënat janë homogjene (konfigurimet janë identike, të dhënat mund të ndryshojnë), ose të gjitha objektet e ngarkuara janë pothuajse plotësisht identike në përbërje dhe llojet e detajeve dhe pjesët tabelare, vetitë e objektit të meta të dhënave "udhëheqëse", etj. Duhet të theksohet se, për shkak të këtyre kufizimeve, përpunimi synohet kryesisht për shkëmbime ndërmjet IB-ve homogjene.

Formati i skedarit të ngarkimit ndryshon nga formati i skedarit të krijuar gjatë ngarkimit sipas planit të shkëmbimit nga pjesa e kokës. Për të shkarkuar të dhënat (elementet e librave të referencës, grupet e regjistrimeve të regjistrave, etj.), përpunimi përdor të njëjtin mekanizëm të serializimit XML si shkarkimi sipas planeve të shkëmbimit, në këtë pjesë formatet e skedarëve janë identikë.

Përcaktimi i përbërjes së shkarkimit

Përpunimi ju lejon të kryeni shkarkimin e plotë dhe të pjesshëm të të dhënave të bazës së informacionit në një skedar. Përbërja e të dhënave të ngarkuara konfigurohet në dialog duke vendosur kutitë e kontrollit në kolonën e pemës që shfaq objektet e meta të dhënave për të cilat mund të ngarkohen të dhënat. Një kolonë shtesë e flamurit, "Nëse është e nevojshme", përcakton nëse objektet duhet të shkarkohen të këtij lloji"lidhje". Kjo do të thotë, nëse kutia e kontrollit vendoset vetëm në kolonën "Nëse është e nevojshme", atëherë të dhënat për një objekt të tillë nuk do të ngarkohen plotësisht, por vetëm në masën e nevojshme për të ruajtur integritetin e referencës në bazën e informacionit që do të shkarkojë skedarin e ngarkimit.

Gjatë hapjes së formularit, përpunimi vendos shenjën e shkarkimit duke iu referuar të gjitha objekteve, gjë që garanton integriteti referues fragment i infobazës së shkarkuar.

Kur klikoni në butonin "Përcaktoni objektet e ngarkuara me lidhje", përpunimi analizon se cilat lidhje të dhënash mund të përmbahen në objektet që kanë grupin e flamurit të plotë të ngarkimit dhe automatikisht plotëson kolonën e flamurit që tregon nevojën për të ngarkuar me lidhje. Nëse objekti tashmë ka vendosur flamurin e plotë të shkarkimit, atëherë flamuri i shkarkimit sipas referencës nuk është vendosur.

Aplikacionet e mundshme

Përdorimi i këtij përpunimi është i mundur, për shembull, për të krijuar një të plotë ose të pjesshëm rezervë të dhëna, shkëmbim të dhënash ndërmjet infobazave, si dhe një mjet ndihmës për rikthimin e infobazave problematike.

Puna me dokumente XML është e disponueshme drejtpërdrejt nga gjuha e integruar e sistemit 1C:Enterprise 8.

Ekziston mundësia:

  • lexoni dhe shkruani në mënyrë të njëpasnjëshme dokumente xml:
    • konvertimi nga një varg që rrjedh nga teksti i elementit ose vlera e atributit XML në një vlerë sipas llojit të specifikuar;
    • merrni një paraqitje të vargut të një vlere për ta vendosur në tekstin e elementit ose vlerën e atributit XML;
    • merrni llojin e të dhënave XML që korrespondon me llojin e kaluar si parametër;
    • kontrolloni mundësinë e leximit nga XML të vlerës së llojit të specifikuar;
    • kryeni vërtetimin e skemës XML kur lexoni XML
    • shkruani vlerën në formatin XML;
    • ktheni një lloj që korrespondon me llojin e të dhënave XML.
  • përdorni modelin e aksesit të të dhënave të objektit të dokumenteve xml (DocumentDOM) që përputhet me standardet e mëposhtme:
    • DOM Niveli 2;
    • XPath (DOM Niveli 3);
    • Ngarkoni dhe ruani DOM (Niveli 3 i DOM).
  • përdorni modelin e objektit XML Schema (XML Schema);
  • përdorni standardin kanonik XML 1.1 (Canonical XML 1.1).

Duke përdorur një lidhje të jashtme dhe mekanizma për të punuar me XML, është e mundur të organizohet integrimi me sistemet e aplikacioneve sipas formateve të miratuara në këto sisteme. Për ta bërë këtë, përdoren mekanizmat e transformimit XSL. Për shembull, për një integrim të tillë, mund të përdorni serverin BizTalk të Microsoft:

infoset e shpejta

Platforma ofron mjete për të punuar me dokumente XML në formatin binar Fast Infoset. Teknologji e shpejtë Infoset përdor një sintaksë alternative për shfaqjen e të dhënave XML. Kjo rezulton në skedarë më të vegjël dhe përpunim më të shpejtë se të dhënat e shkruara në formatin normal XML. Një skedar i shkruar në formatin Fast Infoset ka ekstensionin .fi ose .finf.



Artikuj të ngjashëm: