Procesul de încărcare a datelor în xml. Generarea unui fișier XML. Încărcare ușoară pentru aplicație terță parte. Procesul de încărcare a datelor în xml Cum să încărcați un fișier xml în 1c

Când o întreprindere folosește în mod constant un fel de pachet de software în activitatea sa, atunci, în mod firesc, întotdeauna se pune problema suportului și administrării sale continue. Nu există nicio modalitate de a evita sarcinile de schimb, stocare și restaurare a datelor. Să ne uităm la cum să încărcați sau să descărcați date din 1C în format XML, deoarece aceasta este o procedură importantă pentru acest subiect.

Sunt construite în așa fel încât la descărcare să se poată obține un fișier XML în care vor fi înregistrate datele solicitate de client. În același timp, simultan cu înregistrarea, corectitudinea înregistrărilor transferate este monitorizată pentru erori critice.

Astfel, încărcarea într-un fișier XML (importarea înregistrărilor) dintr-o bază de informații și încărcarea ulterioară din XML în alta reprezintă un schimb de date în format XML între baze de date.

Această procedură, în special cu cantități mari de informații, economisește multă muncă manuală.

Import (fișierul rezultat) poate fi folosit și ca arhivă pentru recuperare în situații neașteptate (dacă este pierdut sau deteriorat).

Au fost dezvoltate o mulțime de astfel de instrumente de procesare și sunt disponibile pe Internet. Responsabilitatea pentru utilizarea lor cade pe umerii (și capul) clientului.

Dar pentru utilizatorii oficiali ai Odeneski, dezvoltatorii au creat un procesor universal „Upload/Load XML Data”.

IMPORTANT. Exportul în XML în 1C și încărcarea ulterioară în XML din 1C sunt acceptabile pentru configurații identice - altfel va fi deteriorat.

Manipulator universal

Puncte cheie pentru utilizarea dezvoltatorului universal:

  • Salvați fișierele de import până la finalizarea transferului înregistrărilor și verificarea corectitudinii acestora;
  • Când sunt utilizate ca copii de rezervă, o înregistrare a acestora trebuie păstrată pentru a sorta căutarea.

Funcționarea sa are două moduri: crearea unui fișier la salvarea informațiilor și citirea/scrierea acestuia la import.

În plus, utilizatorul poate seta restricții suplimentare atât la exportul, cât și la încărcarea datelor.

Extragerea înregistrărilor

Puteți încărca date atât în ​​întreaga bază de date, cât și selectiv - obiect cu obiect.

După descărcarea, instalarea și deschiderea handler-ului, se întâmplă următoarele:


Selectarea lor se face în caseta de dialog care se deschide după lansare. Pentru a face acest lucru, bifați casetele din lista care afișează obiectele de metadate de preluat;

  1. Filtrele necesare sunt configurate (de exemplu, după dată);
  2. Spațiul pe disc este selectat;
  3. Operația în sine începe.

Încărcarea înregistrărilor la receptor

Primul pas pentru a accepta date în baza de date care primește este deschiderea programului procesorului în ea.

După ce a fost specificată calea către fișierul sursă și au fost activate steaguri pentru setările procedurii (dacă este necesar), puteți începe procesul cu butonul „Încărcare date”.

Acum știți cum să încărcați sau să descărcați date din 1C în format XML pentru a salva date și a face schimb între bazele de date.

Transferul de date este un proces foarte important în orice sistem de contabilitate, platforma 1C 8.3 și 8.2 nu face excepție. Mai jos ne vom uita la instrucțiuni despre cel mai simplu mod de a transfera date de la un sistem la altul care are o configurație similară (pentru diferite configurații, puteți folosi un instrument pentru programatori - sau).

Înainte ca orice acțiune să fie necesară, modificările sunt ireversibile!

Cel mai simplu și mai convenabil mod de a transfera date de la 1C 8.3 la 1C 8.3 Accounting 3.0 este să utilizați procesarea Încărcare și încărcare date în format XML (descărcare - pentru 8.2 sau pentru 1C 8.3 sau pe ITS). Tratamentul este universal si potrivit pentru orice configuratie.

Nu vom intra în detalii; să vedem instrucțiunile pas cu pas pentru migrarea datelor folosind această prelucrare, folosind exemplul celui mai simplu transfer de mărfuri.

Încărcarea datelor în XML

În primul rând, să deschidem procesarea în baza de date sursă (de unde vom descărca mărfurile) și să ne uităm la interfață:

Obțineți 267 de lecții video pe 1C gratuit:

Trebuie să completați imediat câmpul „Nume fișier” - pe această cale va fi creat un nou fișier de date, pe care îl vom încărca în baza de date a receptorului. Chiar mai jos, în secțiunea tabelară „Date pentru încărcare”, trebuie să selectați datele pe care dorim să le încărcăm din baza de date.

După ce selectați un obiect din partea din stânga a tabelului, puteți aplica selecția în partea din dreapta a tabelului:

În exemplul nostru, vreau să descarc toate produsele cu numele „Rake”.

Odată ce toate setările au fost finalizate, datele pot fi încărcate. Pentru a face acest lucru, faceți clic pe butonul „Încărcați date”:

Încărcarea datelor din xml în 1s 8.3

Datele au fost descărcate din baza de date sursă acum trebuie să fie transferate în baza de date de destinație.

Pentru a face acest lucru, trebuie să începeți procesarea deja în baza de date în care trebuie să încărcați datele și să mergeți la fila „Descărcare”, selectați fișierul descărcat pe disc și faceți clic pe butonul „Încărcare date”:

Acest exemplu este potrivit doar pentru transferul de date între configurații identice pe platforma 1C. Pentru a înțelege mecanismul de schimb pentru programatori, am scris un articol -.

Moduri de operare

Procesarea UploadLoadDataXML82 implementează 2 moduri de operare: Upload (crearea unui fișier de încărcare cu date specificate de utilizator) și Load (citirea unui fișier de încărcare creat de modul cu același nume și scrierea datelor conținute în acesta). Modul este setat selectându-l în câmpul Mod.

Înainte de a începe un anumit mod (făcând clic pe butonul Run), trebuie să specificați numele fișierului de încărcare, fie introducându-l manual în câmpul „Nume fișier”, fie folosind butonul pentru a selecta acest câmp și dialogul standard de selecție a fișierului .

În modul de descărcare, este posibil să editați utilizarea totalurilor la scrierea registrelor, ceea ce poate afecta viteza de descărcare. Butoanele „Dezactivați totalurile” și „Activați totalurile” sunt disponibile când este setat indicatorul „Activați capacitatea de a edita utilizarea totalurilor în timpul încărcării datelor” și sunt utilizate pentru a controla manual modul de utilizare a totalurilor la încărcarea datelor. ** Condiții de aplicabilitate a prelucrării**

Prelucrarea poate fi utilizată numai în cazurile în care baza de informații în care au fost încărcate datele și cea în care au fost încărcate datele sunt omogene (configurațiile sunt identice, datele pot diferi), sau toate obiectele încărcate sunt aproape complet identice în compoziția și tipurile de detalii și părți tabulare, proprietățile obiectului de metadate „conducător” etc. Trebuie remarcat faptul că, datorită acestor limitări, prelucrarea este destinată în principal schimbului între IS omogene.

Formatul fișierului de încărcare diferă de formatul de fișier creat la încărcare conform unui plan de schimb din partea antet. Pentru a încărca date (elemente de director, seturi de înregistrări etc.), procesarea folosește același mecanism de serializare XML ca și încărcarea conform planurilor de schimb în această parte, formatele de fișiere sunt identice;

Determinarea compozitiei descarcarii

Procesarea permite încărcarea completă și parțială a datelor bazei de informații într-un fișier. Compoziția datelor încărcate este configurată în dialog prin bifarea casetelor din coloana arborelui care afișează obiectele metadate pentru care se pot încărca date. O coloană suplimentară de casete de selectare, „Dacă este necesar”, stabilește necesitatea de a descărca obiecte de acest tip „prin referință”. Adică, dacă caseta de selectare este bifată doar în coloana „Dacă este necesar”, atunci datele pentru un astfel de obiect nu vor fi descărcate complet, ci doar în măsura în care este necesar pentru a menține integritatea referențială în baza de informații care va încărca descărcarea. fişier.

La deschiderea unui formular, procesarea stabilește semnul descărcarii prin referire la toate obiectele, ceea ce garantează integritatea referențială a fragmentului descărcat al bazei de informații.

Când faceți clic pe butonul „Detectați obiecte descărcate prin link”, procesarea analizează ce legături de date pot fi conținute în obiectele care au setat steag-ul complet de descărcare și completează automat coloana de steaguri indicând necesitatea descărcarii prin link. Dacă obiectul are deja setat indicatorul de descărcare completă, atunci indicatorul de descărcare prin referință nu este setat.

Aplicații posibile

Utilizarea acestei prelucrări este posibilă, de exemplu, pentru a crea o copie de rezervă completă sau parțială a datelor, pentru a face schimb de date între bazele de informații și, de asemenea, ca instrument auxiliar la restaurarea bazelor de informații problematice.

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

Procesarea universală „Încărcarea și încărcarea datelor XML” realizează descărcarea totală sau parțială a datelor din baza de date într-un fișier în format XML. Ulterior, acest fișier poate fi încărcat în baza de informații folosind aceeași procesare. Formatul fișierului de încărcare diferă de formatul de fișier creat la încărcare conform unui plan de schimb din partea antet.

Prelucrarea poate fi utilizată numai în cazurile în care baza de informații în care au fost încărcate datele și cea în care au fost încărcate datele sunt omogene (configurațiile sunt identice, datele pot diferi), sau toate obiectele încărcate sunt aproape complet identice în compoziția și tipurile de detalii și părți de tabel, proprietățile obiectului de metadate „conducător” și așa mai departe.

Utilizarea acestei prelucrări este posibilă, de exemplu, pentru a crea o copie de rezervă completă sau parțială a datelor, pentru a face schimb de date între bazele de informații și, de asemenea, ca instrument auxiliar la restaurarea bazelor de date defecte.

Procesarea acceptă încărcarea datelor cu posibilitatea de a specifica selecția după perioadă. De asemenea, este implementată verificarea obiectelor pentru prezența caracterelor invalide atunci când sunt schimbate prin XML.

Cu stimă, (profesor și dezvoltator).

- pagini web binecunoscute, care sunt, de asemenea, un analog al XML-ului cu verificări slabe.

XML Reader/Writer Objects, FastInfoset, HTML extind capabilitățile de citire a fișierelor text cu procesarea încorporată a etichetelor de marcare.

Ele sunt, de asemenea, utilizate pentru obiectele DOMBuilder/DOMRecord (vezi mai jos) ca surse de date.

Fișierele XML 1C conțin informații text, adică sunt fișiere text. Obiectele 1C XML Reader și 1C Write XML sunt un „supliment” care facilitează lucrul cu etichete XML într-un fișier 1C.

Obiectele ReadingFastInfoset 1C și WritingFastInfoset 1C, ReadingHTML 1C și WritingHTML 1C sunt complet similare cu ReadingXML 1C și WritingXML 1C și servesc pentru a funcționa în același mod cu alte formate.

Fișier XML 1C folosit în exemple

Director>

Director>

Text valueProps>
Director>
Configurare>

Exemplul 1. Citirea unui fișier XML 1C într-un arbore de valori folosind Reading XML 1C

//deschideți fișierul XML 1C pentru citire folosind ReadingXML 1C
Fișier = New ReadXML();
File.OpenFile("D:\ConfigurationStructure.xml");

//pregătește arborele de valori
//fiecare ramură XML poate avea un nume, atribute și valoare
dzXML = NewValueTree();
dzXML.Columns.Add(„Nume”);
dzXML.Columns.Add(„Valoare”);
dzXML.Columns.Add(„Atribute”);

//deoarece un șir XML poate avea mai multe atribute, le vom scrie în tabelul cu valori
//fiecare atribut are un nume și o valoare
tAttribute = New ValueTable();
tAttributes.Columns.Add(„Nume”);
tAttribute.Columns.Add(„Valoare”);

//nivelul de imbricare ne va ajuta să înțelegem când trebuie să adăugăm o ramură imbricată și când trebuie să urcăm un nivel
Nesting Level = 0;
//linia curentă este o linie arborescentă, se va schimba pe măsură ce cuibărirea crește
CurrentRow = Nedefinit;
//citirea fișierului XML 1C nu se face linie cu linie, ci conform structurii când fișierul se termină, citirea va returna FALSE;
While File.Read() Loop

//ne interesează trei tipuri de noduri - începutul elementului, textul (valoarea elementului) și sfârșitul elementului (pentru a reveni la nivelul superior)
Dacă File.NodeType = XMLNodeType.ElementStart Atunci

Nivel de cuib = Nivel de cuib + 1;

//dacă aceasta este prima linie, apoi adăugați-o chiar în vârful arborelui și salvați doar numele
Dacă CurrentRow = Nedefinit, atunci
CurrentRow = dXML.Rows.Add();
CurrentLine.Name = File.Name;
Continua;
In caz contrar
//linii imbricate
CurrentRow = CurrentRow.Rows.Add();
CurrentLine.Name = File.Name; //salvează numele

// acest element XML are atribute?
Dacă File.NumberAttributes() > 0 Atunci
//dacă da, copiați tabelul gol pregătit pentru a salva atributele
tAttributesNode = tAttributes.Copy();
// parcurge numărul de atribute ale acestui element
Pentru cont = 0 după fișier.Număr de atribute()-1 Ciclu
//pentru fiecare atribut, amintiți-vă numele și valoarea
Rând = tNodeAttributes.Add();
Line.Name = File.AttributeName(Sch);
Row.Value = File.AttributeValue(Ac);
EndCycle;
//salvează tabelul de atribute al elementului pe linia curentă
CurrentRow.Attributes = tNodeAttributes;
endIf;
endIf;

ElseIf File.NodeType = XMLNodeType.EndElement Apoi
//la începutul elementului creștem nivelul de imbricare, la sfârșitul elementului îl micșorăm
Nesting Level = Nesting Level - 1;
//readuce linia curentă cu un nivel în sus
CurrentRow = CurrentRow.Parent;

ElseIf File.NodeType = XMLNodeType.Text Atunci
//dacă elementul are o valoare, salvați-o
CurrentRow.Value = File.Value;

endIf;

EndCycle;

File.Close();

Exemplul 2. Înregistrarea unui fișier XML 1C utilizând obiectul 1C Record XML

//creați un fișier Record XML 1C
Fișier = NewXMLRecord();
File.OpenFile("D:\ConfigurationStructure.xml", "UTF-8");
File.WriteElementStart("Configurare");

//utilizați metadate pentru a parcurge toate directoarele (pentru mai multe detalii, consultați „Lucrul cu metadate”)
Pentru fiecare Director din Metadate.Ciclul Directoarelor

//WriteStartofElement - deschide o nouă ramură [subordonată].
File.WriteElementStart("Director");
//WriteAttribute - scrie un atribut într-o ramură deschisă anterior
File.WriteAttribute("Nume", Director.Nume);
File.WriteAttribute("Synonym", Directory.Synonym);

//folosind metadate, parcurgem toate detaliile directorului
Pentru fiecare Props din Directory.Props Cycle




EndCycle;

//folosește metadate pentru a parcurge toate părțile tabulare ale directorului
Pentru fiecare PM din Directorul Părți tabelare ale ciclului
File.WriteElementStart("TabularPart");
File.WriteAttribute("Nume", PM.Nume);
File.WriteAttribute("Synonym", PM.Synonym);

Pentru fiecare Props din PM.Props Cycle
File.WriteElementStart("Recuzită");
File.WriteAttribute("Nume", Atribute.Nume);
File.WriteAttribute("Sinonim", Atribute.Synonym);
File.WriteEndElement();
EndCycle;

File.WriteEndElement();
EndCycle;

//WriteEndElement - „închide” ramura deschisă anterior folosind WriteBeginElement
File.WriteEndElement();
EndCycle;

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