Manual pentru actualizarea celor non-standard. Experiență personală: cum să actualizați rapid și rentabil o configurație modificată Informații despre înlocuirea patch-urilor

L-am prins, îl voi păstra pentru toată lumea:

Există 2 configurații stocate în interiorul bazei de date: configurația furnizorului (care este tipică) și configurația principală (este folosită atunci când lucrați cu baza de date)

La instalarea actualizărilor pe o bază de date cu o configurație dezafectată și modificată, sunt de fapt actualizate două configurații: o actualizare a configurației furnizorului (actualizarea unei configurații standard, fără modificări, la versiunea curentă) și o actualizare a configurației principale.

Pentru a actualiza configurația furnizorului, utilizați fișierul cf al unei configurații standard care nu a fost eliminată din suport. Pentru a actualiza configurația principală, se folosește un fișier cf pregătit în prealabil (se ia o configurație tipică, i se fac modificările și configurația este încărcată în fișierul cf)

Procesul propriu-zis de actualizare se realizează în 2 etape: actualizarea configurației furnizorului și actualizarea configurației principale. Secvența pașilor nu este importantă.

De ce aveți nevoie de 2 configurații într-o sticlă? Această combinație de configurații de baze de date este convenabilă de utilizat pentru a obține o listă de modificări într-o configurație tipică. Configurația principală conține configurația cu modificări, configurația furnizorului conține configurația standard. Folosind mecanismul de comparare a configurațiilor integrate în platformă (în acest caz, cea principală și furnizorul), vă puteți face o idee clară despre ceea ce a fost schimbat în configurație în comparație cu cea standard. Singura condiție pentru o muncă confortabilă atunci când se compară este să se mențină aceleași versiuni de lansare ale ambelor configurații. Pentru a face acest lucru, aveți nevoie de 2 fișiere cf - unul pentru cel principal, celălalt pentru configurația furnizorului.

Să ne imaginăm că avem ambele fișiere cf (separat pentru pregătirea cf cu modificări) Să le numim, de exemplu, „Typical_2_0_49_8.cf” și „Update_2_0_49_8.cf” Prin urmare, primul fișier este o actualizare pentru configurația furnizorului, al doilea este pentru configurațiile principale.

Să începem prin a actualiza configurația furnizorului.

În modul Configurator, accesați meniul Configurare – Suport – Actualizare configurație. În dialogul rezultat, selectați butonul radio „Selectați fișierul de actualizare” și spuneți „Următorul”

Totul este familiar aici. Specificați fișierul „Typical_2_0_49_8.cf” și faceți clic pe Terminare

După ce toate problemele au fost rezolvate, platforma va începe să descarce configurația pentru comparație. Este nevoie de ceva timp...

Odată ce descărcarea este finalizată, obținem următoarea fereastră:

Aici ni se arată diferențele dintre ceea ce avem deja și ceea ce încercăm să încărcăm. Prima coloană arată diferențele dintre configurația nouă și configurația bazei de date (principală), a doua coloană arată diferențele dintre configurația curentă a furnizorului și configurația descărcată.

Deoarece trebuie doar să actualizăm configurația furnizorului și să nu o atingem pe cea principală deocamdată, debifăm toate casetele din coloana din stânga (dacă o debifați pe cea de sus, toate celelalte de mai jos vor fi debifate de la sine)

Faceți clic pe „Run”, așteptați puțin...

În timpul procesului de descărcare, poate apărea următoarea fereastră:

Acest lucru se aplică pentru blocarea obiectelor bazei de date. Dacă toate comutatoarele sunt setate la modul „Obiectul nu este editabil”, efectuarea de modificări la configurație va fi imposibilă fără a elimina mai întâi configurația din suport (obiectele care sunt acceptate, eliminate din suport și editate în timp ce mențin suportul sunt un subiect separat) În în majoritatea cazurilor, configurarea regulilor de asistență se face astfel, așa cum se arată în imagine

Rezultatul tuturor manipulărilor noastre va fi mesajul

Accesați meniul Fișier – Salvare (platforma va salva modificările efectuate), iar apoi la meniul Configurare – Actualizare configurație baze de date. Procesul va dura ceva timp și va necesita modificări în timpul reorganizării.

Aceasta completează prima etapă.

Actualizarea configurației principale.

În modul Configurator, accesați meniul Configurare – Comparați, îmbinați cu configurația din fișier. Primim imediat o fereastră pentru selectarea unui fișier, în care indicăm fișierul nostru pentru actualizarea configurației principale „Update_2_0_49_8.cf” Platforma începe imediat să compare configurațiile.

Deoarece fișierul nostru „Update_2_0_49_8.cf” conține o configurație deja actualizată, luând în considerare toate modificările, lăsăm acum toate casetele de selectare din coloana din stânga la locul lor.

După ce faceți clic pe butonul „Run”, configurațiile vor fi îmbinate (la fel ca în prima etapă)

După finalizarea tuturor pașilor de actualizare, deschideți baza de date în modul Enterprise și confirmați legalitatea primirii actualizărilor

De fapt, dacă modificările în configurație sunt minime și cunoscute dinainte, vă puteți descurca cu un singur pas - actualizarea configurației furnizorului. În același timp, în coloana din stânga trebuie să debifați acele obiecte care au fost modificate în raport cu cel standard. Cu toate acestea, această tehnică este aplicabilă numai atunci când nu sunt necesare modificări ale formularelor și/sau comparații ale blocurilor mari de cod. Noua configurație standard se va suprapune pe cea actuală, cu excepția acelor obiecte pe care le scoatem din fuziune.

Metoda de actualizare este universală, potrivită nu numai pentru configurațiile Enterprise Accounting, ci și pentru Integrated, ZUP și altele...

Produsele software 1C sunt specifice în sensul că funcționarea lor este foarte influențată de legislația țării în care sunt utilizate aceste programe. De aceea este foarte important să poți actualiza aceste produse, deoarece pe lângă aspectele legislative, configurațiile actualizate vor conține corecții ale erorilor critice, accelerarea întregii funcționări a programului și alte detalii utile. Există două opțiuni pentru dezvoltarea evenimentelor: prima opțiune este o actualizare a configurației standard (standard), care se întâmplă destul de repede și nu necesită mult efort, în timp ce a doua opțiune, când trebuie să actualizați un ansamblu modificat, este mai lung și mai complex.

Definirea tipului de configurare

De obicei, utilizatorul știe exact ce versiune are, deoarece build-ul standard este caracterizat de absența interferenței cu obiectele interne ale programului. Un alt lucru este că modificarea, de regulă, este efectuată de programatori; în consecință, utilizatorul primește un produs deja modificat, despre care poate nici măcar nu este conștient. Există o modalitate simplă de a înțelege dacă s-au făcut modificări acolo sau nu. Pentru a face acest lucru, va trebui să intrați în modul Configurator, butonul corespunzător căruia se află în fereastra de pornire a programului. Există o filă Configurare în partea de sus, în care există un element de asistență. După ce faceți clic pe el, ar trebui să selectați Setări de asistență. În fereastra deschisă, butonul „Activați capabilitățile de modificare” ar trebui să fie activ; de asemenea, un semn al unui ansamblu standard este prezența unei pictograme de lacăt lângă numele ansamblului. Aceste semne indică faptul că modulele programului nu s-au schimbat, ceea ce înseamnă că puteți efectua o actualizare centralizată de pe site-ul oficial prin Internet. În absența acestor semne, se poate argumenta că programatorul a lucrat la editarea acestui produs, în timp ce este posibilă o situație când modificarea a fost parțială, adică o serie de obiecte au fost lăsate în forma lor originală. Toate obiectele modificate rămân fără pictograme de identificare, iar elementele standard sunt marcate cu un cub galben. O modificare parțială nu elimină complet programul din suport, deoarece va fi posibilă actualizarea obiectelor neatinse.


Configurație standard (tipică) - pregătire pentru actualizare

Pe lângă problemele indicate, cum ar fi modificări ale legislației sau deteriorarea performanței programului, trebuie să îl actualizați atunci când programul 1C emite un mesaj corespunzător. Se va spune că această versiune a fost lansată cu ceva timp în urmă, acum există o configurație îmbunătățită și că poate fi actualizată chiar acum prin intermediul site-ului web sau folosind discul ITS. Pentru început, este foarte important să faci o copie de rezervă a bazei de date, astfel încât să poți restaura totul dacă ceva nu merge bine. Acest lucru se face în trei moduri. Puteți copia pur și simplu folderul rădăcină cu baza de date pe un disc sau o unitate flash. După lansarea 1C, este selectată o bază de date, iar calea către aceasta va fi indicată în fereastră. În caz de probleme, acest folder este mutat în locația bazei de date care nu funcționează. Puteți opera și prin configuratorul, pentru care trebuie să selectați acest mod în program. În secțiunea Administrare există un buton Încărcați baza de informații. După selectarea unui folder, acolo va apărea un fișier .dt, care poate fi deschis ulterior cu butonul corespunzător din aceeași secțiune.

A treia metodă apare puțin mai târziu, în stadiul actualizării prin Internet. Totul se poate face prin discul ITS, care este primit de întreprindere în fiecare lună; puteți lua acest disc și de la un angajat care are un acord cu ITS, trebuie doar să vă asigurați că configurațiile se potrivesc. În caz contrar, totul se face prin Internet. Există o nuanță importantă: pachetele de actualizare sunt instalate strict secvenţial, iar dacă vreo versiune a fost omisă, sistemul vă va cere să le instalați mai întâi. conținute în meniul Ajutor, unde va trebui să faceți clic pe secțiunea Despre.
Dacă totul este în regulă cu Internetul, atunci trebuie să accesați site-ul web usersv8.1c.ru, unde vă introduceți datele de conectare și parola. Apoi, selectați configurațiile necesare aflate pe linkul Descărcare actualizări. Următorul pas este să selectați versiuni specifice, ținând cont de primele și de cele care au fost lansate recent. Toate fișierele sunt salvate unul câte unul pe computer. Înainte de actualizare, trebuie să deschideți toate fișierele de arhivă și să instalați fiecare versiune. Versiunile pot fi descărcate, așa cum este descris, de pe discul ITS. Acum trebuie să intrați în modul Configurator, după care obiectele ar trebui să fie afișate în stânga; dacă nu sunt acolo, va trebui să faceți clic pe fila Deschidere configurare.
Pentru a actualiza, utilizatorul merge la Configurare-Suport-Actualizare configurație. În fereastra nouă, faceți clic pe Căutare.

Din opțiunile propuse, selectați Căutare în cataloagele actuale de actualizări, apoi indicați versiunea disponibilă sau cea al cărei nume va fi evidențiat cu caractere aldine. Trebuie să faceți clic pe Da pe toate celelalte sugestii, inclusiv pe ultima fereastră Reorganizare informații. Pasul final este să rulați programul în modul producție pentru ca actualizările să aibă efect.

Actualizarea unei configurații 1C non-standard (modificată).

Scopul actualizării unui ansamblu modificat este de a se asigura că modificările făcute de programatori nu se pierd, iar modificările făcute de dezvoltatori au loc. Toți pașii enumerați descriși în instrucțiunile anterioare sunt executați de această dată, doar la pasul final va apărea un tabel de comparație, unde într-o coloană va fi o configurație cu obiecte modificate, iar în a doua coloană va fi o listă de actualizări. Aceste coloane conțin arbori de metadate. Cu un marcator verde, programul va marca obiectele specifice la care programatorul le face ajustări și pe care le-au modificat dezvoltatorii de produse. În această etapă, trebuie să găsiți acele obiecte care sunt marcate în aceste două coloane.

Pentru a vă simplifica căutarea, puteți utiliza butonul Filtrare, care se află mai jos, apoi bifați opțiunea Afișare proprietăți modificate de două ori. Dacă totul este făcut corect, atunci doar obiectele de care avem nevoie vor fi afișate în fereastra de lucru. Procedura de actualizare a modulelor non-standard nu va afecta configurația.

Trebuie să analizăm acest tabel. În acest caz, este clar că au avut loc modificări în ambele cazuri, deoarece există pictograme creion, deoarece există și o pictogramă lângă numele modulului, aceasta înseamnă că acestea vor fi îmbinate. Ultima coloană din dreapta indică faptul că, atunci când procesul este finalizat, tot codul de utilizator va fi schimbat în favoarea actualizării de la dezvoltatori.

Există și alte moduri cu îmbinare parțială (prioritate), dar aceste moduri sunt folosite de utilizatorii experimentați, deoarece un începător va transforma toate evoluțiile în module confuze. În consecință, nu are rost să schimbi ceva în ultima coloană. Pe de altă parte, debifând prima coloană, fuziunea forțată poate fi anulată. Pe baza acestui lucru, puteți fie să introduceți manual codul în modulul actualizat, fie să lăsați codul în pace și să efectuați manual actualizările. Pentru a înțelege exact ce trebuie adăugat, faceți clic dreapta pe modulul selectat și selectați Afișare diferențe. Acest pas va arăta diferențele dintre procedurile specifice. În partea de jos a ferestrei există și o împărțire în două coloane, dar codul în sine este deja afișat acolo.

Acțiunile ulterioare depind de nivelul de modificare a modulelor; dacă configurația a fost rescrisă radical, atunci va fi extrem de dificil să actualizați totul singur, fără ajutorul unui programator.

Posibil la actualizarea 1C

Cele mai multe erori sunt făcute atunci când baza de date este puternic modificată, deoarece mai multe pagini de cod, diverse cărți de referință și alte obiecte pot deruta un utilizator neexperimentat. Este foarte important să creați și să salvați o arhivă de rezervă înainte de a face orice modificări, apoi verificați din nou dacă totul a fost făcut corect. O greșeală clasică este actualizarea unui ansamblu non-standard ca și cum ar fi standard. Dar chiar dacă urmați instrucțiunile descrise, este departe de a fi un fapt că programul va funcționa imediat așa cum ar trebui. Este posibil ca o configurație suplimentară să nu fie necesară. Configuratorul nu afișează modificările efectuate în comenzile formularelor de dialog, așa că acest punct va trebui verificat manual, altfel actualizările vor fi toate suprascrise. După actualizare, configuratorul poate interzice actualizarea vechii baze de informații, deoarece numerele documentelor nu mai sunt unice, același lucru este valabil și pentru registrele de informații.

Pentru a rezolva problema veți avea nevoie de:
— modificarea numărului de caractere din coduri;
— modificarea codurilor din baza de informații;
— modificați proprietatea de control al unicității în toate directoarele.

În timpul procesului de actualizare, nu trebuie să uităm de actualizarea interfețelor și a drepturilor de utilizator, care este adesea trecută cu vederea. Importanța actualizării secvențiale a versiunilor a fost deja descrisă; de asemenea, este extrem de important să utilizați procesarea încorporată a actualizărilor de configurare, care vă va permite să convertiți datele necesare și să completați bazele de date cu informații, dacă este necesar. Este în interesul utilizatorului să se asigure că identificatorii interni ai obiectelor sau detaliilor se potrivesc, în caz contrar actualizarea poate suprascrie toate evoluțiile. Chiar și după pregătirea cu atenție a unei noi configurații, nu puteți trece imediat la combinarea acesteia cu baza de lucru în uz, deoarece trebuie să fie actualizată și apoi totul trebuie testat temeinic.

Trebuie să înțelegeți că există opțiuni când configurația va fi returnată pentru asistență, adică procesul de actualizare a acesteia va avea loc în modul standard pentru program, prin descărcarea versiunii de pe Internet. Programul este eliminat din suport după ce modulele modificate sunt introduse în produs. Eliminarea acestor module va readuce programul la starea inițială, dar este imposibil să scăpați complet de ele, deoarece funcționarea normală a 1C va fi imposibilă, deoarece din anumite motive, așa au fost programate modulele. În consecință, aceste module pot fi mutate în afara domeniului de aplicare al programului - munca va fi efectuată folosind module externe, dar acest lucru nu va afecta funcționarea programului. Astfel, directoarele și alte obiecte vor rămâne la locul lor.Făcând acest lucru pe cont propriu fără cunoștințele necesare este problematic, așa că programatorul trebuie să returneze programul la cadrul standard de asamblare, dacă este necesar.

Există, de asemenea, câteva sfaturi care vor facilita procesul de actualizare a produselor software 1C în viitor. În primul rând, trebuie să încercați să modificați programul cât mai puțin posibil și, dacă nu este absolut necesar, atunci nu introduceți nimic terță parte acolo, ci încercați să rezolvați problemele cu instrumentele standard disponibile. Fără excepție, toate modificările de configurare trebuie comentate și înregistrate într-un document separat, astfel încât nimic important să nu fie ratat în timpul procesului de recuperare. Pentru a reduce cantitatea de cod de program din obiectele standard, ar trebui să-l mutați în propriul modul comun, dar trebuie să înțelegeți că apelurile la proceduri și funcții nu pot fi atinse - trebuie să rămână în obiecte standard, astfel încât programul să poată funcționa. corect. În scopuri de optimizare, are sens să înlocuim toate apelurile de proceduri și funcții standard care se găsesc atât în ​​codul de obiecte „autoscris”, cât și în codul modulelor externe, cu apeluri la proceduri din modul propriu. Aceste proceduri sunt o scurtătură simplă care va fi folosită pentru a apela proceduri din modulele standard. Astfel, la compararea modificărilor, utilizatorul nu va trebui să caute liniile necesare în codul modificat pentru o perioadă lungă de timp. Dacă urmați aceste recomandări, timpul de actualizare se reduce la câteva ore de lucru, iar dacă totul rămâne așa cum este, procesul poate dura câteva zile.

Pe această pagină voi descrie cele mai frecvente erori când folosesc programul meu " ".

Prima și cea mai ușoară opțiune

Esența erorii și instrucțiunile pentru corectarea acesteia sunt indicate direct în raport. Ei bine, de exemplu, am specificat login și parola greșite pentru baza de date, iar apoi raportul va conține următoarele rânduri:

A doua și cea mai dificilă opțiune

A apărut o eroare pe partea 1c și actualizatorul ne spune direct despre aceasta cu această linie din raport:

În acest caz, priviți raportul puțin mai sus și căutați acolo linii verzi care încep cu personajele.

Aceste linii au fost transmise actualizatorului chiar de platforma 1c și sunt cele care trebuie analizate.

Mai jos am pregătit o listă cu cele mai frecvente erori de pe platforma 1c (cele în verde) și cum să le elimini:

Eroare „Numele elementului predefinit nu este unic”

2. Luați undeva fișierul de configurare (.cf) al versiunii bazei de date - cel pe care îl vedem în fereastra „Despre”. Aceasta este etapa cea mai dificilă și aici nu voi da soluții gata făcute. Puteți extrage acest fișier dintr-o altă bază de date a acestei versiuni sau le puteți cere colegilor. Voi spune imediat că este inutil să mi-l ceri - nu o voi putea oferi.

3. Având în mână fișierul de configurare (cu extensia .cf) al versiunii dorite (cea pe care o aveți în fereastra „Despre program”) în configuratorul bazei de date, deschideți elementul:

Vom specifica noi înșine fișierul de actualizare:

Faceți clic pe butonul „Run”.

După actualizare, verificați din nou versiunea de configurare a furnizorului - acum ar trebui să se potrivească cu versiunea din fereastra „Despre”. După aceasta, baza de date va fi actualizată de către actualizator fără probleme.

Ce alte probleme mai sunt?

Nume modul defectuos: frame.dll

(cum se rulează sau pe google).

  1. Dacă actualizatorul nu este instalat pe serverul 1c în sine, atunci trebuie să vă asigurați că portul PORT_NUMBER de pe serverul SERVER_IP este cu adevărat deschis. Puteți verifica acest lucru folosind comanda telnet SERVER_IP PORT_NUMBER. Dacă are loc conexiunea, atunci portul este deschis.
  2. Apoi, trebuie să vă asigurați că pe computerul pe care este lansat actualizatorul, nimic nu blochează conexiunea acestuia la PORT_NUMBER pe SERVER_IP. Pentru a face acest lucru, trebuie să dezactivați temporar antivirusul, firewallul, firewallul și alte programe similare (acest lucru trebuie făcut pe computerul pe care este instalat actualizatorul). Dacă acest pas vă ajută, atunci trebuie să înregistrați excepțiile corespunzătoare în programul de blocare.
  3. Dacă acest lucru nu ajută, atunci trebuie să înregistrați adresa bazei de date în programul de actualizare nu prin numele serverului, ci direct prin IP-ul acestuia (IP-ul său va fi indicat în mesajul de eroare SERVER_IP). Acest lucru este necesar pentru a exclude o problemă DNS.

Programul nu poate fi lansat deoarece api-ms-crt-conio-l1 lipsește de pe computer. 1-0.dll

Dacă totul este în regulă conform cerințelor, atunci accesați proprietățile comenzii rapide prin care lansați actualizatorul și accesați fila „Compatibilitate”. Trebuie să debifați toate casetele de selectare din această filă. Cel mai probabil, ați setat din greșeală actualizatorul să fie compatibil cu un alt sistem de operare - de aici și problemele cu platforma (deoarece la conectarea externă, codul platformei 1C este încărcat în procesul de actualizare).

Actualizarea durează foarte mult pentru a începe

Și în câmpul „Agent Port” este indicat portul agent (implicit 1540), care poate fi găsit în proprietățile serverului central 1c din consola de gestionare a clusterului 1c (cum se lansează sau pe google).

După actualizare, câmpul „Collapse Date” este ascuns în procesarea „Infobase Rollup” pentru configurația „Trade Management”

În acest caz, actualizatorul va putea lucra cu baza de date deoarece nu va încerca să se conecteze la aceasta.

Dar din această cauză, unele operațiuni de actualizare a bazei de date nu vor fi efectuate automat și vor fi indisponibile.

Eroare: conexiunea nu a fost stabilită deoarece... computerul de destinație a respins cererea de conectare

Dacă tot trebuie să încărcați în dt, faceți-o într-un fir, dacă este posibil cu pauze între operații. Reporniți periodic serverul 1c pentru prevenire.

Am întâlnit această eroare cu utilizatori pe aproape toate versiunile serverului 1c și, în toate cazurile, au decis să treacă la arhivare folosind DBMS.

Eroare: a eșuat eliminarea blocului instalat în noile sesiuni cu baza de date

Dacă acest lucru eșuează, atunci este posibil:

  • ați făcut o greșeală când ați scris datele de conectare și/sau parola ITS
  • nu ați plătit pentru accesul la ITS
  • nu ați înregistrat versiunea de bază a configurației pe site-ul web 1C pentru a primi actualizări

3. Să presupunem că totul este în regulă cu acces la actualizări prin intermediul site-ului web. Rămâne să excludeți problemele din mediul de pe computer și problemele cu serverul de actualizare 1C.

Pentru a face acest lucru, încercați să descărcați noi actualizări ale configurației dvs. prin intermediul configuratorului (aceasta este metoda pe care o folosește actualizatorul în activitatea sa).

3.1 Accesați configuratorul bazei de date și selectați elementul de meniu „Configurare” - „Deschideți configurația”.

3.5 În cele din urmă, introduceți numele și parola ITS ( asigurați-vă că le copiați din blocnotes):

Și încercați să descărcați una dintre actualizările pe care configuratorul vi le va oferi pentru baza dvs. de date.

Dacă acest lucru eșuează, atunci este posibil:

  • ai probleme cu mediul de pe computer
  • Serverul de actualizare al companiei 1C nu funcționează temporar corect (deși actualizările prin intermediul site-ului web pot fi descărcate în continuare)
  • nu aveți acces la actualizări pentru această configurație specială (nu ați plătit pentru un abonament ITS la aceasta; sau aveți o versiune de bază pe care nu ați înregistrat-o pe site)

4. Să presupunem că configuratorul a descărcat cu succes actualizarea. În acest caz, ar trebui să copiați datele de autentificare și parola ITS din Notepad în setările de actualizare și să verificați dacă problema a dispărut.

În caz contrar, există unele nuanțe pe partea de actualizare. În acest caz, vă rugăm să scrieți serviciului de asistență la [email protected]și vom continua să analizăm cazul dumneavoastră în detaliu.

Eroare DBMS: Microsoft SQL Server Native Client 11.0: Nume obiect nevalid „SchemaStorage”

5. Dacă problema este într-un fel o anumită actualizare (de exemplu, nu este găsită sau apare o eroare la încărcarea acesteia în baza de date) -comprimați-l într-o arhivă și atașați-l la scrisoare. Cum să încărcați o arhivă mare pe Internet este descris (de la punctul 5) folosind baza de date 1c ca exemplu.

Aici... cer, bineînțeles, multe informații, iar pentru utilizatorii începători s-ar putea să nu fie atât de ușor să le colecteze și să mi le trimită. Dar in acest caz va rog sa apelati la camarazi mai experimentati ca sa va ajute.

Dacă muncești din greu, atunci pot să muncesc din greu să te ajut.

O configurație 1C non-standard este atunci când: 1) configurația 1C a fost scrisă de la zero de către programator independent, 2) configurația 1C era standard, dar i s-au adăugat modificări, chiar dacă a fost adăugată o proprietate.

În acest articol ne vom uita la modul în care este necesară actualizarea corectă a configurațiilor 1C, precum și a mai multor tehnici pentru modificarea ușoară a configurațiilor standard, de exemplu. modificare corectă, care nu va afecta posibilitatea de actualizare ulterioară.

Pentru a face orice modificări ale configurației standard 1C, este necesar să deblocați modificarea configurației standard 1C și, în unele cazuri, să o „eliminați din suport”.

În cea mai optimă opțiune de actualizare, configurația 1C poate fi actualizată într-un mod complet automat; acest lucru este posibil atunci când modificările de configurare sunt interzise. Destul de des este necesar să se includă modificări de configurare, deoarece este necesară adaptarea soluțiilor de aplicație la cerințele de afaceri ale clientului; ne vom concentra pe această opțiune.

Înainte de a actualiza Este foarte recomandat să faceți o copie de rezervă baza de date, acest lucru se poate face prin meniul Administrare/Încărcare infobază.

Există 2 opțiuni de actualizare: a) Actualizarea 1C prin suport (apel prin dialogul de configurare Configurare/Suport/Actualizare) și b) prin fuziunea Comparație cu configurația dintr-un fișier. Trebuie remarcat faptul că diferența dintre aceste două puncte este că în primul caz, atât configurația principală, cât și configurația furnizorului sunt actualizate, iar la compararea configurațiilor de îmbinare, este actualizată doar configurația principală, configurația furnizorului rămânând cea veche. Prin urmare, cea mai recomandată opțiune este actualizarea prin Actualizare configurație. Pentru a actualiza prin asistență de configurare, sunt utilizate fișierele de livrare CF sau CFU ale vânzătorului, care pot fi găsite prin căutare, în directorul șablonului, specificând calea pe Internet sau specificând direct calea către fișierul dorit de pe hard disk.

Când actualizați configurația 1C fără posibilitatea de a face modificări, actualizarea după selectarea fișierului de actualizare are loc automat; dacă capacitatea de a face modificări este activată în configurație, atunci după selectarea fișierului de actualizare va fi afișată o fereastră de comparare a configurației. În acest dialog putem vedea cum sistemul ne oferă să ne actualizăm configurația 1C non-standard. În partea de jos a casetei de dialog există o legendă corespunzătoare pentru stările obiectelor: „Starea de conformitate a obiectelor” indică o comparație între „Configurația principală” și „Configurația nouă”, „Starea istoricului obiectelor” indică o comparație a obiectelor de configurare cu Obiecte „Configurație veche a furnizorului”.

Bifând casetele de lângă obiecte, puteți alege dacă obiectul de configurare curent se va schimba sau rămâne vechi, precum și cum să schimbați obiectul. În meniul de acțiuni, puteți bifa casetele pentru subsisteme (acest lucru este util dacă configurația este acceptată de mai mulți furnizori). De asemenea, în acest meniu este posibilă specificarea priorității de îmbinare pentru toate obiectele simultan; implicit, sistemul consideră configurația furnizorului ca fiind o prioritate mai mare. Setările filtrului ne permit să specificăm ce obiecte de configurare ar trebui să afișăm pentru a putea specifica modul de îmbinare în detaliu. Există mai multe șabloane de filtre standard și, de asemenea, puteți specifica filtre pentru fiecare pereche de configurații comparate. Este posibil să setați caseta de selectare „Afișați numai proprietățile modificate de două ori” în setările „Filtrare”; aceasta vă va permite să filtrați obiectele a căror actualizare nu a dus la conflicte între modificările furnizorului și modificările acestor obiecte:

Deci, rezultatul va fi o listă de obiecte care au fost modificate de două ori în timpul finalizării configurației standard și în noua configurație a furnizorului. Dacă sunteți de acord cu actualizarea, atunci îmbunătățirile aduse anterior acestor obiecte se vor pierde. Prin urmare, pentru fiecare obiect este necesar să se ia o decizie cu privire la modul în care va fi actualizat. În această etapă, o comparație preliminară ar trebui efectuată numai pentru a reduce volumul de muncă ulterior. Evaluarea nu este exactă și rapidă - „prin ochi”. Dacă există mai multe modificări ale obiectului în configurația noului furnizor, atunci părăsim instanța obiectului furnizor. Lăsați o bifă. Apoi va trebui să transferați modificările din configurația de lucru. Dacă există mai multe modificări ale obiectului în configurația de lucru, atunci lăsăm o instanță a obiectului de configurare de lucru. Debifați caseta. Va trebui apoi să migrați modificările din configurația furnizorului. Puteți face lucrurile puțin diferit cu module, pentru că... Este posibil să comparați modulele procedural.

Acestea. dacă în configurația noastră 1C și în configurația furnizorului se modifică diferite proceduri ale modulelor, atunci bifând corect casetele ne vom feri de a transfera manual modificările codului. Pentru a ajunge la aceasta, trebuie să faceți clic pe butonul sub forma unei lupe de lângă numele modului de combinare a modulelor:

Când afișăm un meniu de acțiuni asupra unui obiect (de exemplu, făcând clic pe butonul din dreapta al mouse-ului), putem apela un raport privind compararea obiectelor.

Pentru a confirma actualizarea 1C, trebuie să selectați elementul de meniu Configuration/Update database configuration.

Pentru a refuza actualizarea 1C, trebuie să selectați elementul de meniu Configuration/Return to DB configuration.

Câteva reguli care simplifică actualizarea viitoare a configurațiilor 1C:

Regula de bază pentru actualizarea 1C: trebuie să adăugați obiecte noi, deoarece... La actualizare, obiectele noi nu sunt afectate de sistem

Când schimbați textele modulelor, este, de asemenea, recomandabil să adăugați propriile proceduri și funcții noi și să le apelați pe cele noi din cele existente.

Folosind abonamente la evenimente, datorită acestui lucru puteți modifica mecanismele standard fără a schimba codul standard

Folosind funcționalitatea de configurare standard

Crearea programatică a elementelor de formular (În evenimentul FormCreationOnServer)

Mulțumesc!

Această tehnică vă permite să depanați și să modificați modulul manager în procesare externă fără a fi nevoie să resaveți configurația și să reporniți baza de date

Formularea problemei

Să presupunem că finalizăm o bază de date cu o configurație foarte grea. Salvarea și/sau repornirea după salvare durează mult timp.
Să existe un modul manager pentru un obiect în configurația noastră. Acest modul manager are o metodă de export din care sunt apelate alte proceduri.
Acest modul manager trebuie îmbunătățit. În acest caz, este necesar să se minimizeze numărul de reporniri ale bazei de date după fiecare modificare a codului în timpul depanării.

Esența soluției

Să copiem tot codul modulului manager în procesare externă
- Să adăugăm posibilitatea de a redirecționa apelurile către metodele de export ale modulului manager către procesarea externă (în cel mai simplu mod posibil)
- Vom activa/dezactiva redirecționarea din depanator folosind mecanismul de oprire condiționată

Pasul 1.
Vă sugerez să adăugați următorul cod la începutul metodei, care este punctul de intrare:

// Modulul manager al unui obiect de configurare Procedură Imprimare(Parametri) Export // ++ depanare Variabil Debugger; Dacă Debugger<>Nedefinit Apoi Debugger.Print(Opțiuni); Întoarcere; endIf; // -- debugging Report("Acesta este un apel de la modulul manager"); Sfârșitul procedurii

Pasul 2.
Apoi, creăm un serviciu de procesare externă universală, de exemplu, într-un folder de pe server. Să-i spunem Debugger.epf.
În această prelucrare vom descrie o scurtă funcție de export universal cu aproximativ următorul conținut:

// Modulul de procesare Debugger.epf Funcție SetDebugModule(Debugger, ModuleName) Export Debugger = ExternalProcessing.Create(PathToExternalProcessing(ModuleName), False); Returnează fals; Funcția EndFunction PathToExternalProcessing(ModuleName) Return CurrentDirectory() + ModuleName+ ".epf"; Funcție EndFunction CurrentDirectory() Export File = New File(ThisObject.UsedFileName); return File.Path; EndFunction

Pasul 3.
Să creăm o procesare externă în care ne vom scrie codul. Copiem întregul cod din modulul manager în modulul obiect pentru această procesare.
Să-l salvăm în același folder ca Debugger.epf. Să dăm acestei procesări un nume, de exemplu, Processing.PrintInvoice.ManagerModule.epf .

// modulul obiect de procesare extern Processing.PrintAccount.ManagerModule.epf Procedure Print(Parameters) Export // ++ depanare Variable Debugger; Dacă Debugger<>Nedefinit Apoi Debugger.Print(Opțiuni); Întoarcere; endIf; // -- depanare // ++ fix //Notify("Acesta este un apel de la modulul manager"); Report(„Acesta este un apel de la procesare externă”); // -- Sfârșit fix de procedură

Pasul 4.
În modulul manager, setăm un punct de întrerupere condiționat. Scriem următorul cod în condiția:

ExternalProcessing.Create(„C:\Debugging\Debugger.epf”, False).InstallDebugModule(Debugger, „Processing.PrintInvoice.ManagerModule”)

Pasul 5.
Să rulăm exemplul de testare. La punctul de întrerupere, se va apela verificarea stării. În acest caz, obiectul procesării externe create Processing.PrintInvoice.ManagerModule.epf va fi atribuit variabilei Debugger. Acest lucru va cauza starea Dacă Debugger<>Nedefinit Apoi se va executa și apelul va fi redirecționat către procesare externă.

Pasul 6.

Finalizăm și depanăm codul în procesare externă, fără a pierde timp la repornire după fiecare salvare.

După finalizarea modificărilor, înlocuim codul din modulul manager cu codul din procesare externă (complet).

Nu uitați să dezactivați punctele de întrerupere condiționate.

Înainte de a-l stoca în depozit, puteți elimina partea de depanare din modulul manager.

Zona de aplicare

În acest fel, puteți depana și modifica modulele managerilor oricăror obiecte și module generale (server).
O tehnologie similară este utilizată pentru a depana modulele obiect, dar există o serie de nuanțe și limitări.

Fișiere

Folosesc procesarea externă Debugger.epf, care, pe lângă funcția descrisă mai sus, are mai multe caracteristici utile. Inclusiv posibilitatea de a crea un șablon gol de procesare cu un nume corespunzător obiectului care este modificat

Procesarea se deschide în modul de aplicație gestionat și obișnuit în orice configurație.
Testat pe platforma 8.3 în modul de compatibilitate cu 8.2.13. Adică, ar trebui să funcționeze sub 8.2 și 8.3