Atribuirea de gestionare a evenimentelor folosind abonamente la evenimente. Mecanismul formelor principale Ce este un handler de evenimente în 1C

La obiect Document există un set de evenimente cu care un dezvoltator poate interveni în procesul de scriere a unui document în baza de date folosind handlere pentru aceste evenimente. În funcție de tipul de acțiune pe care o efectuează utilizatorul, evenimentele documentului sunt apelate într-o anumită secvență.
Există următoarele tipuri principale de acțiuni pentru un document:

  • Scrie
  • Conduce
  • Glisați și închideți
  • Anulare
Să luăm în considerare succesiunea evenimentelor pentru fiecare acțiune.

Acțiune Scrie

Pentru un document neînregistrat, succesiunea evenimentelor la înregistrarea unui document din formular va fi următoarea:
  1. Modul obiect - înainte de înregistrare (începe tranzacția, documentul nu a fost încă scris);
  2. Modul formular (&OnServer) - la înregistrarea pe server (comiterea unei tranzacții);
Rețineți că pentru a extinde formularul de document, platforma 1C setează implicit valoarea Adevărat pentru proprietate Când se înregistrează transferul, prin urmare, atunci când înregistrați un document postat dintr-un formular, platforma 1C îl va reposta automat. În acest caz, pentru un document postat, succesiunea evenimentelor la scrierea din formular va fi următoarea:
  1. Modul formular (&OnClient) - înainte de înregistrare;
  2. Modul formular (&OnServer) - procesarea verificării de umplere pe server;
  3. Modul obiect - procesare verificare umplere;
  4. Modul formular (&OnServer) - înainte de înregistrare pe server;
  5. Modul obiect - înainte de înregistrare (începerea tranzacției, documentul nu a fost încă scris);
  6. Modul obiect - la scriere (documentul este scris);
  7. Modul obiect - postprocesare (formarea unui set de înregistrări de mișcare a documentelor);
  8. Modul formular (&OnServer) - la înregistrarea pe server (se înregistrează un set de înregistrări ale mișcărilor documentelor, se înregistrează o tranzacție);
  9. Modul formular (&OnServer) - după înregistrarea pe server;
  10. Modul formular (&OnClient) - după înregistrare.
Dacă pentru proprietate Când se înregistrează transferul valoarea stabilită Minciună, atunci succesiunea evenimentelor la înregistrarea unui document postat din formular va fi aceeași ca și pentru un document neînregistrat.

Secvența evenimentelor la scrierea unui document dintr-un formular pentru care postarea este interzisă (proprietate Efectuarea setat la Interzice) va fi după cum urmează:
Spre deosebire de un document care este permis să fie realizat, în acest caz nu există niciun eveniment PrelucrareConducere. Dar, la înregistrarea unui document postat cu repostare și la înregistrarea unui document pentru care postarea este interzisă, pe lângă înregistrarea în sine, evenimentul este numit și în contextul formei și în contextul obiectului ProcesareVerificareUmplere. Acest eveniment este cauzat de extensia formularului pentru a verifica dacă detaliile sunt completate la înregistrare sau la postarea unui document în formular.

Acțiune Efectuați

La efectuarea acestei acțiuni, adică înregistrarea unui document nou cu postare din formular, succesiunea evenimentelor va fi aceeași ca și pentru acțiunea de înregistrare a unui document postat (vezi Figura 2).

Acțiune Efectuați și închideți

Secvența evenimentelor este similară cu acțiunea de executare (vezi Figura 2).

Acțiune Anulare

Această acțiune inițiază scrierea documentului și declanșează următoarea secvență de evenimente:
  1. Modul formular (&OnClient) - înainte de înregistrare;
  2. Modul formular (&OnServer) - înainte de înregistrare pe server;
  3. Modul obiect - înainte de înregistrare (începerea tranzacției);
  4. Modul obiect - prelucrarea ștergerii conducției (ștergerea mișcărilor);
  5. Modul obiect - la înregistrare (mișcările sunt șterse, documentul este înregistrat);
  6. Modul formular (&OnServer) - după înregistrarea pe server (comitarea tranzacției);
  7. Modul formular (&OnClient) - după înregistrare.
Dacă acțiunile nu sunt executate din formular (executate programatic), diferența este că evenimentele din formular nu sunt executate!

Mecanismul de abonare la evenimente este conceput pentru a atribui un handler de evenimente pentru unul sau mai multe obiecte de configurare ale platformei 1C:Enterprise. Articolul discută mai multe exemple de utilizare a acestui mecanism. După ce ați studiat articolul, veți învăța:

  • Ce este abonamentul la eveniment și cum să îl folosești în practică?
  • Cum se verifică duplicarea numelor atunci când înregistrați un element de director fără a modifica modulele directorului în sine?
  • Cum, folosind un abonament la eveniment, să asigurăm formarea mișcărilor în registrul de acumulare la postarea unui document?
  • Cum se asigură înlocuirea formei principale a documentului?

Aplicabilitate

Articolul discută versiunea 8.3 a platformei 1C:Enterprise. Informațiile prezentate sunt relevante pentru versiunile actuale ale platformei.

Abonamente la evenimente

Articolul discută câteva exemple de utilizare a unuia dintre obiectele auxiliare ale platformei 1C:Enterprise 8 - abonamente la evenimente.

Abonamentele de evenimente vă permit să plasați handlere externe în module comune care vor fi executate după executarea unui anumit handler de evenimente într-un modul obiect sau un modul manager.

în care nu este necesar efectuați modificări la un modul obiect sau un modul manager. Astfel, devine posibilă programarea extinderea modulelor fără modificarea acestora- Aceasta este o tehnică foarte utilă atunci când se schimbă soluțiile standard.

Abonamente la evenimente sunt descrise în fir Sunt comune ferestre de obiect de configurare (Fig. 1).

Dacă în configurație este creat un abonament la un eveniment al unui obiect, de exemplu evenimentul Înainte de a scrie () obiect document, atunci când are loc acest eveniment, platforma efectuează următoarea secvență de acțiuni.

  1. Gestionarul de evenimente rulează Înainte de a scrie ()în modulul obiect document.
  2. Dacă în timpul execuției handler-ului parametrul Refuz ia valoare Adevărat sau se ridică o excepție, procesarea evenimentului este întreruptă.
  3. Dacă procesarea evenimentului nu a fost întreruptă în a doua etapă, atunci se execută handlere externi (abonamente la evenimente) definite pentru eveniment. Înainte de a scrie ().
  4. Dacă în timpul execuției handler-ului extern parametrul Refuz ia valoare Adevărat sau se aruncă o excepție, execuția handlerului extern este întreruptă.

Cu abonamente la evenimente vă puteți organiza efectuând diverse verificări, executat atunci când obiectele sunt scrise în baza de date.

Problema 1

Verificați duplicarea numelor atunci când înregistrați elementul de director „Contrapărți” - fără a modifica modulele directorului în sine.

Pentru a rezolva problema trebuie să creați un modul comun Manageri de abonamente la evenimente. Setați marcajul în paleta de proprietăți a modulului Server și client (aplicație obișnuită). Al doilea flag este necesar pentru ca abonamentul la eveniment să funcționeze într-o aplicație obișnuită.

Steag Client (aplicație obișnuită) disponibil dacă modul de editare este setat în parametrii configuratorului Aplicație gestionată și aplicare obișnuită.

În fir Sunt comune fereastra obiectelor de configurare creează un nou abonament la eveniment. În paleta de proprietăți, introduceți numele abonamentului Verificarea numelui directorului. În câmpul de selecție Sursă marca tipul de date DirectoryObject.Contrapartide. În câmpul de selecție Eveniment selectați evenimentul Înainte de a scrie (). După procesarea acestui eveniment, va fi declanșată procedura de procesare a abonamentului la eveniment (Fig. 2).

În câmpul de selecție Handler indică modulul general în care se află handlerul abonamentului de evenimente. Faceți clic pe butonul Deschidere din acest câmp și selectați modulul Manageri de abonamente la evenimenteși apăsați Bine. Sistemul va crea automat o procedură în modulul general cu parametrii SursăȘi Refuz. În parametru Sursă este transmis un obiect pentru care a fost creat un abonament la eveniment – DirectoryObject. . În parametru Refuz se transmite semnul refuzului de a scrie elementul.

În procedură Verificarea DirectoryNameBeforeWriting() se execută o interogare de director Contrapartide. Numele elementului director care trebuie scris este transmis ca parametru de cerere Contrapartide. Dacă un element cu același nume este deja în baza de date, atunci parametrul Refuz este setat la valoare Adevărat(introducerea elementului este anulată) și este afișat mesajul de diagnosticare corespunzător.

Lista procedurilor Verificarea DirectoryNameBeforeWriting()

În practică, este posibil să întâmpinați sarcina de a efectua mișcări pe registre suplimentare atunci când publicați documente în configurații standard. Crearea de registre suplimentare vă permite să evitați modificarea registrelor existente și, în același timp, să obțineți oportunitatea de prelucrare suplimentară a datelor atunci când procesați documente standard.

Problema 2

Creați un registru de acumulare circulant pentru „Ieșiri de numerar” și asigurați formarea mișcărilor în acest registru la afișarea documentului „Ordin de ieșire în numerar” folosind mecanismul de abonare la eveniment.

Creați un nou registru negociabil cu numele Eliminari Numerar. Selectați registratorul „Ordin de ieșire de numerar”. Adăugați dimensiunile registrului:

Creați o resursă de registry:

Sumă, tip Număr, Lungime – 15, Precizie – 2.

În documentul „Ordin de cheltuieli în numerar” creați detaliile ArticolulMișcări cu tipul de date DirectoryLink.ArticlesMoneyMovements.

Nume - Mișcări privind eliminarea numerarului;
Sursă - DocumentObject.RKO;
Eveniment - PrelucrareConducere.

În modulul general Manageri de abonamente la evenimente creați un handler . Procesorul ocolește partea tabelară a documentului „Ordin de ieșire numerar” și generează mișcări în registrul de acumulare Eliminari Numerar.

Lista procedurilor Mișcări privind eliminarea CashProcessingProcessing()

În configurațiile tipice, poate fi necesară modificarea formei de bază a unui obiect, de exemplu un document. Această problemă poate fi rezolvată folosind abonamente la evenimente. Aceasta creează o copie a formularului documentului principal. Modificările necesare sunt aduse noului formular. Mecanismul de abonare la evenimente asigură deschiderea unui formular nou în locul formularului principal. În acest caz, forma principală care este suportată rămâne neschimbată.

Problema 3

Asigurați înlocuirea formei principale a documentului „Ordin de cheltuieli în numerar”.

Creați un nou formular de document „Ordin de primire în numerar” cu numele DocumentFormClient. Efectuați modificări arbitrare în formular, de exemplu, modificați ordinea controalelor. Pentru a apela acest formular trebuie să utilizați un abonament la eveniment ProcessGetForm()în modulul de gestionare a documentelor „Ordin de primire numerar”.

Creați un nou abonament la eveniment:

Nume - MainFormRKO;
Sursă - DocumentManager.RKO;
Eveniment - ProcessingFormReceive.

În modulul general Manageri de abonamente la evenimente creați un handler . În handler ca parametru SelectedForm Numele formularului de deschis este transmis.
Parametru Procesare standard este setat la valoare Minciună pentru a dezactiva deschiderea formularului principal.

Lista procedurilor MainFormRKOFormReceivingProcessing()

Pentru a găsi abonamente la evenimente definite pentru un obiect de configurare, puteți utiliza mecanismul de căutare referință la obiect. Pentru a face acest lucru, selectați un obiect în fereastra obiectelor de configurare și executați comanda din meniul contextual Găsirea referințelor la un obiect. Ca rezultat al executării comenzii, în fereastra de mesaje de service va fi afișată o listă de obiecte care conțin link-uri către obiectul dorit.

Astfel, abonamentele la evenimente oferă posibilitatea de a adăuga noi funcționalități fără a modifica modulele obiect existente. Dezavantajele abonamentelor la evenimente includ:

  • Creșterea complexității algoritmilor.
  • Vă puteți abona doar la evenimente de obiecte și manageri de obiecte.

Dacă este necesară modificarea oricărui eveniment de formular, atunci mecanismul de abonare la eveniment nu este disponibil. În acest caz, trebuie să faceți modificări în formularul în sine sau să copiați formularul și să faceți modificări noului obiect.

Când un utilizator dă clic pe un buton, se deschide sau se închide un formular, este scris un document, are loc un eveniment.

Înainte de a înregistra fiecare document, dorim să verificăm dacă acest detaliu este completat.

Cum să o facă?

Abonamente la evenimente 1C

Abonamentul la evenimente 1C este , se află în ramura de configurare General/Abonamente la evenimente 1C.

Abonarea la un eveniment 1C vă permite să atribuiți un handler atunci când are loc un eveniment pentru mai multe obiecte (directoare, documente).

Să adăugăm un nou abonament la evenimentul 1C și să setăm numele.

În proprietatea abonamentului eveniment 1C Sursă - trebuie să selectați unul sau mai multe documente, directoare - obiecte pe care plasăm handlerul.

În proprietatea abonamentului 1C Event, trebuie să selectați una dintre opțiunile pentru evenimentele standard care pot avea loc cu documentele și directoarele selectate.

Simplificăm spunând „documente și cărți de referință” - de fapt, puteți folosi multe obiecte 1C. Din păcate, nu vă puteți abona la evenimente de formular 1C - de exemplu, când deschideți un formular, ceea ce regretă mulți programatori.

Setul de evenimente posibile depinde de obiect. Fiți atenți, deoarece dacă selectați mai multe (multiple) obiecte, atunci lista de evenimente va conține doar acele evenimente pe care le poate avea fiecare dintre obiectele selectate (adică evenimente comune tuturor obiectelor selectate).

După aceasta, tot ce rămâne este să creați o funcție de gestionare. Pentru a face acest lucru, configurația trebuie să aibă caseta de selectare Server bifată în proprietăți. Când faceți clic pe butonul „lupă”, va fi creată o funcție - un handler.

Toate! Tocmai ne-am abonat la evenimentul 1C BeforeRecording pentru toate documentele. Acum, la înregistrarea oricărui document, se va executa funcția noastră, care include o verificare.

Pentru a refuza să scrieți un document dacă verificarea este negativă, trebuie să setați parametrul funcției

Modulele obiect există pentru obiectele aplicației (documente, directoare, planuri de conturi etc.) și sunt destinate în primul rând procesării evenimentelor standard de tip înregistrare. De asemenea, puteți pune condiții precum verificarea corectitudinii datelor. Este important să înțelegeți că procesarea evenimentelor de înregistrare poate fi localizată și în modulul formular, dar va fi procesată doar când interactiv lucrul cu un obiect. Dacă obiectul este înregistrat în mod programatic, atunci handlerul de evenimente va fi executat din modulul obiect.
Modulul obiect poate fi deschis făcând clic pe butonul corespunzător din fila Altele:
Sul proceduri predefinite - handlere de evenimente module obiect:

  • Modul obiect director:
    • Când instalați un cod nou
    • La copiere
    • ProcesareUmplere
    • Înainte de înregistrare
    • Când se înregistrează
    • Înainte de Ștergere
    • ProcesareVerificareUmplere
  • Modul obiect document:
    • PrelucrareConducere
    • ProcesareUmplere
    • Când instalați un număr nou
    • La copiere
    • Înainte de înregistrare
    • Când se înregistrează
    • Înainte de Ștergere
    • ProcesareEliminare În curs de desfășurare
    • ProcesareVerificareUmplere
  • Modulul obiect raport:
    • ProcesareVerificareUmplere
    • La prezentarea rezultatului
    • SetFieldHeaders
  • Modul obiect de procesare:
    • ProcesareVerificareUmplere
  • Modulul obiect plan tip caracteristic:
    • Când instalați un cod nou
    • La copiere
    • ProcesareUmplere
    • Înainte de înregistrare
    • Când se înregistrează
    • Înainte de Ștergere
    • ProcesareVerificareUmplere
  • Modul obiect plan de conturi:
    • La copiere
    • ProcesareUmplere
    • Înainte de înregistrare
    • Când se înregistrează
    • Înainte de Ștergere
    • ProcesareVerificareUmplere
  • Modul obiect plan tip calcul:
    • La copiere
    • ProcesareUmplere
    • Înainte de înregistrare
    • Când se înregistrează
    • Înainte de Ștergere
    • ProcesareVerificareUmplere
  • Modul obiect de proces de afaceri:
    • Când instalați un număr nou
    • La copiere
    • ProcesareUmplere
    • Înainte de înregistrare
    • Când se înregistrează
    • Înainte de Ștergere
    • ProcesareVerificareUmplere
  • Modul obiect de activitate:
    • Când instalați un număr nou
    • La copiere
    • ProcesareUmplere
    • Înainte de înregistrare
    • Când se înregistrează
    • Înainte de Ștergere
    • HandlingInteractiveActivation
    • ProcessingChecksExecution
    • Înainte de Execuție
    • Înainte de execuția interactivă
    • Facand
    • ProcessingChecksExecution

Întrebarea 06.18 a examenului 1C: Platform Professional. Unde sunt procedurile de gestionare a evenimentelor pentru obiectele aplicației, de exemplu, OnWrite, BeforeDelete?

  1. În modulul formular
  2. În modulul obiect
  3. În modulul de aplicație
  4. Obiectele aplicației nu au astfel de evenimente

Analiza de mai sus.

Întrebarea 06.41 a examenului 1C: Platform Professional. Folosind comanda „AddHandler”, puteți atribui un handler de evenimente la:

  1. obiect COM
  2. instanță a unui obiect 1C:Enterprise (alocați evenimentelor modulului obiect)
  3. instanță a obiectului Form
  4. 1.2 răspunsurile sunt corecte
  5. Răspunsurile 1,2,3 sunt corecte

Să trecem la asistentul de sintaxă. Exemplele tratează instanțele de obiecte și obiectele COM.

AddHandler

Sintaxă:

AddHandler<Событие>, <ОбработчикСобытия>;

Opțiuni:

<Событие>

Evenimentul la care se adaugă un handler.

Evenimentul este specificat în formular<Выражение>.<Имя_события>, Unde:


<Выражение>- o expresie arbitrară în limbajul încorporat, al cărei rezultat ar trebui să fie un obiect la evenimentul căruia i se adaugă un handler;

<Имя_события>- identificatorul evenimentului (nume).


<ОбработчикСобытия>

Procedura/funcția de gestionare a evenimentelor.

Managerul de evenimente poate fi o metodă de obiect limbaj încorporată. Apoi<ОбработчикСобытия>este dat ca<Выражение>.<Имя_обработчика>, Unde:


<Выражение>- o expresie arbitrară în limbajul încorporat, al cărei rezultat ar trebui să fie un obiect a cărui metodă servește ca un handler de evenimente;

<Имя_обработчика>- numele metodei de gestionare a evenimentelor.


De asemenea, o procedură/funcție situată în domeniul de aplicare poate fi specificată ca un handler de evenimente. În acest caz, handlerul de evenimente este specificat ca numele procedurii/funcției.

Descriere:

Adaugă un handler de evenimente.

Când se adaugă un handler de evenimente, se face o verificare pentru a potrivi numărul de parametri de eveniment cu numărul de parametri ai metodei atribuite ca handler.

Exemplu:


Procesare = Procesare . Controlul documentelor. Crea () ; Factură = Documente. Factura fiscala. Creați document() ; Adăugați factura procesorului. OnRecord, procesare. Când se înregistrează un document; msword = New COMObject("Word.Application"); Adăugați un handler msword. Schimbarea documentului Când se schimbă documentul;

Procedură Când se schimbă documentul() A raporta ( „Documentul a fost modificat”); Sfârșitul procedurii


***

Întrebarea 06.36 a examenului 1C: Platform Professional. La definirea unui handler de evenimente pe un obiect COM, numărul de parametri din procedură - handler:

  1. egal cu numărul de parametri ai evenimentului obiect corespunzător
  2. cu un parametru mai mult decât evenimentul obiect corespunzător (primul parametru conține obiectul COM în sine)
  3. cu un parametru mai mult decât evenimentul obiect corespunzător (ultimul parametru conține obiectul COM însuși)
  4. întotdeauna un parametru (obiectul COM în sine)

Răspunsul corect este primul.La adăugarea unui handler de evenimente, numărul de parametri de eveniment este verificat pentru a se potrivi cu numărul de parametri ai metodei atribuite ca handler.

Întrebarea 06.37 a examenului 1C: Platform Professional. La definirea unui abonament la un eveniment, numărul de parametri din procedura de gestionare este:

  1. o astfel de procedură nu va avea parametri

Răspunsul corect este primul. Exemplu de cod în handlerul de evenimente:

Procedură Când se schimbă documentul(Refuz )
Sfârșitul procedurii

Exemplu de cod de procedură de handler:

Procedură Când se schimbă documentul(Sursa, declinare a răspunderii)

Sfârșitul procedurii


Întrebarea 06.38 a examenului 1C: Platform Professional. Când definiți un handler de evenimente pentru o instanță a unui obiect 1C:Enterprise, numărul de parametri din procedura de gestionare este:

  1. egal cu numărul de parametri ai handler-ului de evenimente corespunzător situat în modulul obiect
  2. cu un parametru mai mult decât handlerul de evenimente corespunzător situat în modulul obiect (primul parametru conține obiectul în sine)
  3. cu un parametru mai mult decât handlerul de evenimente corespunzător situat în modulul obiect (ultimul parametru conține obiectul în sine)
  4. o astfel de procedură nu va avea parametri
  5. întotdeauna un parametru (obiectul în sine pentru care a fost definit abonamentul)

Răspunsul corect este al doilea, similar cu întrebarea anterioară.

Întrebarea 06.40 a examenului 1C: Platform Professional. Când atribuiți un handler de evenimente unui obiect (instanța unui obiect 1C:Enterprise, obiect COM), procedura responsabilă pentru procesarea acestui eveniment ar trebui să fie localizată:

  1. necesare în modulul comun global
  2. necesare într-un modul comun non-global
  3. necesare în modulul de aplicație
  4. alegerea modulului nu este importantă, la vedere

Răspunsul corect este al patrulea, vezi fragmentul din asistentul de sintaxă.

Când lucrați cu o bază de informații 1C, adesea devine necesară legarea unui nou algoritm la un eveniment asociat cu o modificare a unui obiect. În versiunea 7 a programului, pentru a lansa handler-ul, a fost necesar să rescrieți codul sursă al programului, ceea ce a dus la probleme la actualizarea configurației.

După ce au analizat feedbackul utilizatorilor, cei opt dezvoltatori au implementat un nou obiect numit „Abonament la eveniment”. În acest articol vom încerca să dezvăluim:

  • Configurarea abonamentelor;
  • Creare;
  • Caracteristici de funcționare.

Creați un nou abonament

Ca orice alt obiect de metadate, un abonament la un eveniment în 1C este adăugat din configurator.

Aceste elemente sunt situate în ramura arborelui „General” (Fig. 1).

Pentru a adăuga un nou handler, trebuie să:


Fig.3

Pentru a evita problemele cu actualizarea, pentru propriile dezvoltări cel mai bine este să vă creați propriul modul comun, care va conține doar procedurile și funcțiile dumneavoastră.

Caracteristici ale funcționării abonamentelor

Una dintre principalele întrebări care se ridică utilizatorilor care încep să lucreze cu obiectul „Abonament la eveniment” este problema ordinii în care sunt apelate procedurile. Adesea, aici se află erorile din cauza faptului că procedura nu funcționează sau funcționează doar din când în când.

Folosind exemplul procedurii AtWrite() pentru orice document, puteți vedea ordinea în care sunt apelați handlerii.

Deci, dacă în modulul obiect document, această procedură există și în paralel cu aceasta are loc o procesare apelată din abonament și procesând același eveniment, modulul document va fi procesat primul. Dacă, în timpul execuției AtRecord() în modulul document, parametrul Respingere din anumite motive ia valoarea True, abonamentul este garantat să nu funcționeze.

În cazul în care există mai multe obiecte de abonament care sunt aceleași pentru o sursă și un eveniment, este foarte dificil să urmăriți ordinea de execuție. Și, dacă în timpul execuției a cel puțin unui handler se ridică o excepție, unele dintre proceduri vor rămâne neexecutate.

Astfel, secvența procesării poate fi specificată după cum urmează:

  1. Evenimentele modulului obiect sunt procesate;
  2. Sunt procesate abonamentele asociate direct cu tipul de date curent;
  3. Codul legat de tipul general este în curs de procesare.

Este foarte important să rețineți că în niciun caz nu trebuie să introduceți cod care modifică datele obiectului sursă în procedurile executate în timpul înregistrării, deoarece acest lucru poate duce la buclă inutilă. Este mai bine să utilizați un astfel de cod în procedurile BeforeWrite.

Formular deschis de gestionare a evenimentelor

Popularitatea tot mai mare a formularelor gestionate utilizate în versiunea 8 a programului, precum și problemele asociate cu actualizarea acestor obiecte în timpul salvării propriilor modificări, au dus la faptul că, începând cu platforma 8.2.15, evenimentul FormReceivingProcessing a apărut în program. Aici puteți introduce codul care se schimbă și înlocuiește formularele standard.

Câteva caracteristici ale acestui handler:

  • Evenimentul nu se va declanșa dacă formularul standard de deschis este strict specificat în configurație;
  • Evenimentul poate fi implementat doar pentru formularele gestionate;
  • Modulul general care conține acest handler nu trebuie să aibă doar atributul „Server”, ci și să conțină o casetă de selectare bifată în câmpul „Server de apeluri”.

Este important de luat în considerare că acest abonament este apelat nu pentru un obiect anume, ci pentru managerul său, adică câmpul sursă trebuie să conțină acest cuvânt (Fig. 4)

Fig.4

Pentru a rezuma cele de mai sus, aș dori să spun că „Abonamentul la eveniment” este un instrument extrem de util și necesar pentru dezvoltator, care îi permite dezvoltatorului să-și atingă propriile scopuri și obiective fără intervenții majore în configurare.

eroare: