Configurație incrementală de descărcare în xml, 1s în spatele oglinzii

Implementat în versiunea 8.3.10.2168.

Continuăm să dezvoltăm un mecanism pentru încărcarea / încărcarea configurației în fișierele XML. Acum ceva timp am spus deja că am realizat o descărcare de configurare parțială. Acum am implementat operația inversă - încărcarea parțială (incrementală) a configurației.







Ca urmare a acestor două schimbări, dezvoltarea grupului de configurații mari ar trebui să devină mai ușoară și mai rapidă.

Schimbarea logicii de descărcare

Schimbarea principală este că, atunci când configurația este încărcată în fișiere XML, este creat (sau actualizat) un fișier special de servicii ConfigDumpInfo.xml. care se numește fișierul de versiune. Acesta este stocat în directorul de încărcare împreună cu restul fișierelor XML și conține informații despre formatul de încărcare, versiunea descărcării și versiunile tuturor obiectelor descărcate.

Astfel, acum, după analizarea acestui fișier, platforma știe exact care dintre versiunile care obiecte sunt incluse în descărcare. Pe baza acestor informații, se descarcă numai acele obiecte care au fost modificate în legătură cu deja descărcate.

În practică, arată așa.

Dacă descărcarea este efectuată pentru prima dată (sau dacă nu există niciun fișier de versiune în directorul de încărcare), se face o descărcare completă, se generează un fișier de versiune.

Dacă există deja un fișier de versiune în directorul de încărcare, în fișierul de versiune sunt descărcate numai modificările de configurare, fișierul de versiune este actualizat.

De exemplu, fragmentul de fișier versiune ar putea arăta astfel:

Scenariile de utilizare

Un aspect interesant este că descărcarea parțială a configurației în fișiere XML vă oferă câteva caracteristici noi care nu au fost disponibile anterior sau au fost greu de implementat.

Optimizarea 1C: Instrumente de dezvoltare a întreprinderii

Această oportunitate nu necesită eforturi, deoarece este implementată la nivel de platformă. Desigur, folosim în principal încărcarea incrementală a fișierelor XML într-un mediu de dezvoltare nou. Acest lucru ar trebui să accelereze munca cu configurații mari, la care este proiectat acest mediu. Datorită faptului că acum este posibilă încărcarea doar a obiectelor modificate, operațiunile de obținere a modificărilor din baza de date de informații ar trebui accelerate.

Încărcare interactivă

Acest script vă permite să salvați periodic configurația ca fișiere XML în timpul procesului de dezvoltare. Anterior, pentru configurații mari, acest scenariu era practic inacceptabil, deoarece întreaga configurație a fost descărcată de fiecare dată. Și ar putea dura mult timp.

Acum va trebui să descărcați complet configurația pentru prima dată. Apoi, modificați configurația și, la un moment dat, apelați dialogul de descărcare, specificați directorul și faceți clic pe OK. Ca rezultat, numai acele modificări pe care le-ați efectuat în configurație de la ultima încărcare la XML vor fi descărcate.







Actualizarea automată a încărcărilor XML

Aceasta este o variație a scenariului precedent, când modificările efectuate într-o zi sunt salvate automat în încărcarea XML. Aici va trebui să scrieți un script care rulează după sfârșitul zilei și execută, de exemplu, următoarea comandă:

Ca urmare, doar acele modificări (-update) care au fost făcute de la descărcarea anterioară, adică în timpul zilei, vor fi salvate în directorul de descărcare (C: \ xml).

actualizare este o cheie nouă care vă permite să actualizați încărcarea, adică să descărcați numai acele fișiere a căror versiuni diferă de versiunile din directorul de încărcare.

Modificarea automată sau controlul configurației

Există o serie de sarcini atunci când încărcarea unei configurații în fișiere XML este utilizată pentru a verifica automat configurația sau pentru a efectua acțiuni "de rutină" care nu sunt legate de logica aplicațiilor. Aceasta poate fi, de exemplu, o verificare automată a configurației pentru respectarea standardelor de dezvoltare adoptate de companie. Sau modificarea automată a rolurilor pentru obiecte noi.

Obișnuită în aceste sarcini este că configurația trebuie mai întâi încărcată în fișierele XML. Și, uneori, încărcați înapoi. Apoi, desigur, descărcarea incrementală a configurației va economisi o cantitate considerabilă de timp în descărcarea lanțului - procesare - încărcare.

Monitorizarea modificărilor configurației

Acest script este util în cazul în care mai mulți dezvoltatori lucrează simultan la aceeași configurație. În același timp, există descărcarea XML, care este starea de referință a configurației. Sarcina este de a salva informații despre ceea ce sa schimbat la fiecare schimbare de configurație. În acest caz, dezvoltatorul poate efectua, de exemplu, următoarea comandă:

Rezultatul este un fișier (C: \ diff.txt) care conține modificări de configurație (-getChanges) în raport cu încărcarea de referință (C: \ xml). Dacă nu există modificări, fișierul diff.txt va fi gol.

getChanges este o cheie nouă care vă permite să modificați configurația curentă în fișierul specificat în fișierul următor, în raport cu directorul de descărcare specificat înaintea acestei taste.

Lucrul cu sistemele de control al versiunilor

Un alt scenariu de dezvoltare a grupului presupune că încărcarea configurației ca fișiere XML este stocată în sistemul de control al versiunii externe, cu care lucrează toți dezvoltatorii.

Apoi, dezvoltatorul, efectuând modificările sale în configurația bazei de date locale de informații, poate efectua următorii pași:

  • Obțineți actualizări din sistemul de control al versiunilor (dacă există);
  • Descărcați obiectele modificate din baza de date cu informații locale, de exemplu, cu această comandă:
  • Angajați modificările (Commit) la descărcarea de configurație din sistemul de control al versiunilor.

După aceea, alți dezvoltatori vor putea să actualizeze (actualizeze) copii ale încărcării configurației XML.

Obținerea unui "patch" pentru configurație

Și, în sfârșit, ultimul scenariu al utilizării unei încărcări parțiale a unei configurații în fișiere XML vă permite să creați "patch-uri" unice din fișierele de configurare XML.

De exemplu, există o configurație care este stocată și distribuită ca descărcare XML. Se știe că această configurație nu variază foarte mult. La un moment dat, au fost detectate erori în configurație.

Apoi, înainte de a remedia erorile, comiteți (salvați) încărcarea XML corespunzătoare acestei stări de configurare, ca referință. După aceasta, remediați erorile și descărcați numai modificările legate de corectarea erorilor. De exemplu, cu această comandă:

Aici C: \ xml_source \ ConfigDumpInfo.xml este fișierul de versiune al configurației de referință și C: \ xml_patch este directorul în care vor fi descărcate numai acele fișiere XML care vor remedia erorile detectate.

configDumpInfoForChanges este o cheie nouă care vă permite să specificați un fișier de versiune specifică din care trebuie să "contorizați" modificările.

Dacă doriți să încărcați nu numai fișiere, ci și să obțineți o listă de obiecte modificate conținute în "patch", atunci trebuie să executați această comandă:

Apoi, informațiile despre modificări vor fi scrise în fișierul C: \ diff.txt.







Trimiteți-le prietenilor: