Structura modulelor

1C: Întreprindere 8.2 /
Pentru dezvoltatori /
Codul convențiilor

Cuprins

1.1. În modulul programului (module generale, module de obiecte, module ale administratorilor de obiecte, module de formulare, comenzi etc.) în cazul general, următoarele secțiuni pot fi prezente în următoarele secvență :

Unele secțiuni pot fi prezente numai în module de un anumit tip. De exemplu, manipulatorii de evenimente pentru elementele de formă pot fi prezenți numai în module de formă, iar secțiunea de descriere a variabilelor și secțiunea de inițializare nu pot fi definite în module generale generale, module manager de obiecte, seturi de înregistrări, valori constante și modul de sesiune.

Cerința de a împărți codul modulului în secțiuni are scopul de a crește lizibilitatea codului și de a simplifica introducerea modificărilor aduse codului de către diferiți autori ( de către dezvoltatori ) ca și în dezvoltarea colectivă și în perfecționarea soluțiilor de aplicații pentru implementări specifice.

1.2. Șablon (secțiune necompletată pentru copiere) pentru modulele comune:

////////////////////////////////////////////////// //////////////////// // // // ////////////// ////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////// // INTERFATA SOFTWARE // // ////////////////////////////////////////////////// //////////////////////////////// SERVICIILE SI FUNCTIILE DE SERVICII

  • Secțiunea "Interfața programului" conține proceduri și funcții de export destinate utilizării de către alte obiecte de configurare sau alte programe (de exemplu printr-o conexiune externă).
  • Secțiunea "Proceduri și funcții ale utilităților" conține procedurile și funcțiile care alcătuiesc implementarea internă a unui modul comun. În cazurile în care modulul comun face parte din unele funcțional subsisteme care includ mai multe obiecte de metadate, această secțiune poate conține, de asemenea, proceduri și funcții de export de servicii destinate să fie apelate numai din alte obiecte ale acestui subsistem.
    Pentru modulele vrac comune, se recomandă divizarea acestei secțiuni în subsecțiuni, în funcție de atributul funcțional. Subsecțiunile sunt precedate de un comentariu, care este recomandat să se emită într-un mod similar. De exemplu:

////////////////////////////////////////////////// ////////////////////////////////////////////////////////// Actualizarea bazei de date

1.3. Șablon pentru proiectarea secțiunilor pentru module de obiecte, manageri, seturi de înregistrări, tratamente, rapoarte etc.

////////////////////////////////////////////////// ////////////// SOFTWARE INTERFACE //////////////// // ////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// // // SERVICII ȘI FUNCȚII

  • Secțiunea "Interfață program" conține proceduri și funcții de export destinate utilizării în alte module de configurare sau în alte programe (de exemplu printr-o conexiune externă). Nu este necesar să se plaseze în această secțiune funcții și proceduri de export care sunt destinate a fi solicitate numai din modulele obiectului însuși, din formele și comenzile acestuia. De exemplu, procedurile de populare a părții de masă a unui document care sunt chemați de la procesarea umplerii în modulul obiect și din formularul de document în manipulatorul de comandă de formă nu sunt interfața program a modulului de obiect, sunt numite numai în modulul propriu-zis și din formele aceluiași obiect. Ar trebui plasate în secțiune "Proceduri și funcții ale utilităților."
  • Secțiunea "Event Handlers" conține module de manipulare a evenimentelor pentru modulul obiectului ( Prizavisi , PRO etc.)
  • Secțiunea "Proceduri și funcții utilitare" are același scop ca în modulele generale.

1.4. Șablon de proiectare a șablonului pentru modulele de formular:

////////////////////////////////////////////////// ////////////// // MANAGERUL EVENIMENTELOR FORMULUI ///////////// ////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////// // // PROCESORI DE EVENIMENTE FORME TABLURI //////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// PROCESORI ALE FORMELOR /////// ////////////////////////////////////////////////// ////////////////////// // // PROCEDURI SI FUNCTII DE SERVICII

  • Secțiunea "Handlers of Event Form" conține procedurile de gestionare a evenimentului formular: Crearea unui server , deschiderea etc.
  • Secțiunea "Manageri pentru elemente de formă" conține proceduri pentru procesarea elementelor aflate în partea principală a formularului (tot ceea ce nu are legătură cu tabelele din formular).
  • În secțiunile "Manageri de evenimente ale tabelului de formular <nume tabelă de formular>" există proceduri pentru manipulatorii tabelului de formular și a elementelor de tabelă. Pentru procedurile de manipulare, fiecare tabel trebuie să aibă o partiție proprie.
  • Secțiunea "Handlers of command command" conține proceduri pentru manipulatorii de comandă de form (ale căror nume sunt specificate în proprietatea Action a comenzilor de formular).
  • Secțiunea "Proceduri și funcții utilitare" are același scop ca în modulele generale.

Vezi și: Reguli pentru crearea modulelor de formular

2. Cerințe generale pentru secțiunile modulelor software.

2.1. Antetul modulului este un comentariu la începutul modulului. Rubrica modulului oferă o scurtă descriere și condițiile de aplicare.
De exemplu:

////////////////////////////////////////////////// //////////////// // Procedurile clientului si functiile cu scop general: // - pentru lucrul cu liste in formulare; // - pentru a lucra cu jurnalul; // - pentru acțiunile de procesare utilizator în desfășurare edita // multiline text , de exemplu comentarii în documente; // - altele. ////////////////////////////////////////////////////////////////////////////////////// ////////////// ////////////////////////////////

Pentru modulele de formular se recomandă plasarea unei descrieri a parametrilor formei în antet.

2.2. Secțiunea descriere variabile . Denumirile variabile sunt atribuite conform generalului regulile numelui variabil , iar utilizarea lor este descrisă în articol. Utilizarea variabilelor globale în modulele software .

Toate variabilele modulului ar trebui furnizate cu un comentariu suficient pentru a înțelege scopul acestora. Comentariul se recomandă să fie plasat în aceeași linie unde este declarată variabila.
exemplu:

Pem MonedaAccounting Export; // Moneda în care se păstrează contabilitatea Adresa Perem sprijină exportul; // Adresa de e-mail unde sunt trimise mesajele de eroare

2.3. Interfață software Procedurile de export și funcțiile care alcătuiesc interfața de programare sunt plasate imediat după descrierea variabilelor. Astfel de proceduri și funcții sunt destinate utilizării de către alte obiecte de configurare sau alte programe (de exemplu printr-o conexiune externă), prin urmare acestea trebuie să fie amplasate într-un "loc vizibil" în modul.

Vezi și: Descrierea procedurilor și funcțiilor.

2.4.1 Manipulatori de evenimente pentru formulare, comenzi și elemente de formular . Înainte de procedurile de service și funcțiile din modulul de formular, sunt localizați agenții de procesare a formularului, precum și agenții de gestionare a evenimentelor pentru comenzi și elemente de formă.

Recomandarea metodică (sfaturi utile)

Se recomandă ca manipulanții unui element de formular să fie plasați împreună, respectând ordinea următorului lor în panoul proprietății editorului de formulare. în configurator .

2.4.2. Fiecare eveniment trebuie să aibă o procedură proprie. Dacă aceleași acțiuni ar trebui efectuate atunci când evenimentele apar în diferite elemente ale formularului:

  • creați o procedură separată (funcție) care efectuează acțiunile necesare

  • pentru fiecare element de formular, creați un handler separat cu numele implicit

  • apelați procedura (funcția) solicitată de la fiecare manipulant.

De exemplu, greșit:

& Procedura OnClient pentru executarea aplicațiilor (Element) Parametrii de selectare = New Compliance (); Opțiuni de selecție. Paste ("După autor", după autor); Selecție opțiuni. Lipiți ("Executiv", Executiv); Setați selecția listei (listă, opțiuni de selecție); KonetsProtsedury & Procedura clientului pentru autoritate prin schimbarea (elementul) spre executiv prin schimbare (nedefinit); KonetsProtsedury

corect:

& Procedura OnClient pentru a PerformIndicator (Item) SetSelection (); Procedura de sfârșit și la procedura clientului prin schimbarea autorului (Element) Instalarea selecției (); EndProcedures & OnServer ProcedureSelection () Parametrii de selectare = New Compliance (); Opțiuni de selecție. Paste ("După autor", după autor); Selecție opțiuni. Lipiți ("Executiv", Executiv); Setați selecția listei (listă, opțiuni de selecție); KonetsProtsedury

Această cerință se datorează faptului că logica procedurilor de manipulare a evenimentelor nu este destinată utilizării în codul modulului, ci este apelată direct de platformă. Amestecarea acestor două scenarii într-o singură procedură complică în mod inutil logica sa și reduce robustețea acesteia (în loc de scenariul de apel preconizat - după un eveniment de la platformă - codul procedurii trebuie să se bazeze pe alte apeluri directe din cod).

2.5. Manipulatorii de evenimente pentru modulele de obiecte și managerul de obiecte sunt plasați după export, dar înainte de procedurile utilitare și funcțiile modulului.

Recomandarea metodică (sfaturi utile)

Se recomandă să așezați manipulanții, urmând ordinea următorului lor în descrierea limbii încorporate.

2.6. Procedurile de utilitate și funcțiile modulului care nu sunt manipulatoare de evenimente, dar care constituie implementarea internă a unui modul, sunt plasate în modulul de lângă gestionarea evenimentelor.

În cazurile în care un modul comun face parte dintr-un subsistem funcțional care include mai multe obiecte de metadate, această secțiune poate conține, de asemenea, proceduri și funcții de export de servicii destinate să fie apelate numai din alte obiecte ale acestui subsistem.

Procedurile și funcțiile legate unul de celălalt prin natura sau logica muncii se recomandă să fie plasate împreună. Nu este recomandat să grupați în mod explicit procedurile și funcțiile modulului în server, client și funcții fără context, deoarece o astfel de comandă "tehnologică" complică înțelegerea logicii modulului, dirijând atenția dezvoltatorului asupra detaliilor implementării acestuia.

2.7. Secțiunea de inițializare conține instrucțiuni care inițializează variabilele modulului sau obiectului (formular). De exemplu:

Adresa de suport = "v8@1c.ru"; // Adresa pentru a contacta asistența tehnică Efectuați inițializarea ();

Alte materiale pe tema:
actualizați baza de date . manipulatoare de evenimente . interfață software . stivuitoare . proceduri . șablon . antet . sfârșitul procedurii . funcții . interfață . descriere . clipboard . pentru a copia . secțiune . schimb . formă . un obiect . elementul . configurarea . configurație . document

Materiale din secțiunea: 1C: Enterprise 8.2 / Dezvoltatori / Acorduri la scrierea codului

Alte materiale pe tema:

Descrierea procedurilor și funcțiilor

Caracteristicile scalării pentru obiectul selectat

Transferul configurațiilor de pe platforma 1C: Enterprise 8.2 către platforma 1C: Enterprise 8.3 fără modul de compatibilitate cu versiunea 8.2

Numele procedurilor și funcțiilor

Utilizarea modului privilegiat


Găsim: structura modulului 1c este , procedurile și funcțiile de service , modulul, procedura de apel a modulului manager 1c 8 2, cum se apelează o procedură de la un alt modul 1c, antetul modulului engleză, 1c dintr-o procedură de modul de apelare a formei de procesare, 1c 8 2 apelează o procedură din modulul manager 1


1C: Întreprindere 8