1s conversie de date 2.0 distribuție completă. Provocări din lumea reală


Conversia datelor 2.0 și 2.1 este configurația tehnologică a 1C, implementată pe versiunea platformei de la 8.1 la 8.3.

Sarcina principală a instrumentului este de a scrie regulile de schimb între soluțiile de aplicații 1C 8 și 7. Versiunea actuală de conversie a datelor este astăzi 3.0.

Conversia datelor este o configurație foarte utilă, utilizând aceasta puteți rezolva nu numai problema transferului informațiilor de la o bază de informații la alta, ci și, de exemplu, conversia informațiilor în cadrul unei baze de date.

Configurația este foarte convenabilă de utilizat cu.

Conversia datelor va fi utilă oricărui programator: faptul că abilitățile de a crea reguli de schimb este un plus serios pentru abilitățile profesionale.

Pentru a învăța cum să lucrați cu o configurație, soluția problemelor practice este cea mai potrivită. Încercați să vă faceți sarcini pentru dvs., de exemplu: transferați orice informație dintr-o bază de date în alta, transformați documentul de vânzări într-un document de venit, „conduceți” soldurile curente prin contabilitate în documentul „solduri de intrare” și alte sarcini.

Va fi foarte util să înțelegeți regulile „standard” ale schimbului 1C 8.3, acolo puteți găsi deseori exemple interesante implementarea sarcinilor.

Pentru a înțelege elementele de bază, veți avea nevoie de materiale, luați în considerare mai jos.

Instrucțiune de conversie video

Noțiunile de bază pentru configurarea schimbului de date în 1C folosind configurația „1C Data Conversion” sunt prezentate în videoclip pentru un exemplu:

Materiale, manuale pentru studierea conversiei datelor 1C 2.0

Nu există prea multe materiale și documentație în rețea, am încercat să colectez cele mai importante și interesante materiale:

0. În primul rând, vă sfătuiesc un curs video gratuit de Ilya Leontyev, acesta este disponibil la link-ul.

1. V-aș sfătui în primul rând să folosiți ajutorul încorporat în configurație. Este foarte bine scris și implementat corect din punct de vedere tehnic:

2. A doua cea mai importantă sursă de informații este site-ul http://www.mykod.info/ (site-ul s-a închis), care este specializat în special în conversia datelor. Acolo puteți descărca un număr mare de materiale de conversie.

3. În mod separat, aș dori să evidențiez un manual de instruire pentru un manual - (autor - Olga Kuznetsova).

1. Introducere.

2. Ce este necesar: configurație 1C: conversie date 2. * și procesare din pachet. Pentru un exemplu de sarcini, luăm configurația 1C: Trade Management 11 și 1C: BP 3. *.

Așadar, pentru a dezvolta regulile de încărcare a datelor la 1C, veți avea nevoie de o configurație 1C: convertirea a 2 obiecte, precum și procesarea inclusă în pachet.

De exemplu, am implementat deja baza de date de conversie și am lansat.

Vom scrie dezvoltarea regulilor de schimb între configurația 1C: Managementul comerțului 11 și 1C: Contabilitatea pentru Enterprise 3 (reguli de schimb UT / BUK).

3. Avem nevoie de procesare pentru a încărca structura de metadate și pentru a face schimb.

Primul lucru pe care trebuie să îl obțineți pentru dezvoltare este fișierele cu o structură de metadate. Aceasta se realizează cu ajutorul procesului de descărcare a structurii de metadate incluse în pachetul de conversie a obiectelor.

De fapt, în directorul de configurare despachetat pentru configurațiile formularelor gestionate, suntem interesați să prelucrăm MD83Exp.epf. Dacă descărcarea trebuie făcută din configurații pe formulare obișnuite, atunci se utilizează procesarea MD82Exp.epf. Dacă, de exemplu, trebuie să obțineți structura de la astfel de configurații ca 1C: UT 10, 1C: Management întreprindere de producție 1.3, 1C: Integrated Automation 1.1, 1C: Zup 2.5 și așa mai departe.

În plus, pentru încărcarea și descărcarea datelor în 1C folosind regulile noastre, va trebui să prelucrați „Schimbul universal de date în format XML” V8Exchan83.epf pentru configurații pe formulare gestionate, cum ar fi 1C: Trade Management 11. *, 1C BP 3, 1C: ERP 2. * și altele asemenea. În consecință, V8Exchan83.epf - pentru configurații pe forme obișnuite.

4. Descărcarea structurii de metadate a configurației 1C: Trade Trade 11.3 și 1C: Contabilitate 3.0. *

Să începem prin descărcarea structurii de metadate din configurația 1C: Enterprise Accounting 3.
Să deschidem procesarea MD83Exp.epf

În formularul de procesare, există setări suplimentare în care putem activa sau dezactiva opțiunea de descărcare a registrelor și mișcărilor în 1C. Există, de asemenea, o alegere în care va avea loc descărcarea: pe serverul 1C sau „pe client”. Specificați numele fișierului în care este încărcată structura de date. În mod similar, descărcăm structura de metadate a configurației Trade Management 11.

Acum trebuie să încărcați configurația în baza de date de conversie. Puteți ajunge la acest punct atât din lista configurațiilor, cât și din lista conversiilor. Să pornim doar de pe desktop:

În caseta de dialog, încărcați structura BP:

Și în mod similar, structura Managementului comerțului.

Când descărcarea este completă, apare o casetă de dialog în care puteți specifica un nume care vă este convenabil.

6. Crearea regulilor de conversie în 1C folosind un exemplu specific de sarcină.

Apoi, accesați „Setarea regulilor obiectului”, unde creăm o nouă setare.
În fereastra de dialog pentru crearea conversiei, selectați configurația „sursă” și configurația „receptor” (care au fost descărcate anterior) și faceți clic pe OK.

De vreme ce am plănuit să arăt creația de la zero și fără gunoi în acest articol, vă reamintesc că nu creăm automat nimic. Fără prototipuri.

Nu vom face nimic în această casetă de dialog, trebuie doar să faceți clic pe „Închidere”.

Vom crea reguli pentru încărcarea nu a unui document într-unul, ci a unui tip în altul, de exemplu, un document pentru realizarea bunurilor de servicii din UT 11 cu referințele necesare la documentul Sosiri de bunuri de servicii în BP 3.

Așadar, creați un nou FFP (regula pentru convertirea obiectelor în 1C)

Selectăm sursa de implementare a bunurilor și serviciilor și destinatarul de primire a bunurilor și serviciilor și facem clic pe OK.
Va apărea o casetă de dialog în care refuzăm din nou să creăm automat PKS (Reguli de conversie a proprietății). În continuare, le selectăm doar pe cele necesare.

Dar răspunsul la propunerea de creare a LDPE (reguli de încărcare a datelor) este „Da”.

LDPE este creat, care se va reflecta în procesarea schimbului universal XML pentru selecție:

Reguli de conversie a datelor vor fi, de asemenea, create cu reguli de conversie a proprietății goale.

Mai mult, este clar că FFP este propus în mod implicit pentru a căuta de către identificatorul intern al obiectului. Acest lucru este indicat de lupa din apropierea FFP. Vom face căutarea noastră și o vom face după numărul de document și data de la începutul zilei.

Eliminăm căutarea WIP:

Acum începem compararea proprietăților (detaliilor) necesare ale obiectului. Pentru a face acest lucru, faceți clic pe „Sincronizați proprietățile” (eticheta „1” pe ecran). Eliminăm crearea recursivă a regulilor („2”). Eliminăm toate detaliile marcate („3”). Și alege pentru tine ceea ce avem nevoie.

De exemplu, selectați necesarul:

Atrag atenția asupra faptului că vom face PKS-ul contrapartidei la organizație, iar organizația la contrapartidă și chiar vom compara unele detalii care nu coincid cu numele, de exemplu, „Monedă” și „Monedă document”.

Acolo unde vedem că nu există încă reguli de conversie.

Vom începe să parcurgem detaliile și să descriem. În primul rând, configurăm căutarea documentului așa cum am scris mai devreme, facem încărcarea și căutarea documentului la începutul datei și efectuăm înlocuirea numerotării. Vom înlocui primele trei caractere cu prefixul nostru UTB. Și întrucât în \u200b\u200bBP și UT \u200b\u200bnumerotarea este de 11 caractere fiecare, facem un număr compus: prefixul nostru și 8 caractere din sursă. Un exemplu pe ecranul de mai jos.

Încărcăm mereu documente care nu sunt completate și fără mișcare. Presupunem că documentele vor fi păstrate în receptor după verificarea de către utilizator.

Pentru a face acest lucru, setând PKS, dacă nu este făcut, 0 sau 1, îl folosim ca boolean.

Folosind exemplul de monedă, creăm o regulă de conversie a obiectelor pentru PKS. În același timp, considerăm că există monede în ambele baze de date și ar trebui sincronizate prin cod. Prin urmare, în monedele PKO nu vom crea toate PKS-urile, ci vom adăuga doar codul pentru căutare. Acestea. din propunerea de creare a unui PKS pentru obiect - refuzăm.

În PKO al documentului pentru PKS, regula de conversie creată a fost înlocuită. Iar regula în sine este oferită implicit de un identificator unic. Îl remediem, facem o căutare după cod și setăm proprietatea pentru a nu crea un obiect nou.

Drept urmare, obținem opțiunea:

În continuare, prin analogie, creăm pentru restul detaliilor PKO și PKS. Mai mult, căutarea organizației în funcție de contrapartidă și invers este stabilită de TIN. Arată ceva similar cu detalii minime (îl puteți adăuga dacă este necesar).

Pentru contractele de contrapartide FFP, efectuăm o căutare pe PKS Contropartă, nume și proprietar.

Să vedem cum să specificați valoarea dorită în tipul de transfer din PKS. De exemplu, „Tip de tranzacție” necesar. Aici puteți utiliza diverse condiții și valori de înlocuire. De exemplu, avem nevoie ca „tipul de operație” să fie mereu descărcat „Bunuri”, în acest caz este suficient să scriem valoarea dorită într-o linie din „fruntea”.

Următoarele arată modul de configurare fără dificultate și, în cele mai multe cazuri, PKS pentru multiplicitatea decontărilor mutuale, cursul decontărilor mutuale, conturile contabile.

Pentru Nomenclatura FFP, vom părăsi căutarea printr-un identificator intern unic. Dar voi fi atent la modul în care vă puteți redefini grupul. De exemplu, suntem de acord că o nouă nomenclatură va fi descărcată din configurația 1C: Trade Management 11, dar este necesar ca nomenclatura să fie colectată într-un grup specific, OurGroup.

Pentru a implementa această sarcină, creăm un alt FFP. Îl vom numi „Nomenclatorul părintelui”, pe care îl vom indica în PKS-ul părintelui în regula conversiei.

Stabilim două căutări: pe nume, unde numele este greu de indicat grupul nostru și proprietatea obligatorie a semnului „Acesta este grupul” în adevărat.

De când am luat decizia ca întreaga noastră nomenclatură să se încadreze în grupul nostru, nu este necesară descărcarea grupurilor din UT 11. La descărcare. Pentru aceasta, în Nomenclatorul din Manipularea evenimentelor de pre-descărcare, vom seta un filtru care nu trebuie să descarce grupurile Failure \u003d Source. Acest grup;".

În LDPE (reguli de încărcare a datelor) din Implementarea Bunurilor de Servicii, adăugați un filtru astfel încât documentele marcate pentru ștergere să nu fie descărcate. Pentru a face acest lucru, în LDPE în gestionarea de evenimente „Înainte de descărcare”, scriem filtrul „Eșec \u003d obiect. Ștergeți marcajul;”.


Salvați regulile dezvoltate într-un fișier.


7. Pentru a rezuma: încărcarea și încărcarea datelor folosind regulile de schimb de date dezvoltate.

Deschidem în 1C: Trade Management 11 procesarea "Schimbul universal de date în format XML" V8Exchan83.epf.

Descărcarea a trecut, acum cu aceeași procesare facem încărcarea la 1C: Enterprise Accounting 3.


Descărcarea a trecut. Verificăm că s-a încărcat. Deci, documentul este încărcat, așa cum am obținut - Organizația noastră este încărcată în contrapartidă, iar contrapartida în organizație. Toate conturile sunt descărcate și instalate. La începutul zilei am obținut numărul documentului cu prefixul nostru. Toate detaliile înregistrate sunt completate.

Verificați încărcarea articolului. Vedem că totul s-a dovedit așa cum ne-am propus.


Am creat și completat detaliile așa cum ne-am propus. În conversie, există multe subtilități și unele lucruri simple, dar necesare, care ajută la scrierea corectă a conversiei. Și acest lucru vă permite să minimizați erorile, să nu stricați datele existente și să scăpați de gunoiul în exces. Acesta este unul dintre cele mai multe exemple simple. Puteți face, de asemenea, conversia unui obiect la mulți sau invers, la mulți - la unul.

Acum există conversia de date 3, rezolvă alte probleme. Prin urmare, conversia 2 este, de asemenea, necesară. Noroc tuturor în învățare și stăpânire.

Desigur, dacă sunteți programator și aceasta este principalul dvs. lucru, puteți încerca să scrieți singur conversia. Dar dacă nu, atunci ar trebui să-ți apreciezi timpul petrecut în domeniul tău de activitate și sarcina dată cere sa faci profesionisti.

Mecanismul gestionarilor de evenimente este una dintre cheile tehnologiei de conversie a datelor utilizând „Conversia datelor 2.0”. Utilizarea competentă și pricepută a acestui mecanism permite dezvoltatorului să rezolve rapid aproape orice sarcină de conversie a datelor. Cu ajutorul tehnologiei procesoarelor, selecția datelor, conversia datelor de diferite tipuri, eșantionarea complexă a datelor, ajustarea parametrilor de conversie și multe alte sarcini sunt ușor de implementat.

Luați în considerare principiile de bază ale acestei tehnologii. În punctele cheie din algoritmii pentru încărcarea și descărcarea datelor din procesarea schimbului universal, este posibil să se execute codul de program preluat din regulile de schimb de date, în loc să fie „cablat” în procesarea încărcării sau în încărcarea datelor. Configurația „Conversia datelor 2.0” oferă oportunități pentru integrarea unui astfel de cod de program în regulile de schimb de date.

Există mai mult de douăzeci de locuri diferite în algoritmii de schimb de date în care poate fi executat codul unei terțe părți. În consecință, configurația prevede crearea diferitelor tipuri de manageri de evenimente.

Codul gestionarilor de evenimente este „legat” de obiectele regulilor de schimb - elemente ale directoarelor: conversii, reguli pentru convertirea obiectelor, reguli pentru conversia proprietăților, reguli pentru încărcarea datelor și reguli pentru ștergerea datelor. Desigur, codul pentru organizatorii de evenimente trebuie să satisfacă o serie de cerințe. În special, pentru a controla procesul de conversie în codul handler, este necesar să folosiți variabile speciale - parametri. Descriere completa toate tipurile de manipulatoare de evenimente și variabilele disponibile pot fi găsite în informațiile despre manipulatori în formularele corespunzătoare.

ATENŢIE!!!

Tehnologiile „Conversia datelor 2.0” vă permit să faceți schimb de date cu baze de date de informații implementate pe platformele „1C: Enterprise 7.7” și „1C: Enterprise 8.0”. Datorită caracteristicilor platformei 1C: Enterprise 7.7, pregătirea regulilor de schimb de date care utilizează manipulatoare de evenimente pentru infobazele implementate pe această platformă are o serie de caracteristici.

Pentru platforma „1C: Enterprise 7.7”, nu este posibil să se execute cod arbitrar (un analog al funcției Run for V8). Dacă este necesar să se utilizeze manipulatoare de evenimente pentru platforma V7.7, este necesar să se înlocuiască textul procesării pentru descărcarea sau încărcarea datelor cu textele proceselor pe care le produce configurația „Conversia datelor 2.0”.

Dacă aveți nevoie pentru a transfera date de la V7.7 la V8, atunci:

La descărcare, pe lângă fișierul de reguli în sine, sistemul generează textul modulului pentru procesarea V77Exp.ert cu funcții care implementează gestionatorii de evenimente. Apoi, în configurator, trebuie să înlocuim modulul V77Exp.ert standard cu unul nou, generat de „Data Conversion 2.0”.

Când dezvoltați soluții pentru schimbul de date pe platforma 1C: Enterprise 7.7, trebuie să vă amintiți acest „fleac” important. Regulile dvs. vor funcționa corect numai dacă utilizați procesarea modificată, al cărui text al modulului a fost creat la încărcarea regulilor de schimb de date. Această regulă are o singură excepție - dacă nu utilizați manipulatoare de evenimente, atunci poate fi aplicată procesarea standard.

Cu stimă, Vladimir Milkin (profesor și dezvoltator).

Configurație specializată "1C: conversie date 2.0"

Eliberarea celei de-a opta versiuni a platformei 1C: Enterprise a fost un pas semnificativ în dezvoltarea sistemelor de automatizare. La proiectarea platformei 1C: Enterprise 8, s-a luat în considerare vasta experiență de utilizare a soluțiilor pe platforma 1C: Enterprise 7.7: limbajul încorporat al platformei și configurațiile tipice au fost reproiectate serios, structura de stocare și acces la date a fost modificată, s-au creat noi soluții pentru industrie care au realizat avantajele noii platforme . Utilizarea construcțiilor de limbaj anterioare în noua platformă a devenit imposibilă.

Pentru a facilita soluționarea acestei probleme (transferul datelor de la versiunea 7.7 la versiunea 8), 1C a lansat o configurație specializată, Data Conversion 2.0. A fost creat pentru a ajuta specialiștii în rezolvarea diverselor probleme de transfer de date. Compania 1C a emis reguli pregătite pentru transferul de date din aceleași configurații, de exemplu, de la 1C: Contabilitate 7.7 la 1C: Contabilitate 8, dar pentru utilizatorii atipici sau modificați configurații tipice când treceți la platforma 1C: Enterprise 8, va trebui să creați singuri reguli de transfer de date.

Cu toată varietatea de metode particulare de soluționare a problemelor de transfer de date, cercul de probleme de rezolvat rămâne practic neschimbat:

Sincronizare informații de referință (crearea de noi, actualizarea elementelor existente ale directoarelor, ștergerea, salvarea sau modificarea ierarhiei, ramificarea datelor, transferul istoricului modificărilor valorilor detaliilor periodice);

Sincronizarea documentelor și operațiunilor (crearea, modificarea documentelor sau conversia unor tipuri de documente în altele, contopirea sau reproducerea);

Crearea condițiilor inițiale suficiente pentru registrele contabile pentru întreținere activitate economică (transfer de bunuri reziduale etc.).

Structurile de stocare a datelor din „1C: Enterprise” din diferite versiuni și / sau configurații diferă, prin urmare transferul de date nu este o simplă copiere a fișierelor sau a tabelelor, ci transformarea lor. Pentru ca conversia să nu fie ambiguă și corectă, trebuie să creați și să configurați reguli pentru transferul de date. Crearea și configurarea regulilor de transfer de date între diferite infobaze este posibilă dacă se cunoaște structura stocării datelor în baza de date sursă și baza de date destinație. O descriere a structurii de metadate a configurației ar trebui unificată. Configurația „Conversia datelor 2.0” este utilizată pentru a crea și configura reguli de transfer de date pe baza descrierilor structurii de metadate a configurațiilor sursă și destinație.

Procesul de transfer al datelor între infobazele constă în următorii pași:

  • 1. Creați fișiere cu descrierea metadatelor.
  • 2. Crearea configurațiilor în „Conversia datelor”.
  • 3. Crearea convertirii în sine.
  • 4. Crearea secvențială a regulilor de conversie a datelor.
  • 5. Crearea secvențială a regulilor de încărcare a datelor.
  • 6. De fapt procedura de încărcare și descărcare a datelor de la o configurație la alta.

pentru că utilizarea acestei configurații specializate este una dintre cele mai eficiente metode de soluționare a problemelor de acest fel în acest moment, iar pe lângă aceasta este o sursă foarte utilă în scopuri educationale experienta personalaapoi, pentru a dezvolta un mecanism de schimb de date între server: Calcularea trimestrială IS și 1C: Enterprise Accounting, a fost aleasă o metodă bazată pe utilizarea configurației Data Conversion 2.0 pentru LLC OOO.