Reguli de transfer de date 1s. Un exemplu de regulă de conversie a obiectelor. Opțiuni de cumpărare prin transfer de date

Migrarea datelor între diferite configurații nu este o sarcină banală. Ca întotdeauna, există mai multe soluții, dar nu toate sunt optime. Să încercăm să înțelegem nuanțele transferului de date și să alegem o strategie universală pentru rezolvarea unor astfel de probleme.

Problema migrării datelor (este vorba doar despre produsele companiei 1C) de la o soluție la alta nu a apărut ieri. Compania 1C este bine conștientă de dificultățile cu care se confruntă dezvoltatorii atunci când creează migrații, așa că face tot posibilul să ajute cu instrumente.

În timpul dezvoltării platformei, compania a introdus o serie de instrumente universale, precum și tehnologii care simplifică transferul de date. Sunt încorporate în toate soluțiile standard și problema migrărilor între configurații identice a fost în general rezolvată. Victoria este confirmată încă o dată de integrarea strânsă a soluțiilor standard.

Odată cu migrațiile între soluții non-standard, situația este ceva mai complicată. O gamă largă de tehnologii le permite dezvoltatorilor să aleagă în mod independent cea mai bună modalitate de a rezolva o problemă din punctul lor de vedere.

Să luăm în considerare câteva dintre ele:

  • schimb prin fișiere text;
  • utilizarea planurilor de schimb;
  • etc.

Fiecare dintre ele are avantajele și dezavantajele sale. Pentru a rezuma, principalul dezavantaj va fi verbozitatea. Implementarea independentă a algoritmilor de migrare este plină de costuri semnificative de timp, precum și de un proces lung de depanare. Nici măcar nu vreau să vorbesc despre sprijinul suplimentar al unor astfel de decizii.

Complexitatea și costul ridicat de întreținere au determinat compania 1C să creeze o soluție universală. Tehnologie care vă permite să simplificați cât mai mult posibil dezvoltarea și suportul migrațiilor. Drept urmare, ideea a fost implementată sub forma unei configurații separate - „Conversia datelor”.

Conversia datelor - soluție standard, auto-configurare. Orice utilizator cu un abonament ITS:Prof poate descărca acest pachet complet gratuit de pe site-ul de asistență pentru utilizatori sau de pe discul ITS. Instalarea se realizează într-un mod standard - ca toate celelalte soluții standard de la 1C.

Acum puțin despre avantajele soluției. Să începem cu cel mai important - versatilitatea. Soluția nu este adaptată anumitor configurații/versiuni ale platformei. Funcționează la fel de bine atât cu configurațiile standard, cât și cu cele scrise singur. Dezvoltatorii obțin o tehnologie universală și o abordare standardizată pentru crearea de noi migrații. Versatilitatea soluției vă permite să pregătiți migrații chiar și pentru alte platforme decât 1C:Enterprise.

Al doilea plus îndrăzneț este ajutoarele vizuale. Migrațiile simple sunt create fără programare. Da, da, fără o singură linie de cod! Numai pentru aceasta, merită să petreceți timpul învățând tehnologia o dată, apoi să folosiți abilitățile neprețuite în mod repetat.

Al treilea avantaj pe care l-aș remarca este absența restricțiilor privind distribuția datelor. Dezvoltatorul însuși alege metoda de livrare a datelor către configurația receptorului. Două opțiuni sunt disponibile imediat: încărcarea într-un fișier xml și conexiune directă la baza de informații (COM/OLE).

Învățarea arhitecturii

Știm deja că conversia datelor poate face minuni, dar nu este încă clar care sunt avantajele tehnice. Primul lucru de învățat este că orice migrare (conversie) a datelor se bazează pe reguli de schimb. Reguli de schimb - un fișier xml obișnuit cu o descriere a structurii în care vor fi încărcate datele din IB. Serviciul de prelucrare care realizează încărcarea/descărcarea datelor analizează regulile de schimb și realizează încărcarea pe baza acestora. În timpul descărcării, are loc procesul invers.

Configurația „KD” este un fel de constructor vizual cu ajutorul căruia dezvoltatorul creează reguli de schimb. Nu știe cum să încarce date. Procesarea suplimentară a serviciilor externe inclusă în kitul de distribuție CD este responsabilă pentru aceasta. Există mai multe dintre ele (XX în numele fișierului este numărul versiunii platformei):

  • MDXXExp.epf- procesarea vă permite să încărcați o descriere a structurii bazei de informații într-un fișier xml. Descrierea structurii este încărcată în CD pentru o analiză ulterioară și crearea regulilor de schimb.
  • V8ExchanXX.epf- incarca/descarca date din infobaza in conformitate cu regulile de schimb. În majoritatea configurațiilor tipice, procesarea este disponibilă imediat (consultați elementul de meniu „Service”). Procesarea este universală și nu este legată de anumite configurații/reguli.

Bine, acum, pe baza tuturor celor de mai sus, să definim etapele dezvoltării unei noi conversii:

  1. Definirea sarcinii. Este necesar să înțelegeți clar ce date trebuie transferate (din ce obiecte de configurare) și, cel mai important, unde să transferați.
  2. Pregătirea unei descrieri a structurilor de configurare (Sursă/Receiver) pentru încărcarea ulterioară în CD. Sarcina este rezolvată prin procesarea serviciului MDXXExp.epf.
  3. Încărcarea descrierilor pregătite ale structurilor în IS.
  4. Crearea regulilor de schimb folosind mijloace vizuale de CD.
  5. Încărcarea/descărcarea conform regulilor create de conversie a datelor utilizând procesarea V8ExchanXX.epf.
  6. Reguli de schimb de depanare (dacă este necesar).

Cea mai simplă conversie

Pentru demonstrație, avem nevoie de două configurații implementate. Am decis să mă opresc la opțiunea: „Trade Management” ediția a 10-a și o mică soluție auto-scrisă. Sarcina va fi transferarea datelor de la configurație tipică„UT”. Pentru concizie, vom numi soluția auto-scrisă „Destinator”, iar managementul comerțului „Sursă”. Să începem să rezolvăm problema transferând elementele directorului „Nomenclatură”.

În primul rând, să aruncăm o privire asupra schemei de conversie a datelor și să recitim lista de acțiuni care trebuie făcute. Apoi lansăm configurația „Sursă” și deschidem serviciul de procesare MD82Exp.epf în ea.

Interfața de procesare nu strălucește cu o mulțime de setări. Utilizatorul trebuie doar să specifice tipurile de obiecte de metadate care nu vor intra în descrierea structurii. În cele mai multe cazuri, aceste setări nu trebuie modificate, deoarece nu are rost în special în descărcarea mișcărilor din registrele de acumulare (de exemplu).

Este mai corect să se formeze mișcarea în timpul deținerii documentelor în receptor. Toate mișcările vor fi efectuate chiar de document după transfer. Al doilea argument în apărarea setărilor implicite este reducerea dimensiunii fișierului încărcat.

Unele documente (mai ales în configurațiile tipice) formează mișcări în registre multiple. Descărcarea toată această economie va face fișierul XML rezultat prea mare. Acest lucru poate face dificilă transportul și încărcarea ulterioară în baza receptorului. Cu cât fișierul de date este mai mare, cu atât mai mult memorie cu acces aleator pentru prelucrarea acestuia. În timpul antrenamentului, s-a întâmplat să întâlnesc indecent fișiere mari descărcare. Astfel de fișiere au refuzat complet să fie analizate prin mijloace standard.

Deci, lăsăm toate setările implicite și încărcăm descrierea configurației într-un fișier. Repetăm ​​aceeași procedură pentru a doua bază.

Deschideți CD-ul și selectați din meniul principal „Directoare” -> „Configurații”. Directorul stochează descrieri ale structurilor tuturor configurațiilor care pot fi folosite pentru a crea conversii. Încărcăm descrierea configurației o dată și apoi o putem folosi în mod repetat pentru a crea diferite conversii.

În fereastra directorului, apăsați butonul „ Adăuga” iar în fereastra care apare, selectați un fișier cu o descriere a configurației. Bifați caseta „Încărcați în configurație nouă” și faceți clic pe butonul „Descărcare”. Efectuăm acțiuni similare cu descrierea structurii celei de-a doua configurații.

Acum totul este gata pentru a crea regulile de schimb. În meniul principal al CD-ului, selectați „Referințe” -> „Conversii”. Adăugarea unui nou element. În fereastra pentru crearea unei noi conversii, trebuie să specificați: configurația sursei (selectați UT) și configurația receptorului (selectați „Receiver”). Apoi, deschideți fila „Avansat” și completați următoarele câmpuri:

  • nume de fișier cu reguli de schimb - regulile de schimb create vor fi salvate sub acest nume. Numele fișierului poate fi schimbat oricând, dar cel mai bine este să îl setați acum. Acest lucru va economisi timp în viitor. Am numit regulile pentru demonstrație: „rules-ut-to-priemnik.xml”.
  • nume - numele conversiei. Numele poate fi absolut orice, m-am limitat la „Demo. UT către receptor”.

Gata, faceți clic pe „Ok”. Imediat, în fața noastră apare o fereastră care ne cere să creăm automat toate regulile. Fiind de acord cu o astfel de ofertă tentantă, comandantul va da comanda de a analiza automat descrierea configurațiilor selectate și de a genera independent reguli de schimb.

Să punctăm imediat „și”. Maestrul nu va putea genera nimic serios. Cu toate acestea, această posibilitate nu trebuie ignorată. Dacă trebuie să stabiliți un schimb între configurații identice, atunci serviciile unui vrăjitor vă vor fi de mare ajutor. Pentru exemplul nostru, modul manual este de preferat.

Să aruncăm o privire mai atentă la fereastra „Setări pentru regulile de schimb”. Interfața poate părea ușor confuză - un numar mare de file pline cu comenzi. De fapt, totul nu este atât de greu, începi să te obișnuiești cu această nebunie după câteva ore de lucru cu aplicația.

În această etapă, ne interesează două file: „Reguli de conversie a obiectelor” și „Reguli de încărcare a datelor”. Pe primul, trebuie să stabilim reguli de potrivire, adică. comparați obiecte din două configurații. Pe al doilea, determinați posibilele obiecte care vor fi disponibile utilizatorului pentru descărcare.

În a doua jumătate a filei „Reguli de conversie a obiectelor” există un panou suplimentar cu două file: „Conversie proprietăți” și „ Conversia valorii". Primul va selecta proprietățile (cerințe) obiectului selectat, iar al doilea este necesar pentru a lucra cu valori predefinite (de exemplu, elemente predefinite directoare sau elemente de enumerare).

Grozav, acum să creăm reguli de conversie pentru directoare. Puteți efectua această acțiune în două moduri: utilizați expertul de sincronizare a obiectelor (faceți clic pe „”) sau adăugați potriviri pentru fiecare obiect manual.

Pentru a economisi spațiu, vom folosi prima opțiune. În fereastra expertului, debifați caseta „ Documentele” (pe noi ne interesează doar directoare) și extindeți grupul ” Carti de referinta". Derulăm cu atenție lista și ne uităm la numele directoarelor care pot fi comparate.

În cazul meu, există trei astfel de directoare: Nomenclatură, Organizații și Depozite. Există, de asemenea, un director Clients care efectuează aceeași încărcare semantică ca „ Contrapartide” din configurație ” UT". Adevărat, maestrul nu le-a putut compara din cauza numelor lor excelente.

Putem remedia singuri acest defect. Găsiți în fereastră Mapările obiectelor» manual « Clienții”, iar în coloana „Sursă” selectați cartea de referință „Contrapărți”. Apoi bifați caseta din coloana „Tip” și faceți clic pe butonul „Ok”.

Expertul de sincronizare a obiectelor vă va solicita să creați automat reguli pentru conversia proprietăților tuturor obiectelor selectate. Proprietățile vor fi potrivite după nume, iar pentru demonstrația noastră acest lucru va fi suficient, suntem de acord. Următoarea întrebare va fi o propunere de a crea reguli de încărcare. Să fim de acord cu asta.

Baza pentru regulile de schimb este gata. Am ales obiectele pentru sincronizare, iar regulile pentru conversia proprietăților și regulile de încărcare au fost create automat. Să salvăm regulile de schimb într-un fișier, apoi să deschidem „Sursa” IB (în cazul meu, este UT) și să începem procesarea serviciului în el V8Exchan82.epf.

În primul rând, în fereastra de procesare, selectați regulile de schimb pe care le-am creat. Răspundem afirmativ la întrebarea încărcării regulilor. Procesarea va analiza regulile de schimb și va construi un arbore cu același nume pentru obiectele disponibile pentru descărcare. Pentru acest arbore, putem seta tot felul de filtre sau noduri de schimb, modificând care trebuie să selectăm datele. Dorim să încărcăm absolut toate datele, deci nu este nevoie să instalăm filtre.

După finalizarea procesului de încărcare a datelor într-un fișier, accesați IB " Receptor". Deschidem și procesarea în ea V8Exchan82.epf, doar că de această dată mergem la fila „Încărcare date”. Selectați fișierul de date și faceți clic pe butonul „Încărcare”. Totul, datele au fost transferate cu succes.

Sarcini din lumea reală

Primul demo ar putea induce în eroare. Totul pare destul de simplu și logic. De fapt, acest lucru nu este adevărat. În munca reală, apar sarcini care sunt dificil sau complet imposibil de rezolvat folosind numai mijloace vizuale (fără programare).

Pentru a nu fi dezamăgit de tehnologie, mi-am pregătit câteva sarcini reale. Cu siguranță le vei întâlni la serviciu. Nu arată atât de banal și te fac să privești conversia datelor dintr-un unghi nou. Luați în considerare cu atenție exemplele prezentate și nu ezitați să le folosiți ca fragmente atunci când rezolvați probleme reale.

Sarcina numărul 1. Completați detaliile lipsă

Să presupunem că trebuie să transferăm directorul „ Contrapartide". Receptorul are o carte de referință similară „Clienți” pentru aceasta. Este complet potrivit pentru stocarea datelor, dar are recuzită „ Organizare”, permițându-vă să separați contrapărțile prin apartenența la organizație. În mod implicit, toate contrapărțile trebuie să aparțină organizației curente (se poate obține din constanta cu același nume).

Există mai multe soluții la problemă. Vom lua în considerare opțiunea de a completa recuzita „ Organizare„chiar în bază” Receptor”, adică la momentul încărcării datelor. Organizația actuală este stocată într-o constantă, deci nu există nicio barieră în obținerea acestei valori. Să deschidem regula de conversie a obiectelor (denumită în continuare FRP) „ Clienții” (dublu clic pe obiect) iar în vrăjitorul de configurare a regulilor, accesați secțiunea „Manerenți evenimente”. În lista de manipulatori găsim „ După încărcare”.

Să descriem codul pentru obținerea organizației curente cu atribuirea ulterioară la atribut. În momentul în care handlerul „După încărcare” este declanșat, obiectul va fi complet format, dar nu este încă scris în baza de date. Nimeni nu ne interzice să o modificăm la discreția noastră:

Dacă NU Object.ThisGroup, atunci Object.Organization = Constants.CurrentOrganization.Get(); EndIf;

Înainte de a completa recuzita " Organizare» este necesar să se verifice valoarea atributului « Acest grup". Pentru ghid" Clienții» steag-ul ierarhic este setat, deci este necesară verificarea unui grup. În mod similar, se realizează completarea oricăror detalii. Asigurați-vă că citiți ajutorul pentru alte opțiuni de gestionare " După Încărcare". De exemplu, printre ele există un parametru " Refuz". Dacă i se atribuie valoarea „True”, atunci obiectul nu va fi scris în baza de date. Astfel, devine posibilă limitarea obiectelor de scris în momentul încărcării.

Sarcina numărul 2. Detalii în registrul de informații

În manual" Contrapartide„Configurație UT, există detalii” Cumpărător" Și " Furnizorul". Ambele recuzite sunt de tipul „ boolean” și sunt folosite pentru a determina tipul de contrapartidă. În IB " Receptor”, la cartea de referință “ Clienții„Nu există detalii similare, dar există un registru de informații” Tipuri de Clienti". Îndeplinește o funcție similară și poate stoca mai multe etichete pentru un singur client. Sarcina noastră este să transferăm valorile detaliilor în înregistrări separate ale registrului de informații.

Din păcate, mijloacele vizuale singure nu pot face față nici aici. Să începem cu mici, creați un nou PCO pentru registrul de informații " Tipuri de Clienti". Nu enumera nimic ca sursă. Din creare automată Refuzați regulile de descărcare.

Următorul pas este crearea regulilor de încărcare. Accesați fila corespunzătoare și faceți clic pe „ Adăuga". În fereastra pentru adăugarea regulilor de încărcare, completați:

  • metoda de eșantionare. Schimbați la „Algoritm arbitrar”;
  • regula de conversie. Selectați registrul de informații „Tipuri de clienți”;
  • Codul (numele) regulii. Îl scriem ca „Încărcare specie client”;

Acum trebuie să scrieți codul pentru selectarea datelor pentru încărcare. Aici este parametrul „ Eșantionarea datelor". În ea, putem plasa o colecție cu un set de date pregătit. Parametrul " Eșantionarea datelor” poate lua diferite valori - rezultat al interogării, selecție, colecții de valori etc. O inițializam ca un tabel de valori cu două coloane: client și tip client.

Mai jos este codul de gestionare a evenimentelor „ Înainte de prelucrare". Inițializează parametrul „ Eșantionarea datelor” urmat de completarea datelor din directorul ” Contrapartide". Aici merită să acordați atenție completării coloanei „ Tip de client". În „UT”, avem caracteristici de tip „Boolean”, iar în destinatar, o enumerare.

În această etapă, nu le putem aduce tipul dorit(nu este în UT), așa că deocamdată îl vom lăsa sub formă de șiruri. Nu trebuie să faceți acest lucru, dar vreau să vă arăt imediat cum să proiectați un tip lipsă din sursă.

DataFetch = NewValueTable(); Data Selection.Columns.Add("Client"); Data Selection.Columns.Add("ClientType"); Selectarea datelor din director = Directories.Contractors.Select(); În timp ce se preia DataFromCatalog.Next() Loop If FetchingDataFromCatalog.ThisGroup Apoi Continuați; EndIf; Dacă DataFetchFromCatalog.Buyer, atunci NewString = DataFetch.Add(); NewString.Client = SamplingDataFromCatalog.Reference; NewString.ClientType = "Cumparator"; EndIf; Dacă DataFetchFromCatalog.Provider, atunci NewString = DataFetch.Add(); NewString.Client = SamplingDataFromCatalog.Reference; NewString.ClientType = „Furnizor”; EndIf; EndCycle;

Salvați regula de încărcare a datelor și reveniți la „ Reguli de conversie a obiectelor". Să adăugăm pentru registrul de informații „ Tipuri de Clienti” reguli de conversie a proprietății: client și tip de client. Lăsăm sursa goală, iar în handlerul de evenimente „Înainte de descărcare” scriem:

//Pentru proprietatea „Client” Value = Source.Client; //Pentru proprietatea „CustomerType” If Source.Customer = "Buyer" Then Expression = "Enumerations.CustomerTypes.Buyer" ElseIf Source.Customer = "Supplier" Then Expression = "Enumerations.CustomerTypes.Supplier"; EndIf;

În listare, detaliile sunt completate pe baza selecției de date efectuate. Trecem clientul pur și simplu ca link și scriem tipul de client în parametrul " Expresie". Datele acestui parametru vor fi interpretate în receptor, iar la executare, atributul va fi completat cu valoarea corectă din enumerare.

Asta e, regulile de schimb sunt gata. Exemplul considerat s-a dovedit a fi destul de universal. O abordare similară este adesea folosită atunci când se transferă date din configurații create pe platforma 7.7. Un exemplu izbitor în acest sens este transferul de detalii periodice.

Sarcina numărul 3. Trucuri tabulare

Adesea, există sarcini care necesită postarea rândurilor dintr-o parte tabelară în mai multe. De exemplu, în configurația inițială, serviciile și bunurile sunt înregistrate într-o secțiune tabelară, în timp ce stocarea acestor entități este separată în receptor. Din nou, problema nu poate fi rezolvată prin mijloace vizuale. Aici este convenabil să luăm ca bază soluția celei de-a doua probleme.

Facem o regulă de încărcare a datelor, specificăm un algoritm arbitrar și scriem o interogare în handlerul „Înainte de încărcare” pentru a obține date din secțiunea tabelară.

Pentru a economisi spațiu, nu voi da codul (vă puteți referi oricând la codul sursă) al solicitării - nu este nimic neobișnuit în ea. Sortăm eșantionul rezultat și plasăm rezultatele sortate în parametrul deja familiar „ Eșantionarea datelor". Din nou, este convenabil să folosiți un tabel de valori ca colecție:

DataFetch = NewValueTable(); //Aici va mai fi o secțiune tabelară Data Selection.Columns.Add("Produse"); //Aici va exista și o secțiune tabelară Data Selection.Columns.Add("Services"); Selectarea datelor din.Columns.Add(„Link”);

Sarcina numărul 4. Transferarea datelor la o operațiune

Dacă o organizație folosește mai multe sisteme de contabilitate, atunci mai devreme sau mai târziu va fi nevoie de migrarea datelor cu formarea ulterioară de postări.

În configurația " BP„Există un document universal” Operațiune” și este ideal pentru a forma mai multe fire. Iată doar o problemă - documentul este realizat cu viclenie și nu este atât de ușor să transferați date în el.

Un exemplu de astfel de conversie poate fi găsit în codul sursă al articolului. Cantitatea de cod s-a dovedit a fi destul de mare, așa că nu are rost să-l publici pentru articol. Permiteți-mi să spun doar că încărcarea folosește din nou un algoritm arbitrar în regulile de încărcare a datelor.

Sarcina numărul 5. Sincronizarea datelor pe mai multe atribute

Am acoperit deja câteva exemple, dar până acum nu am vorbit despre sincronizarea obiectelor în timpul migrării. Să ne imaginăm că trebuie să transferăm contrapărți și unele dintre ele sunt probabil în baza de date a receptorilor. Cum să transferați date și să preveniți duplicarea? În acest sens, CD-ul oferă mai multe modalități de sincronizare a obiectelor transferate.

Primul este prin identificatorul unic. Multe obiecte au un identificator unic care garantează unicitatea într-un tabel. De exemplu, în manualul „ Contrapartide” nu poate avea două elemente cu același ID. CD-ul face un calcul pentru acest lucru, iar pentru toate PSP-urile create, căutarea după identificator este imediat activată implicit. În timpul creării PSP-ului, ar fi trebuit să observați pictograma lupă de lângă numele obiectului.

Sincronizarea printr-un identificator unic este o metodă fiabilă, dar este departe de a fi întotdeauna adecvată. La fuzionarea directoarelor „ Contrapartide” (din mai multe sisteme diferite) este de puțin ajutor.

În astfel de cazuri, este mai corect să sincronizați obiectele după mai multe criterii. Este mai corect să căutați contrapărți după TIN, KPP, Nume sau împărțiți căutarea în mai multe etape.

Conversia datelor nu limitează dezvoltatorul în definirea criteriilor de căutare. Să luăm în considerare un exemplu abstract. Să presupunem că trebuie să sincronizăm directoarele „ Contrapartide” din diferite baze de informații. Să pregătim un PCP și în setările regulilor de conversie a unui obiect, bifați caseta „ Continuați căutarea în câmpurile de căutare dacă obiectul receptor nu este găsit prin ID". Cu această acțiune, am definit imediat două criterii de căutare - printr-un identificator unic și câmpuri arbitrare.

Avem dreptul să alegem singuri câmpurile. După ce am notat TIN, KPP, Nume, vom indica imediat câteva criterii de căutare. Convenabil? Chiar, dar din nou, acest lucru nu este suficient. Și dacă vrem să schimbăm criteriile de căutare? De exemplu, mai întâi căutăm o grămadă de TIN + KPP, iar dacă nu găsim nimic, atunci începem să ne încercăm norocul cu numele.

Este foarte posibil să se implementeze un astfel de algoritm. În handler de evenimente Câmpuri de căutare” putem specifica până la 10 criterii de căutare și pentru fiecare dintre ele definim propria compoziție a câmpurilor de căutare:

Dacă SearchOptionNumber = 1, atunci SearchPropertyNameString = „TIN, KPP”; ElseIfSearchVariantNumber = 2 ThenSearchPropertyNameString = „Nume”; EndIf;

Există întotdeauna mai multe soluții.

Orice sarcină are mai multe soluții, iar transferul de date între diferite configurații nu face excepție. Fiecare dezvoltator are dreptul de a-și alege propria cale de soluție, dar dacă trebuie să dezvolți constant migrații complexe de date, atunci recomand cu insistență să fii atent la configurația „”. Lasa la inceput sa investesti resurse (timp) in antrenament, dar acestea vor da roade la primul proiect mai mult sau mai putin serios.

În opinia mea, compania 1C ocolește în mod nemeritat subiectul utilizării conversiei datelor. Pe întreaga durată a existenței tehnologiei, a fost publicată o singură carte despre aceasta: „1C: Enterprise 8. Data conversion: exchange between application solutions”. Cartea este destul de veche (2008), dar este totuși de dorit să vă familiarizați cu ea.

Cunoașterea platformei este încă necesară

» este un instrument universal, dar dacă intenționați să îl utilizați pentru a crea migrări de date din configurații dezvoltate pentru platforma 1C:Enterprise 7.7, atunci va trebui să petreceți timp pentru a cunoaște limbajul încorporat. Sintaxa și ideologia limbii sunt foarte diferite, așa că trebuie să petreceți timp învățând. Restul principiului rămâne același.

Probabil, fiecare specialist 1C s-a confruntat cu situația necesității de a transfera date dintr-o bază de informații în alta. În cazul în care configurațiile sunt diferite, trebuie să scrieți reguli de conversie a datelor. Aceste reguli sunt create în configurația 1C „Conversie de date”.

De asemenea, puteți transfera date folosind . Multe configurații 1C 8.3 au funcționalitate standard pentru configurarea sincronizării datelor între diferite configurații și integrare perfectă cu 1C Document Management.

Dar atunci când datele trebuie să fie transferate între configurații absolut identice, vă puteți simplifica sarcina și puteți utiliza procesarea standard de încărcare și descărcare prin XML. Vă rugăm să rețineți că o astfel de metodă, cum ar fi conversia datelor, compară obiectele între ele printr-un identificator unic (GUID) și nu după nume.

Puteți descărca această procesare pe discul ITS sau urmați linkurile:

Este universal și potrivit pentru orice configurație.

Luați în considerare un exemplu de descărcare a directorului „Nomenclatură” dintr-o bază de informații 1C 8.3 Contabilitate 3.0 în alta. O condiție prealabilă va fi selecția de către părinte (grup) „Prelucrarea lemnului”.

Încărcarea datelor din 1C în XML

Accesați baza de informații de unde vor fi încărcate datele (sursă). Asigurați-vă că le verificați, prevăzând toate condițiile posibile pentru a evita consecințele nedorite.

Deschideți procesul de încărcare și descărcare date XML(Ctrl+O).

Suntem interesați de fila „Încărcare”. Mai întâi de toate, specificați numele fișierului în care vor fi încărcate datele și calea de salvat. În acest caz, datele sunt încărcate „Într-un fișier de pe server”.

În antetul de procesare este configurată perioada pentru care se va efectua selecția. De asemenea, pentru registrele periodice se poate specifica metoda de aplicare a selectiei pe perioada. Dacă este necesar să încărcați mișcări împreună cu documente, este setat steag-ul corespunzător. În acest caz, supraîncărcăm directorul, așa că nu trebuie configurat nimic în antet.

Să trecem la selectarea datelor de încărcat. În partea tabelară a formularului de procesare, bifați casetele pentru obiectele de configurare pe care trebuie să le transferați.

Coloana „Descarcă dacă este necesar” înseamnă dacă este necesară supraîncărcarea acestui obiect dacă este referit de atributul directorului pe care îl supraîncărcăm. De exemplu, poziția nomenclaturii pe care o reîncărcați are o unitate de măsură care nu se află în receptorul de bază. Dacă în coloana „Descărcare dacă este necesar” este setat un steag de lângă cartea de referință cu unități de măsură, va fi creată o nouă poziție. În caz contrar, valoarea atributului va fi inscripția „<Объект не найден>' și identificatorul său unic.

Într-un caz simplu, fără selecții, setarea de supraîncărcare a articolului va arăta astfel.

ÎN acest exemplu trebuie să selectați doar nomenclatura care se află în folderul „Prelucrarea lemnului”.

Procesarea similară pentru 8.2 vă permite să setați în mod convenabil filtre pentru fiecare obiect de configurare. În 8.3, din păcate, nu există o astfel de funcționalitate. Una dintre căile de ieșire în această situație este să selectați pozițiile necesare în fila „Obiecte suplimentare pentru descărcare”.

Puteți adăuga obiecte aici fie manual (butonul „Adăugați”), fie la cerere („Adăugați la cerere...”). Cu un număr mare de ele, a doua opțiune este de preferat.

În acest caz, interogarea va fi după cum urmează. Completați parametrii, executați interogarea după verificarea datelor și faceți clic pe butonul „Selectare rezultat”.

După ce ați specificat toate obiectele și elementele suplimentare necesare pentru încărcare, faceți clic pe butonul „Încărcați date”. Acestea vor ajunge în fișierul XML, al cărui nume și locație au fost specificate mai devreme. Rezultatele acestei operațiuni vor fi afișate în mesaje.

În acest exemplu, a fost necesar să se descarce doar 3 poziții, dar cinci au fost descărcate. Acest lucru se datorează faptului că un steag a fost setat vizavi de cartea de referință „Nomenclatură” în coloana „Încărcare dacă este necesar”. Odată cu posturile necesare, părinții lor au fost supraîncărcați.

Se încarcă o referință din XML

După încărcarea cu succes a datelor din configurația sursă într-un fișier XML, deschideți baza de date de destinație. Structura obiectelor și atributele lor trebuie să se potrivească. În acest caz, transferul se efectuează între două configurații tipice 1C: Contabilitate 3.0.

Deschideți procesarea în baza receptorului. Această prelucrare utilizat atât pentru încărcarea, cât și pentru descărcarea datelor. Accesați fila „Descărcare” și specificați calea către fișier XML, în care datele au fost încărcate anterior. Apoi faceți clic pe butonul „Încărcați date”.

Rezultatul descărcării va fi afișat în mesaje. În cazul nostru, totul a mers bine.

Cartea de referință „Nomenclatură” din receptorul de bază nu a fost completată. Acum are cinci elemente: trei poziții de articole și două grupuri.

Datele și documentele importante colectate de-a lungul anilor de muncă grea nu ar trebui să se piardă doar pentru că a apărut o platformă mai nouă sau o configurație 1C. Pentru a preveni acest lucru, există posibilitatea transferului de date.

Transferul datelor este una dintre cele mai critice părți ale tranziției de la o configurație la alta.

Pentru ca datele să fie transferate în siguranță, trebuie să încredințați această muncă unor profesioniști. Echipa noastră va face toată munca calitativ și la timp.

Etapele migrației

Transferul de date constă în 5 etape. Am încercat să le descriem cât mai detaliat și clar posibil.

De ce este mai bun transferul nostru de date?

Costul unui transfer tipic de date

Menținerea noului program

După transferul tuturor datelor, poate fi necesar să vă întrețineți programul. Suntem gata să vi-l oferim!

Trecerea la 1C 8.2

Detalii despre alte etape ale tranziției de la o platformă la alta. Upgrade de licență, configurare, instruire, asistență. Experții noștri sunt gata să vă ofere toată asistența necesară!

De ce suntem mai buni?

Transfer de comandă

echipa noastră

De ce este mai bun transferul nostru 1C?

  • Transparenţă
  • Înainte de a transfera directoarele 1C 8.2 și celelalte date ale dumneavoastră, specialiștii noștri vă vor spune în detaliu despre toate etapele de lucru. Încredințându-ne baza ta, știi mereu ce se face, în ce ordine și cât plătești pentru fiecare etapă de lucru.

  • Abordare individuală
  • Înainte de a trece direct la transferul 1C 7.7 la 1C 8.2, specialiștii noștri vor efectua o analiză aprofundată a bazei de date. Există o mare probabilitate ca în versiune noua 1C are deja toate îmbunătățirile de care aveai nevoie. În orice caz, vă vom recomanda ce altceva aveți nevoie pentru o muncă confortabilă.

  • Calitate
  • Înainte de cea mai crucială etapă a transferului, specialiștii noștri efectuează întotdeauna un transfer de probă a bazelor de date 1C pentru a identifica posibile greșeli, repetiție și pierdere de date. Dar chiar și după transferul în sine, cu siguranță vom verifica totul pentru a fi și mai încrezători în calitatea acestuia.

  • Lucrați pentru rezultat
  • Lucrarea este considerată finalizată numai după ce vă asigurați că transferul directoarelor 1C 8 și a altor date se face corect și sunteți mulțumit de rezultat. Nu ne abandonăm clienții!

    Etapa 1. Analiza generală a bazei de date sursă

    Ce lucrare se face:

  • obținerea unei configurații tipice a unei versiuni similare bazei de date sursă;
  • analiza generală a modificărilor în structura datelor (comparație cu o configurație tipică);
  • analiza generală a modificărilor în formele și modulele de configurare (comparație cu o configurație tipică);
  • controlul prezenței conturilor contabile nestandard pentru configurațiile contabile;
  • controlul general asupra corectitudinii contabilității în baza de date sursă (prezența soldurilor „roșii”, perioade neînchise, secvențe nerecuperate etc.);
  • actualizarea bazei de date sursă la versiunea cerută de regulile standard de migrare;
  • transfer de probă de date;
  • pregătirea unor eventuale recomandări pentru pregătirea bazei sursă pentru transferul directoarelor 1C 8 și a altor date.
  • De ce:

  • determinarea posibilității de utilizare a unui transfer tipic;
  • evaluarea complexității îmbunătățirilor și pregătirea documentației tehnice pentru transfer (dacă utilizarea unui transfer tipic nu este posibilă).
  • După efectuarea unei analize generale a bazei de date sursă, se poate obține confirmarea că datele pot fi transferate mijloace standard, în acest caz, costul suplimentar al serviciului de transfer este determinat în funcție de lista standard de prețuri de transfer, în funcție de configurație.

    Dacă nu este posibil un transfer tipic corect, atunci este pregătită o ofertă cu costul lucrării pentru a finaliza configurațiile, regulile de schimb și transferul non-standard.

    Preț: 2 000 de ruble

    Etapa 2. Întocmirea documentației tehnice pentru transfer non-standard

    Ce lucrare se face:

  • se efectuează o analiză aprofundată a modificărilor existente ale configurației standard a bazei sursei, o comparație a acestor modificări cu o configurație tipică similară ca versiune și cu o versiune nouă a configurației standard a bazei de recepție;
  • comunicarea cu persoanele responsabile ale Clientului pentru stabilirea necesității îmbunătățirilor identificate, clarificarea metodelor de utilizare a îmbunătățirilor, colectarea de sugestii pentru îmbunătățirea îmbunătățirilor (dacă este necesar);
  • se întocmește o listă a îmbunătățirilor disponibile la configurația standard a bazei sursei;
  • o listă de îmbunătățiri recomandate la configurația standard a bazei receptorului este întocmită și convenită, ținând cont de funcționalitatea standard a configurației tipice (este posibil ca revizuirea să nu fie necesară transferă dacă configurația receptorului are deja un funcționalitate standard similară);
  • se elaborează și se aprobă un proiect de specificație tehnică pentru finalizarea configurației bazei de recepție, finalizarea regulilor de schimb, descrierea
    proceduri de transfer non-standard (dacă este necesar).
  • De ce:

  • garanția calității și transparenței lucrărilor privind transferul non-standard al bazelor de date 1C;
  • estimarea exactă a costurilor și a duratei de lucru;
  • capacitatea de a efectua lucrări de migrare cu implicarea unui programator 1C cu normă întreagă cu nivelul de calitate cerut.
  • Dacă setul specificat de documentație tehnică nu este disponibil, transferurile non-standard între configurațiile 1C sunt efectuate numai pe oră. În acest caz, este imposibil să se garanteze cu exactitate costul și durata lucrării în avans. Cu toate acestea, în acest caz, sunt posibile unele economii de timp și costuri pentru pregătirea unui set de documentație.

    Preț: Se precizează pe baza rezultatelor unei analize generale a bazei sursei.

    Etapa 3. Finalizarea configurației receptorului

    Ce lucrare se face:

  • configurația standard a bazei receptorului este în curs de finalizare pe baza specificațiilor tehnice, sau în conformitate cu instrucțiunile Clientului (pentru lucru pe oră);
  • se efectuează testarea preliminară a îmbunătățirilor;
  • îmbunătățirile sunt documentate sub forma unui raport privind modificările unei configurații tipice (pentru posibilitatea actualizării ulterioare de către un inginer de service);
  • se efectuează o demonstrație a îmbunătățirilor aduse utilizatorului (livrarea și acceptarea lucrărilor);
  • se elaborează un manual de utilizare pentru modificări (dacă este necesar).
  • De ce:

  • Primesti ultima versiune configurații cu modificările de care aveți nevoie;
  • Primiți documentația privind îmbunătățirile necesare pentru continuarea
    actualizări de către un inginer de service.
  • Etapa 4. Finalizarea regulilor de transfer

    Ce lucrare se face:

  • regulile standard de transfer de la 1C sunt în curs de finalizare pentru a lua în considerare modificările în structura datelor din configurația standard a bazei sursă, precum și conturile contabile nestandard utilizate în baza sursă;
  • se efectuează un test preliminar al transferului ținând cont de modificări.
  • De ce:

    Asigură transferul corect al datelor care nu sunt transferate conform regulilor standard de schimb;

    Rafinarea regulilor de transfer poate fi necesară și în cazul în care contabilitatea în baza de date sursă a fost efectuată incorect din punctul de vedere al metodologiei soluției standard, deși configurația sursei ar putea să nu conțină îmbunătățiri.

    Pret: format pe baza unui set de documentatii tehnice.

    Etapa 5. Transfer de date

    Ce lucrare se face:

  • transfer informații generale(toate sau prin linkuri), transfer de solduri la o dată dată;
  • controlul corectitudinii transferului - compararea datelor bazei sursa si a bazei de destinatie;
  • pregătirea unor eventuale recomandări pentru ajustarea soldurilor în baza de date receptoare, ținând cont de particularitățile contabilității în diferite configurații (dacă este necesar).
  • De ce:

    Te pregătești să pleci noua baza date cu soldurile dvs. curente.

    Transferul se realizează folosind regulile de transfer dezvoltate de 1C, cu utilizarea îmbunătățirilor făcute special pentru Client. Compoziția datelor transferate poate diferi pentru versiuni diferite configurații, experții noștri vă vor sfătui cu privire la posibile
    caracteristici de transfer.