Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Erori
  • Modul de compatibilitate cu extensia de configurare este mai mare decât modul. Extensii de configurare - cum să adăugați funcționalitate la o configurație obișnuită fără a fi eliminat din suport (20 de minute de videoclip)

Modul de compatibilitate cu extensia de configurare este mai mare decât modul. Extensii de configurare - cum să adăugați funcționalitate la o configurație obișnuită fără a fi eliminat din suport (20 de minute de videoclip)

Colegi, salut tuturor.

Acum câteva zile, a fost lansat un test Enterprise Accounting cu un mod dezactivat de compatibilitate cu platforma 8.3.6.
Aceasta înseamnă că această versiune folosește un nou motor care redă formele într-un mod nou.
Puteți citi despre asta în Through the Looking Glass.

Alături de cele standard, ar trebui să refaceți extensiile la noua platformă.
În procesul de traducere, am format o mică listă de verificare sau o notă cu privire la ceea ce trebuie făcut pentru mine.

Notificare:


1. Transferăm extensia pe o nouă platformă

Pentru a face acest lucru, schimbați modul de compatibilitate a extensiei în modul de compatibilitate de configurare.
În versiunea Enterprise Accounting, sunt setate următoarele proprietăți:

În extensie, puteți seta exact aceleași proprietăți sau puteți debifa toate casetele de selectare.
Absența steagurilor înseamnă că extensia nu va verifica aceste proprietăți atunci când este conectată.
Dacă aceste proprietăți se modifică în configurația principală, atunci extensia va începe oricum:


2. Eliminați problemele de conectare

Pentru a face acest lucru, rulați configurația în modul întreprindere și vedeți dacă a decolat sau nu.
Erorile din cauza cărora extensia nu a putut fi conectată pot fi vizualizate în jurnalul de înregistrare
(Administrare - Asistență și service - Jurnal)
Suntem interesați de evenimente - „Sesiunea. Eroare la aplicarea extensiei de configurare „:

Cel mai adesea, problema conexiunii este rezolvată prin eliminarea elementelor de recuzită sau obiectelor inutile.

Principala dificultate este că extensia nu generează toate erorile simultan (apropo, această problemă este rezolvată în 8.3.9).
Prin urmare, este necesar să rulați secvențial configurațiile după remedierea fiecărei erori.
Pentru a facilita lansarea jurnalului de înregistrare, adăugați-l la favorite:



3. Actualizarea formularelor din extensie

Pentru a face acest lucru, în fiecare formular modificat, faceți clic pe „Actualizați extensia formularului”
Cu această comandă, reîncărcăm formularul principal de configurare în extensie.

În principiu, va funcționa fără acest lucru, dar acest lucru este necesar pentru ca forma din extensie să arate la fel ca în configurația principală.
În versiunea 3.0.44, aproape toate formele au suferit modificări, așa că ar fi bine să aducem aceste modificări în extensie.


4. Aducem forma la regulile noului motor.

Vă recomand să citiți articolul – Recomandări pentru adaptarea formularelor la 8.3.7.
Acesta examinează caracteristicile noului motor și oferă recomandări specifice despre cum să vă asigurați că totul este bine în noua platformă.

Am compilat următoarea procedură:

  • Scoatem toate decoratiunile care au fost folosite pentru indentare.
    Grupurile sunt acum folosite în schimb.
  • Arătăm că totul arată bine.
    Dacă ceva a mers prost, atunci uită-te la articol.
    Dacă totul este bine, atunci mergi mai departe.
  • Verificarea noilor proprietăți ale platformei„Combinat”, „Lățimea maximă automată” și „Înălțimea maximă automată”.
    Ne uităm doar că valorile implicite ale platformei sunt setate în aceste proprietăți și forma nu se dispersează din această cauză.

În acest articol îmi propun să luăm în considerare ce este o „extensie de configurare”, cum să adăugați o extensie sau să o dezactivați. Din versiunea 1C 6/8/1977 a fost introdus un nou mecanism în platformă - extensii de configurare. În primul rând, o mică teorie.

Extensiile din 1C sunt ceva de genul configurațiilor paralele care sunt combinate automat cu configurația principală a furnizorului. Mai mult, în extensii, puteți adăuga atât propriile obiecte, cât și împrumutați obiecte din configurația principală.

Pentru ce sunt extensiile?

În primul rând, extensiile sunt concepute pentru a facilita efectuarea de modificări în program. Adică, dacă utilizatorii cereau să adauge unele funcționalități, atunci înainte de apariția extensiilor, programatorii trebuiau să elimine configurația din suport complet și să schimbe configurația tipică.

Retragerea de la suport complet implică o serie de inconveniente:

  • se pierde capacitatea de actualizare automată, ceea ce duce cel puțin la o creștere a timpului pentru;
  • este necesară calificarea înaltă a specialistului care deservește programul;
  • dacă s-au făcut modificări obiectelor standard ale unei configurații tipice, atunci în timpul unei actualizări acestea pot dispărea, adică pot fi înlocuite din nou cu obiecte standard de la furnizor.

Când utilizați extensii, când faceți modificări, programatorul nu va atinge configurația tipică. Toate modificările vor fi făcute folosind extensii, care (cum am scris mai sus) sunt, de asemenea, configurații. Astfel, configurația principală va rămâne pe deplin suportată.

După actualizarea configurației principale, dacă au apărut modificări în noua ediție cu un obiect care a fost modificat anterior de o extensie, modificările vor fi în continuare preluate din extensie. Adică, extensiile au prioritate față de configurația principală.

Video - extensii 1C în 45 de minute

Obțineți gratuit tutoriale video 267 1C:

Un exemplu de adăugare a unei extensii la 1C

Pentru a arăta ce este o extensie, este mai bine să dați un exemplu de creare a acesteia în configuratorul 1C.

În configurator, accesați meniul „Configurare” și selectați elementul „Extensii de configurare”. Se va deschide o fereastră cu o listă de extensii (dacă există). Faceți clic pe butonul Adăugați și adăugați o nouă extensie. Acum puteți deschide configurația extensiei:

După cum puteți vedea, configurația extensiei are exact aceeași structură ca cea principală. Doar că inițial este complet curat, fără obiecte.

Am scris recent un articol despre cum să o fac eu. Folosind exemplul ei, vreau să îl fac în linie folosind o extensie.

În procesare, am un câmp cu link către directorul „Organizații”. Prin urmare, acest ghid este necesar pentru mine. Dar nu vom crea un nou director „Organizații”, mai ales că platforma nu va permite acest lucru. Este imposibil ca configurația extensiei să conțină obiecte cu același nume ca obiectele din configurația principală.

Prin urmare, vom împrumuta referința din configurația principală:

Acum să facem clic dreapta pe „Procesare” și să selectăm „Inserare procesare externă, raportare...” Astfel, vom adăuga o nouă procesare la configurația extensiei. Dacă utilizați procesarea mea, atunci redenumiți-o imediat, deoarece configurația principală are deja o procesare cu acest nume.

Ei bine, atingerea finală. Doresc ca procesarea mea să fie reflectată în meniul Administrare. Pentru a face acest lucru, vom împrumuta subsistemul cu același nume în configurația principală. Nu uitați să indicați în procesare că aparține acestui subsistem.

Iată structura pe care am primit-o:

Să vedem ce avem. Actualizăm configurația bazei de date și rulăm programul în 1C: modul Enterprise și mergem la meniul „Administrare”. Da, aproape am uitat, configurația extensiei trebuie să fie închisă, altfel programul nu va porni:

Tema este „îngrijită” revizuirea tipicului configurația este întotdeauna actualizată.

Cu ajutorul extensiilor devine posibil să se facă îmbunătățiri, părăsind configurația Fara schimbari(acesta este fără a scoate „din lacăt”).

Ca exemplu, noi vom extinde funcționalitatea standardului„1C: Contabilitate 8” – vom adăuga verificări pentru caracterul complet al detaliilor documentelor. Ca rezultat, sistemul va emite diagnostice dacă detaliile sunt completate cu valori „greșite”.

Literalmente în 15 minute Vei învăța tehnici pe care le poți folosi pentru a rezolva diferite probleme.

Mai mult, în al doilea videoclip vă vom arăta mecanism universal pe baza extensiilor. Și, după ce a dezvoltat un astfel de mecanism o singura data, se poate conecta la orice configurație tipică.

Visează la propriu nepieritor poate deveni realitate :)

Deci sa începem:

Video 1. Tehnici de lucru cu extensii - de exemplu „1C: Contabilitate 8”

După ce ați studiat videoclipul, veți învăța:

  • Creați și conectați-vă extensii la configurare
  • Îndeplini depanare extensii
  • Modificați formularele standard prelucrări/documente folosind extensii
  • Interceptarea evenimentelor forme de configuraţie tipică
  • Stocați date nu în tabelele IB (stocare setări)
  • Utilizați procesarea ca magazin de algoritmi

Vom analiza și noi optimizare alcătuirea obiectelor de extensie şi restricții de extindereîn versiunile curente ale platformei.

Video 2. Crearea de mecanisme universale folosind extensii

În acest videoclip vom arăta:

  • Conectarea unei extensii în modul utilizator ( fara configurator)
  • Exemplu verificare universală umplere
  • Caracteristici ale implementării extensiilor - crearea de formulare cu selecții arbitrare și stocarea datelor în extensii

A fost lansată o nouă versiune a platformei 8.3.11, care vă permite să adăugați și să modificați obiecte de metadate prin extensie. Acum putem implementa cu adevărat orice îmbunătățiri fără a elimina configurația din suport? Merită să promiți clientului munți de aur fără nicio consecință?

În primul rând, trebuie să fii conștient de limitările pe care le au extensiile.

Restricții asupra obiectelor create

În acest moment puteți crea:

  • Directoare
  • Documentele
  • Registre de informații
  • Schimb de planuri

Puteți adăuga detalii la:

  • Directoare
  • Documentele

Cu ce ​​ajungem? Nu toate tipurile de obiecte metadate pot fi adăugate. Cea mai răspândită și solicitată, dar totuși nu toate. În plus, noi dimensiuni și resurse nu pot fi adăugate la registrele de detalii. Puteți crea doar un registru complet nou.

Funcționalitatea extensiilor depinde de modul de compatibilitate al configurației la care se aplică extensia.

Modul de compatibilitate 8.3.8- puteți schimba doar formele obiectelor și modulele acestora, puteți adăuga propriile rapoarte și procesare.

Modul de compatibilitate 8.3.10- puteți schimba module comune, module de obiect și manager, roluri, utilizați directivele „Înainte”, „După”, „În loc” pentru orice module.

Nu utilizați modul de compatibilitate- puteți folosi toate funcționalitățile extensiilor, inclusiv adăugarea de noi obiecte.

În acest moment, UT 11.3 tipic are un mod de compatibilitate de 8.3.8. În UT 11.4, modul de compatibilitate este 8.3.10, adică, de exemplu, pentru UT, majoritatea funcționalității extensiilor nu sunt disponibile, inclusiv crearea de obiecte de metadate.

S-ar părea că asta ridică întrebarea: de ce nu eliminați pur și simplu rădăcina din suport, setați modul de compatibilitate „Nu folosiți” și utilizați extensiile în siguranță? Schimbarea modului de compatibilitate poate modifica comportamentul formularelor, rezultatele interogărilor, de ex. comportamentul sistemului în ansamblu. Este foarte recomandat să nu schimbați modul de compatibilitate fără a-l testa mai întâi. Dar este evident că pare posibil să se testeze integral (sau cel puțin parțial din documentele utilizate) o întreagă soluție aplicată. Prin urmare, nu ar trebui să utilizați această opțiune.

La conectarea extensiei la configurația standard, împrumutând obiecte standard, extensia controlează modul de compatibilitate al configurației principale și tipurile de obiecte împrumutate și detaliile acestora. Dacă proprietățile monitorizate nu se potrivesc, extensia este dezactivată și nu funcționează până când cauza este eliminată. Adică, cu o actualizare majoră, există o probabilitate mare de a schimba cel puțin una dintre proprietățile monitorizate și pierderea funcționalității extensiei.


În plus, dacă modificările sunt semnificative, multe proceduri și funcții ale configurației tipice au fost înlocuite, va fi necesar să se efectueze un control atent al acestora și, dacă este necesar, să le alinieze configurației tipice, păstrând modificările efectuate anterior. .


În cazurile de mai sus, veți avea în continuare nevoie de ajutorul unui programator și, eventual, de timp semnificativ pentru revizuire (dar tot mai puțin decât atunci când actualizați o configurație care a fost eliminată din suport).

concluzii

  • Noua versiune a platformei a oferit noi oportunități de utilizare a extensiilor, a devenit posibilă adăugarea de obiecte de metadate, dar, în ciuda acestui fapt, funcționalitatea are anumite limitări.
  • Modul de compatibilitate al configurației căreia i se aplică extensia limitează sever extensibilitatea; nu se recomandă schimbarea modului de compatibilitate.
  • Actualizările mari necesită încă atenția dezvoltatorului, deoarece există o probabilitate mare de modificare a proprietăților controlate.

Implementat în versiunea 8.3.6.1977.

Am implementat un mecanism fundamental nou pentru adaptarea soluțiilor aplicate la un anumit consumator - un mecanism de extindere.

De ce sunt bune extensiile?

Extensiile oferă o strategie diferită de modificare a configurațiilor tipice decât cea existentă. Utilizarea acestei noi strategii va facilita foarte mult menținerea soluțiilor standard pe care doriți să le adaptați nevoilor unei implementări specifice, unui anumit client.

Cum arată acest proces acum? Există o configurație tipică. Este susținută pe deplin de furnizor. Asta înseamnă că nu îl poți schimba. Furnizorul lansează periodic versiuni noi (îmbunătățite) ale acestei configurații. Într-o astfel de situație, actualizarea versiunii vechi a configurației la noua versiune se realizează complet automat. Este convenabil și nu necesită abilități sau cunoștințe speciale din partea clientului.

Dar adesea clientul dorește să adauge ceva sau să schimbe ceva într-o configurație tipică „pentru el însuși”. Pentru aceasta, modul de suport este schimbat, configurația este eliminată din suport complet. Partenerul care realizează implementarea sau specialiștii IT ai clientului efectuează modificările necesare. Din acest moment, o actualizare complet automată a unei configurații tipice la o nouă versiune emisă de furnizor devine imposibilă.

Acum este necesar un specialist pentru a actualiza configurația. Mai mult, dacă modificările efectuate la cererea clientului au fost semnificative, atunci poate fi necesară o investiție semnificativă de timp din partea specialistului care efectuează actualizarea configurației. Și adesea poate fi necesară o cunoaștere foarte bună atât a configurației tipice în sine, cât și a modificărilor efectuate.

Strategia sugerată de extensii este următoarea. Dacă doriți să schimbați configurația tipică, nu atingeți configurația în sine. Toate modificările pe care le faci în extensie, care, de fapt, este și o configurație.

În modul 1C: Enterprise, pur și simplu vă conectați extensia la configurația standard. Platforma în mod automat, în modul 1C: Enterprise, combină extensia dvs. cu o configurație tipică. Ca urmare, clientul lucrează cu o soluție standard modificată, conform dorințelor sale.

Când un furnizor lansează o nouă versiune a configurației tipice, se efectuează o actualizare automată deoarece modul de întreținere pentru configurația tipică nu s-a schimbat. Ea a rămas pe deplin sprijinită de furnizor. Și când lansați o soluție de aplicație actualizată, platforma va îmbina automat configurația standard modificată cu extensia dvs. Iar clientul va continua să lucreze cu o soluție standard modificată, conform dorințelor sale.

Când ar trebui să utilizați extensiile?

Mecanismul de extensie este tentant pentru versatilitatea sa. Prin urmare, este important să înțelegeți corect sarcinile pentru care este destinat.

În primul rând, extensiile sunt de neînlocuit atunci când soluția aplicației funcționează în modul de partajare a datelor. De exemplu, în modelul de servicii. Unul dintre abonați dorește să aibă câteva rapoarte suplimentare. În timp ce restul abonaților doresc să lucreze cu configurația tipică neschimbată.

Apoi, pentru acest abonat puteți dezvolta o extensie în care să-și îndeplinească toate dorințele. Abonatul va conecta singur această extensie și va lucra cu configurația schimbată. În timp ce pentru restul abonaților nu vor avea loc modificări. Deoarece toate extensiile sunt conectate și rulează în contextul valorilor separatorului curent.

O altă situație este finalizarea unei configurații tipice pentru un anumit client în implementarea acestuia. Sau modificări ale configurației tipice, care sunt efectuate de către specialiștii IT ai clientului pe cont propriu. Dacă toate aceste îmbunătățiri sunt aduse în extensie, atunci configurația tipică va rămâne pe deplin acceptată, ceea ce va simplifica foarte mult întreținerea ulterioară a acesteia.

Există tentația de a folosi extensii pentru a crea aplicații comerciale, dar nu ar trebui. În primul rând, pentru că extensiile nu au fost concepute pentru astfel de sarcini. Și în al doilea rând, pentru că alte mecanisme de platformă, precum mecanismele de livrare și suport, nu știu nimic despre extensii.

Dacă te uiți puțin în istoria apariției extensiilor, atunci, desigur, am mai văzut și acum vedem că configurațiile devin mai complexe. Vedem că este nevoie de suport suplimentar la diferite niveluri de dezvoltare: bibliotecă, modular și industrie etc. Am analizat toate aceste sarcini și am ajuns la concluzia că cea mai prioritară în acest moment este adaptarea configurațiilor la dorințele utilizatorilor în timpul implementărilor.

Pentru această sarcină am creat mecanismul de extensie. Desigur, în el puteți observa diferite caracteristici ale celorlalte zone de dezvoltare enumerate. Dar ele nu sunt scopul său principal și nu ar trebui să vă încurce.

Ce poți schimba acum cu extensii?

Până acum, nu s-a făcut mare lucru din ceea ce este planificat să fie făcut. Mecanismul se va dezvolta, desigur. Dar ceea ce s-a făcut deja poate fi util în multe cazuri pentru implementări. Acum:

  • Poate fi schimbat formulare gestionate existent într-o configurație tipică;
  • Puteți adăuga noi subsisteme... Puteți modifica compoziția subsistemelor disponibile în configurația tipică;
  • Poate fi schimbat rol o configurație tipică, adăugându-le obiecte create în extensie;
  • Poate fi schimbat interfață de comandă configurație tipică (secțiunea principală, subsisteme);
  • Puteți adăuga noi rapoarteși prelucrare.

În viitor, intenționăm să creștem treptat funcționalitatea extensiilor și vom fi bucuroși să obținem părerea dvs. cu privire la funcționalitatea cea mai solicitată în implementările cu modificări minore.

Cum funcționează extensia?

Extensia este foarte asemănătoare cu configurația obișnuită. De asemenea, este reprezentat ca un arbore de obiecte. Pentru a lucra cu extensia, se folosesc aceleași metode de lucru ca și în configurația obișnuită.

O caracteristică importantă a extensiei este prezența obiecte împrumutate... Puteți împrumuta orice obiect dintr-o configurație tipică folosind comanda meniului contextual:

Obiectele împrumutate nu sunt întotdeauna necesare. Cel mai bun mod de a explica acest lucru este folosind un exemplu „de zi cu zi”, dacă facem o analogie cu prânzul într-un restaurant.

Prima situație este atunci când sunt necesare obiecte împrumutate.

Sunteți obișnuit să luați masa la același restaurant. Întotdeauna comanzi friptură și ceai. De exemplu, pentru că sunt foarte buni la acest restaurant. Sau dintr-un alt motiv. Nu contează. Este important doar să le mănânci și nimic altceva.

Apoi, un restaurant este o bază de informații tipică. Sunteți o extensie. Meniul restaurantului este o configurație standard extensibilă. Friptura și ceaiul sunt obiecte împrumutate. Le-ați împrumutat (rețineți că sunt în meniu).

Cum se conectează extensia la configurație și cum funcționează? Vii la un restaurant și ceri un meniu. În meniu, vezi că există friptură și ceai. Adică stabiliți o corespondență între obiectele împrumutate și obiectele de o configurație tipică. Desigur, stabilești corespondența după nume :). Îți aduc friptură și ceai, iar tu le mănânci. Adică extensia se conectează și funcționează.

O săptămână mai târziu vii, dar meniul restaurantului s-a schimbat (configurația standard a fost actualizată). Cu toate acestea, mai există friptură și ceai în meniu. Sunt exact ceea ce ai nevoie. Ei ți le aduc, tu le mănânci. Adică, extensia continuă să funcționeze cu configurația tipică actualizată.

O săptămână mai târziu, vii la un restaurant și vezi că friptura și ceaiul au dispărut din meniu. Te ridici și pleci (mesaj de eroare a conexiunii la extensie). Pentru că asta ai vrut. Și habar nu ai despre alte feluri de mâncare (obiecte). Dezvoltatorul nu te-a învățat cum să mănânci corect melci sau homar.

O altă situație este atunci când te poți descurca fără obiecte împrumutate.

Te duci la un restaurant, dar nu te interesează disponibilitatea unor preparate specifice. Pentru că oricum nu le vei mânca. Vrei doar să-i fotografiezi. Și știi să fotografiezi orice fel de mâncare. Apoi doar te conectezi la config și spui: purtați toate gustările pe care le aveți în meniu (obțineți o colecție de documente din metadate). Le voi reposta (fotografie).

Dacă descrii acest lucru în limbajul uscat al dezvoltatorilor, se dovedește că trebuie să împrumuți obiecte:

  • Când sunt necesare pentru designul vizual. De exemplu, extindeți un formular și adăugați un formular de recuzită ca DirectorMonede.Link... Atunci, desigur, ar trebui să împrumutați referința Monede, astfel încât atunci când vă conectați la o configurație tipică, asigurați-vă că un astfel de director mai există în ea.
  • Când sunt necesare pentru ca codul să funcționeze. De exemplu, în codul extensiei, vă referiți la atributul de referință Nomenclatură - Importator... Apoi, acest atribut trebuie de asemenea să fie împrumutat pentru a fi sigur la conectare că un astfel de atribut mai există în cartea de referință în configurația standard Nomenclatură.

Conexiune la extensie

Creați o extensie în configurator. Odată ce este depanat și testat, îl puteți respinge salvând extensia într-un fișier * .cfe.

Puteți transfera acest fișier către client. Clientul îl va încărca în mod independent în baza sa de date în modul 1C: Enterprise utilizând funcția standard Gestionarea extensiilor de configurare.

Lucrul cu extensii este disponibil din limbajul încorporat, așa că în soluția de aplicație vă puteți crea propria procesare care va încărca extensiile. Pentru ca toată lumea să nu se deda cu extensii, am adăugat un nou drept - Administrarea extensiilor de configurare.

Când o extensie este încărcată dintr-un fișier, aceasta este salvată în baza de informații. Mai mult, este salvat în contextul valorilor curente ale separatorilor utilizați în această sesiune.

Sesiunea trebuie repornită pentru ca extensia să funcționeze. La începutul sesiunii, chiar înainte ca evenimentul să fie convocat SettingSessionParameters, vor fi conectate toate extensiile stocate în infobază și corespunzătoare valorilor curente ale delimitatorilor acestei sesiuni.

Ca urmare, atunci când lucrați în modul de partajare a datelor, extensia va fi aplicată numai utilizatorilor acelui abonat. Și dacă separarea datelor nu este utilizată, atunci extensia va funcționa pentru toți utilizatorii bazei de informații.

Când conectați o extensie, așa cum am spus deja, este controlat ca obiectele împrumutate să existe în configurația tipică. Obiectele sunt potrivite după nume.

În plus, este posibil un control mai fin. Puteți controla nu numai existența obiectelor, ci și starea proprietăților lor individuale. Adică dacă te gândești la restaurant și la friptură, poate fi importantă pentru tine nu doar prezența fripturii cumva gătite, ci tocmai că aici se gătește nefiertă, „cu sânge”.

Revenind la extensie, implicit nu controlează proprietățile obiectelor împrumutate. Dar, dacă este necesar, puteți face unele proprietăți controlabile. De exemplu, pentru algoritmul dvs. este important ca nu numai o referință să existe Nomenclatură, dar și că codul său este de tip Linia.

Apoi, dacă într-o configurație tipică furnizorul schimbă tipul de cod al acestei referințe la Număr, extensia dvs. va detecta acest lucru în momentul conectării și va raporta o eroare.

Un punct interesant este legat de redenumirea obiectelor de configurare standard. De exemplu, ai venit la un restaurant și în loc de Friptură scris Friptură... Adică, conectându-se la configurație, extensia nu găsește referința în ea Nomenclatură deoarece vânzătorul l-a redenumit în Bunuri.

Acum această situație nu este o problemă pentru tine. Și nu trebuie să „lopați” tot codul de extensie, astfel încât în ​​loc de Nomenclatură a scrie Bunuri... Lucrări și. Prin urmare, trebuie doar să schimbați numele obiectului împrumutat în Bunuri, iar restul modificărilor din extensie vor fi făcute chiar de platformă. Sau cu ajutorul tău minim.

Lucrare de extindere

Puteți vorbi mult timp despre caracteristicile extensiei diferitelor obiecte, despre caracteristicile lucrării extensiilor în sine. Dar suntem limitați de domeniul de aplicare al articolului de recenzie, așa că vom atinge doar punctele cheie și cele mai revelatoare.

Principalul „farmec” al extensiilor este, desigur, că nu puteți adăuga ceva la o configurație tipică care nu există. Și adevărul este că în extensie puteți schimba ceea ce este deja în configurația standard. Adică, puteți modifica proprietățile obiectelor împrumutate.

Conceptul de bază utilizat atunci când configurația și extensia lucrează împreună poate fi descris după cum urmează. Acolo unde nu se suprapun, extensia completează configurația. În acele locuri în care se „intersectează” – se aplică extensia.

Acest lucru poate fi văzut mai detaliat în exemplul de formulare gestionate. Puteți împrumuta formularul din configurația principală și îl puteți edita în extensie fără restricții. Două strategii diferite de îmbinare sunt utilizate pentru partea vizuală a formularului și pentru modulul acestuia.

Partea vizuală a formularului este fixată în expansiune în momentul împrumutării sale. Iar în modul 1C: Enterprise, pentru fiecare element al formularului, modificările sunt analizate în raport cu această stare în configurația standard și în extensie.

Dacă nu au existat modificări sau au fost doar în configurația tipică, se aplică valoarea din configurația tipică. În caz contrar, se folosește valoarea din extensie.

Astfel, dacă ați adăugat o nouă comandă la formular în extensie, o veți vedea împreună cu restul comenzilor din formular. Și dacă ați schimbat antetul unui grup existent, atunci veți vedea antetul dvs. chiar dacă furnizorul modifică antetul acestui grup în configurația standard.

O abordare diferită este utilizată pentru modulele de formular. Pentru forma împrumutată, extensia își creează propriul modul cu propriile sale handlere pentru toate evenimentele. În 1C: modul Enterprise, ambele module de formular (dintr-o configurație tipică și dintr-o extensie) sunt combinate într-un singur context. Din acest motiv, fiecare extensie are propriul prefix, care se adaugă tuturor gestionatorilor de evenimente din modulul formular. Astfel încât să nu existe potriviri cu handlerele din configurația tipică. Managerii de evenimente și comenzi sunt apoi apelați secvențial și sincron. Mai întâi handlerul din extensie. Apoi dintr-o configurație tipică. Puteți modifica această secvență sau puteți interzice complet execuția handler-ului din configurația tipică.

În general, în ceea ce privește operarea în comun a configurației și extinderii în modul 1C: Enterprise, acestea există într-un spațiu de nume comun. Acest lucru se aplică nu numai modulelor individuale, ci și arborilor de metadate în sine. Prin urmare, în modul 1C: Enterprise nu există nicio modalitate de a determina dacă acest obiect este „nativ” pentru o configurație tipică sau dacă provine dintr-o extensie.

În ceea ce privește restul obiectelor pe care le poți folosi în extensie, totul pare mult mai simplu pentru ele.

În extensie, vă puteți crea propriile subsisteme. Folosind obiecte împrumutate, puteți extinde subsistemele existente: adăugați obiecte și subsisteme la acestea care sunt deja în configurația standard sau cele pe care le-ați creat în extensie. Nu puteți șterge ceva dintr-un subsistem existent.

Puteți extinde roluri numai adăugând obiecte create în extensie la acestea. Nici nu puteți elimina nimic dintr-un rol existent. Același lucru este valabil și pentru interfața de comandă.

Extinderea este aproape configurație

Am spus la început că o extensie arată ca o configurație obișnuită. Prin urmare, în concluzie, aș dori să spun câteva cuvinte despre modul în care extensiile sunt integrate cu alte mecanisme ale platformei.

O extensie (ca o configurație obișnuită) are o configurație de bază și o configurație de bază de date. Mecanismul de comparare și îmbinare a configurațiilor funcționează cu extensii în același mod ca și cu configurațiile obișnuite.

Puteți descărca extensia într-un fișier (deși cu o extensie diferită * .cfe) și puteți încărca din fișier. Extensiile pot fi descărcate/încărcate în XML.

Mecanismele de căutare globală, înlocuire, editare a textelor de interfață funcționează și cu extensii.

Există noi parametri de linie de comandă pentru lucrul cu extensii, precum și noi evenimente în jurnal.

În limbajul încorporat, obiectul principal pentru lucrul cu extensii este Manager de extensie.

Top articole similare