Proces učitavanja podataka u xml. Generisanje XML datoteke. Jednostavno učitavanje za aplikacije treće strane. Proces učitavanja podataka u xml Kako učitati xml datoteku u 1c

Kada preduzeće stalno koristi neku vrstu softverskog paketa u svom radu, onda se, naravno, uvek postavlja pitanje njegove stalne podrške i administracije. Ne postoji način da izbjegnete zadatke razmjene, pohranjivanja i vraćanja podataka. Pogledajmo kako učitati ili izbaciti podatke iz 1C u XML formatu, jer je ovo važan postupak za ovu temu.

Izgrađeni su na način da prilikom upload-a možete dobiti XML datoteku u kojoj će biti zabilježeni podaci potrebni klijentu. Istovremeno, istovremeno sa snimanjem, prati se ispravnost prenesenih zapisa za kritične greške.

Dakle, učitavanje u XML datoteku (uvoz zapisa) iz jedne baze podataka i naknadno učitavanje iz XML-a u drugu predstavlja razmjenu podataka u XML formatu između baza podataka.

Ovaj postupak, posebno kod velikih količina informacija, štedi mnogo ručnog rada.

Import (rezultirajuća datoteka) se također može koristiti kao arhiva za oporavak u neočekivanim situacijama (ako je izgubljena ili oštećena).

Razvijeno je mnogo takvih alata za obradu, koji su dostupni na Internetu. Odgovornost za njihovu upotrebu pada na ramena (i glavu) klijenta.

Ali za zvanične korisnike Odeneskog, programeri su kreirali univerzalni procesor "Upload/Load XML Data".

BITAN. Izvoz u XML u 1C i dalje učitavanje u XML iz 1C prihvatljivo je za identične konfiguracije - inače će biti oštećeno.

Univerzalni rukovalac

Ključne točke za korištenje univerzalnog programera:

  • Sačuvajte datoteke za uvoz dok se ne završi prijenos zapisa i provjeri njihova ispravnost;
  • Kada se koriste kao rezervne kopije, potrebno je voditi evidenciju o njima radi sortiranja pretrage.

Njegov rad ima dva načina: kreiranje datoteke prilikom pohranjivanja informacija i čitanje/zapisivanje prilikom uvoza.

Osim toga, korisnik može postaviti dodatna ograničenja kako prilikom izvoza tako i prilikom učitavanja podataka.

Ekstrahiranje zapisa

Možete uploadati podatke kako kroz cijelu bazu podataka tako i selektivno - objekt po objekt.

Nakon preuzimanja, instaliranja i otvaranja rukovatelja, događa se sljedeće:


Njihov izbor se vrši u dijaloškom okviru koji se otvara nakon pokretanja. Da biste to učinili, potvrdite okvire na listi koja prikazuje objekte metapodataka koje treba preuzeti;

  1. Potrebni filteri su konfigurisani (na primjer, po datumu);
  2. Odabran je prostor na disku;
  3. Sama operacija počinje.

Učitavanje zapisa na prijemnik

Prvi korak za prihvatanje podataka u prijemnu bazu podataka je otvaranje programa procesora u njoj.

Nakon što se odredi putanja do izvorne datoteke i aktiviraju zastavice postavki procedure (ako je potrebno), možete započeti proces s tipkom „Učitaj podatke“.

Sada znate kako učitati ili izbaciti podatke iz 1C u XML formatu za spremanje podataka i razmjenu između baza podataka.

Prijenos podataka je vrlo važan proces u svakom računovodstvenom sistemu, platforma 1C 8.3 i 8.2 nije izuzetak. U nastavku ćemo pogledati upute o najlakšem načinu prijenosa podataka s jednog sistema na drugi koji ima sličnu konfiguraciju (za različite konfiguracije možete koristiti alat za programere - ili).

Prije nego što je potrebna bilo kakva akcija, promjene su nepovratne!

Najlakši i najpogodniji način za prijenos podataka iz 1C 8.3 u 1C 8.3 Accounting 3.0 je korištenje obrade Upload i load podataka u XML formatu (preuzimanje - za 8.2 ili za 1C 8.3 ili na ITS). Tretman je univerzalan i pogodan za bilo koju konfiguraciju.

Nećemo ulaziti u detalje; pogledajmo korak po korak upute za migraciju podataka pomoću ove obrade na primjeru najjednostavnijeg prijenosa robe.

Prijenos podataka u XML

Prije svega, otvorimo obradu u izvornoj bazi podataka (odakle ćemo istovariti robu) i pogledajmo sučelje:

Nabavite 267 video lekcija na 1C besplatno:

Morate odmah popuniti polje "Ime datoteke" - na ovoj stazi će se kreirati nova datoteka podataka koju ćemo učitati u bazu podataka prijemnika. Neposredno ispod, u tabelarnoj sekciji „Podaci za upload“, potrebno je da izaberete podatke koje želimo da prenesemo iz baze podataka.

Nakon odabira objekta iz lijevog dijela tabele, možete primijeniti selekciju u desnom dijelu tablice:

U našem primjeru, želim da istovarim sve proizvode pod nazivom “Rake”.

Nakon što su sva podešavanja završena, podaci se mogu učitati. Da biste to učinili, kliknite na dugme "Učitaj podatke":

Učitavanje podataka iz xml-a u 1s 8.3

Podaci su uklonjeni iz izvorne baze podataka, sada ih treba prenijeti u odredišnu bazu podataka.

Da biste to učinili, morate započeti obradu već u bazi podataka u koju trebate učitati podatke i otići na karticu "Preuzimanje", odabrati preuzetu datoteku na disku i kliknuti na dugme "Učitaj podatke":

Ovaj primjer je prikladan samo za prijenos podataka između identičnih konfiguracija na 1C platformi. Da bismo razumjeli mehanizam razmjene za programere, napisali smo članak -.

Načini rada

Obrada UploadLoadDataXML82 implementira 2 načina rada: Upload (kreiranje datoteke za učitavanje korisnički specificiranih podataka) i Load (čitanje datoteke za učitavanje kreirane u istoimenom režimu i upisivanje podataka sadržanih u njoj). Režim se postavlja odabirom u polju Mode.

Prije pokretanja određenog načina rada (klikom na dugme Pokreni), potrebno je da navedete naziv datoteke za otpremanje, bilo da ga unesete ručno u polje „Naziv datoteke“ ili pomoću dugmeta za odabir ovog polja i standardnog dijaloga za odabir datoteke .

U režimu preuzimanja moguće je urediti upotrebu zbroja prilikom pisanja registara, što može uticati na brzinu preuzimanja. Dugmad “Onemogući zbrojeve” i “Omogući zbrojeve” dostupna su kada je postavljena zastavica “Omogući mogućnost uređivanja upotrebe zbrojeva prilikom učitavanja podataka” i koriste se za ručnu kontrolu načina korištenja ukupnih vrijednosti prilikom učitavanja podataka. **Uvjeti primjenjivosti obrade**

Obrada se može koristiti samo u slučajevima kada su baza podataka u koju su podaci učitani i ona u koju su podaci učitani homogeni (konfiguracije su identične, podaci se mogu razlikovati), ili su svi učitani objekti gotovo potpuno identični u sastav i vrste detalja i tabelarnih delova, svojstva „vodećeg” metapodatka objekta itd. Treba napomenuti da je, zbog ovih ograničenja, obrada uglavnom namijenjena razmjeni između homogenih IS.

Format datoteke za otpremanje razlikuje se od formata datoteke kreiranog prilikom upload-a prema planu razmjene u dijelu zaglavlja. Za učitavanje podataka (elementi direktorijuma, skupovi registarskih zapisa, itd.), obrada koristi isti mehanizam XML serijalizacije kao i otpremanje prema planovima razmene; u ovom delu formati datoteka su identični.

Određivanje sastava istovara

Obrada omogućava potpuno i djelomično učitavanje podataka baze podataka u datoteku. Sastav prenesenih podataka konfiguriše se u dijalogu tako što se označavaju kvadratiće u koloni stabla koje prikazuje objekte metapodataka za koje se podaci mogu učitati. Dodatna kolona potvrdnih okvira, "Ako je potrebno", postavlja potrebu za istovarom objekata ovog tipa "po referenci". Odnosno, ako je potvrdni okvir označen samo u stupcu “Ako je potrebno”, tada se podaci za takav objekt neće preuzimati u potpunosti, već samo u mjeri koja je neophodna za održavanje referentnog integriteta u infobazi koja će učitati preuzimanje fajl.

Prilikom otvaranja obrasca obrada postavlja predznak istovara referencom na sve objekte, što garantuje referentni integritet neučitanog fragmenta baze podataka.

Kada kliknete na dugme „Otkrij objekte preuzete putem veze“, obrada analizira koje veze podataka mogu biti sadržane u objektima koji imaju postavljenu oznaku za preuzimanje i automatski popunjava kolonu zastavica koja ukazuje na potrebu preuzimanja putem veze. Ako objekt već ima postavljenu zastavicu potpunog istovarivanja, tada nije postavljena zastavica za istovar prema referenci.

Moguće primjene

Korištenje ove obrade moguće je, na primjer, za kreiranje potpune ili djelomične sigurnosne kopije podataka, razmjenu podataka između informacionih baza, ali i kao pomoćni alat pri obnavljanju problematičnih informacionih baza.

2018-11-15T19:32:35+00:00

Univerzalna obrada "Učitavanje i učitavanje XML podataka" vrši potpuno ili djelomično istovar podataka infobaze u datoteku u XML formatu. Nakon toga, ovaj fajl se može učitati u infobazu koristeći istu obradu. Format datoteke za otpremanje razlikuje se od formata datoteke kreiranog prilikom upload-a prema planu razmjene u dijelu zaglavlja.

Obrada se može koristiti samo u slučajevima kada su baza podataka u koju su podaci učitani i ona u koju su podaci učitani homogeni (konfiguracije su identične, podaci se mogu razlikovati), ili su svi učitani objekti gotovo potpuno identični u sastav i vrste detalja i delova tabele, svojstva „vodećeg” objekta metapodataka, itd.

Korištenje ove obrade moguće je, na primjer, za kreiranje potpune ili djelomične sigurnosne kopije podataka, razmjenu podataka između infobaza, ali i kao pomoćni alat pri vraćanju neispravnih infobaza.

Obrada podržava upload podataka sa mogućnošću specificiranja odabira po periodu. Također je implementirana provjera objekata na prisustvo nevažećih znakova kada se razmjenjuju putem XML-a.

S poštovanjem, (nastavnik i programer).

- dobro poznate web stranice, koje su također analog XML-a sa slabim provjerama.

XML Reader/Writer Objects, FastInfoset, HTML proširuju mogućnosti čitanja tekstualnih datoteka sa ugrađenom obradom oznaka za označavanje.

Koriste se i za objekte DOMBuilder/DOMRecord (vidi dolje) kao izvori podataka.

XML 1C datoteke sadrže tekstualne informacije, odnosno tekstualne su datoteke. 1C XML Reader i 1C Write XML objekti su "dodatak" koji olakšava rad sa XML oznakama u 1C datoteci.

Objekti ReadingFastInfoset 1C i WritingFastInfoset 1C, ReadingHTML 1C i WritingHTML 1C potpuno su slični ReadingXML 1C i WritingXML 1C i služe za rad na isti način sa drugim formatima.

XML 1C datoteka korištena u primjerima

Imenik>

Imenik>

Vrijednost tekstaProps>
Imenik>
Konfiguracija>

Primjer 1. Čitanje 1C XML datoteke u stablo vrijednosti korištenjem Reading XML 1C

//otvorite XML 1C datoteku za čitanje koristeći ReadingXML 1C
Fajl = Novi ReadXML();
File.OpenFile("D:\ConfigurationStructure.xml");

//pripremimo stablo vrijednosti
//svaka XML grana može imati ime, atribute i vrijednost
dzXML = NewValueTree();
dzXML.Columns.Add("Name");
dzXML.Columns.Add("Vrijednost");
dzXML.Columns.Add("Atributi");

//Budući da XML niz može imati nekoliko atributa, upisaćemo ih u tablicu vrijednosti
//svaki atribut ima ime i vrijednost
tAtributi = Nova tabela vrijednosti();
tAttributes.Columns.Add("Ime");
tAttributes.Columns.Add("Vrijednost");

// nivo ugniježđenja će nam pomoći da shvatimo kada trebamo dodati ugniježđenu granu, a kada se trebamo vratiti na nivo gore
Nivo gniježđenja = 0;
//trenutna linija je linija stabla, mijenjat će se kako se ugniježđenje povećava
CurrentRow = Nedefinirano;
//čitanje XML 1C datoteke se ne vrši red po red, već prema strukturi; kada se datoteka završi, čitanje će vratiti FALSE
Dok File.Read() petlja

//zanimaju nas tri vrste čvorova - početak elementa, tekst (vrijednost elementa) i kraj elementa (za povratak na gornji nivo)
Ako je File.NodeType = XMLNodeType.ElementStart Onda

Nivo gniježđenja = Nivo ugniježđenja + 1;

//ako je ovo prvi red, onda ga dodajte na sam vrh stabla i sačuvajte samo ime
Ako je CurrentRow = Undefined Then
CurrentRow = dXML.Rows.Add();
CurrentLine.Name = File.Name;
Nastavi;
Inače
//ugniježđene linije
CurrentRow = CurrentRow.Rows.Add();
CurrentLine.Name = File.Name; //sačuvamo ime

//da li ovaj XML element ima atribute?
Ako je File.NumberAttributes() > 0 Onda
//ako da, kopirajte pripremljenu praznu tabelu da sačuvate atribute
tAttributesNode = tAttributes.Copy();
//prolazimo kroz broj atributa ovog elementa
Za račun = 0 prema File.Broj atributa()-1 ciklus
//za svaki atribut zapamtite ime i vrijednost
Red = tNodeAttributes.Add();
Line.Name = File.AttributeName(Sch);
Row.Value = File.AttributeValue(Ac);
EndCycle;
//sačuvamo tabelu atributa elementa u trenutnu liniju
CurrentRow.Attributes = tNodeAttributes;
endIf;
endIf;

ElseIf File.NodeType = XMLNodeType.EndElement Onda
//na početku elementa povećavamo nivo ugniježđenja, na kraju elementa ga smanjujemo
Nivo ugniježđenja = Nivo ugniježđenja - 1;
//vraćamo trenutnu liniju jedan nivo gore
CurrentRow = CurrentRow.Parent;

ElseIf File.NodeType = XMLNodeType.Text Tada
//ako element ima vrijednost, samo ga sačuvajte
CurrentRow.Value = File.Value;

endIf;

EndCycle;

File.Close();

Primjer 2. Snimanje 1C XML datoteke korištenjem 1C Record XML objekta

//kreirajte datoteku Zapis XML 1C
Fajl = NewWriteXML();
File.OpenFile("D:\ConfigurationStructure.xml", "UTF-8");
File.WriteElementStart("Konfiguracija");

//koristite metapodatke za prelazak svih direktorija (za više detalja pogledajte "Rad s metapodacima")
Za svaki direktorij iz ciklusa Metadata.Directories

//WriteStartofElement - otvara novu [podređenu] granu
File.WriteElementStart("Direktorijum");
//WriteAttribute - upisuje atribut u prethodno otvorenu granu
File.WriteAttribute("Ime", Directory.Name);
File.WriteAttribute("Sinonim", Direktorij.Sinonim);

//koristeći metapodatke prolazimo kroz sve detalje direktorija
Za svaki rekvizit iz ciklusa Directory.Props




EndCycle;

//koristimo metapodatke za prelazak svih tabličnih dijelova direktorija
Za svaki PM iz Imenika.Tabelarni dijelovi ciklusa
File.WriteElementStart("TabularPart");
File.WriteAttribute("Ime", PM.Name);
File.WriteAttribute("Sinonim", PM.Sinonim);

Za svaki rekvizit iz ciklusa PM.Props
File.WriteElementStart("Props");
File.WriteAttribute("Ime", Attributes.Name);
File.WriteAttribute("Sinonim", Atributi.Sinonim);
File.WriteEndElement();
EndCycle;

File.WriteEndElement();
EndCycle;

//WriteEndElement - “zatvara” granu koja je prethodno otvorena pomoću WriteBeginElement
File.WriteEndElement();
EndCycle;

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