Modulstruktur

1C: Enterprise 8.2 /
For udviklere /
Kodekonventioner

Indholdsfortegnelse

1.1. I programmodulet (generelle moduler, moduler af objekter, moduler af objektadministratorer, moduler af formularer, kommandoer osv.) I det generelle tilfælde kan følgende afsnit være til stede i det følgende sekvens :

Nogle sektioner er muligvis kun til stede i moduler af en bestemt type. For eksempel kan begivenhedshåndterere for formelementer kun være til stede i formularmoduler, og sektionen med variabelbeskrivelse og initialisering kan ikke defineres i ikke-globale generelle moduler, objektstyringsmoduler, postsæt, konstante værdier og sessionmodul.

Kravet om at opdele modulkoden i sektioner er beregnet til at øge læsbarheden af ​​koden og forenkle introduktionen af ​​ændringer til koden af ​​forskellige forfattere ( af udviklere ) som i den kollektive udvikling og i forfining af applikationsløsninger til specifikke implementeringer.

1.2. Skabeloner (blanke til kopiering) til fælles moduler:

////////////////////////////////////////////////// //</em></em> // // // / / / / / / / ////////////////////////////////////////////////// //</em> // // // // // // / / / / / / / / / / / / / / / / / / / / / / //</em> // // / / / / / / / / / / / / / / / / / / / SOFTWARE-INTERFACE // ////////////////////////////////////////////////// //</em></em> // // // // / / / / / / / / / / SERVICESPROCEDURER OG FUNKTIONER

  • Afsnittet "Programgrænseflade" indeholder eksportprocedurer og -funktioner beregnet til brug af andre konfigurationsobjekter eller andre programmer (for eksempel gennem en ekstern forbindelse).
  • Afsnittet "Hjælpeprocedurer og -funktioner" indeholder de procedurer og funktioner, der udgør den interne implementering af et fælles modul. I tilfælde, hvor det fælles modul er en del af nogle funktionel delsystemer, der inkluderer flere metadataobjekter, kan dette afsnit også indeholde procedurer for eksport af tjenester og funktioner, der kun er beregnet til at blive kaldt fra andre objekter i dette delsystem.
    For fælles fælles moduler anbefales det at opdele dette afsnit i underafsnit i henhold til den funktionelle attribut. Underafsnit indledes med en kommentar, som anbefales at udstede på en lignende måde. For eksempel:

////////////////////////////////////////////////// //</em></images/ Opdatering af informationsbasen

1.3. Skabelon til design af sektioner til objektmoduler, ledere, postsæt, behandlinger, rapporter osv.:

////////////////////////////////////////////////// //</em></em> // SOFTWARE-INTERFACE // / / / / / / / / / / / ////////////////////////////////////////////////// //////////// // // PROSESSORER AF EVENTS //////////////////////////////// //</em></em> // // // / / / / / / / / / / / / / / / / / / / / / / / / SERVICESPROCEDURER OG FUNKTIONER

  • Afsnittet "Programgrænseflade" indeholder eksportprocedurer og -funktioner beregnet til brug i andre konfigurationsmoduler eller andre programmer (for eksempel gennem en ekstern forbindelse). Det er ikke nødvendigt at placere i dette afsnit eksportfunktioner og -procedurer, der kun er beregnet til at kaldes fra selve modulets moduler, dets former og kommandoer. For eksempel er procedurerne for udfyldning af tabeldelen af ​​et dokument, der kaldes fra udfyldningsbehandlingen i objektmodulet og fra dokumentformularen i formkommandohåndtereren ikke programgrænsefladen for objektmodulet, da kaldes kun i selve modulet og fra formene af det samme objekt. De skal placeres i afsnittet "Hjælpeprocedurer og funktioner."
  • Afsnittet "Event Handlers" indeholder begivenhedshåndterere til objektets modul ( Prizavisi , PRO osv.)
  • Afsnittet "Hjælpeprocedurer og -funktioner" har det samme formål som i de generelle moduler.

1.4. Sektionsdesignskabelon til formularmoduler:

////////////////////////////////////////////////// //</em></em> // // // / / / / / / / / / HANDLER OF HANDELS OF THE FORM // / / / / / / / / / ////////////////////////////////////////////////// /////////////// // HANDLERE AF EVENTER AF elementer i formen af ​​formen //</ // // / / / / / / / / / / / / / / / / / / ////////////////////////////////////////////////// // // PROCESSORER AF BEGIVELSER FOR EVENTSFORMER //</9/14/14/19/19/ //</em></im> // // // // / / / / / / / / / / / / / / / / / / PROSESSORER FOR FORMETS SPANER // / / / / ////////////////////////////////////////////////// /////////////////////// // SERVICEPROCEDURER OG FUNKTIONER

  • Afsnittet "Formhændelseshåndterere" indeholder procedurerne for formularhændelse: Ved oprettelse af en server , åbning osv.
  • Afsnittet "Håndtering af formularelementer" indeholder procedurer til behandling af elementer, der findes i hoveddelen af ​​formularen (alt, hvad der ikke er relateret til tabellerne på formularen).
  • I afsnittene "Begivenhedshåndterere af formulartabellen <formabelnavnet>" findes procedurer for håndtererne af formulartabellen og tabelelementerne. Ved håndteringsprocedurer skal hver tabel have sin egen partition.
  • Afsnittet "Form-kommandohåndterere" indeholder procedurer til form-kommandohåndterere (hvis navne er specificeret i handling-egenskaben for form-kommandoer).
  • Afsnittet "Hjælpeprocedurer og -funktioner" har det samme formål som i de generelle moduler.

Se også: Regler for oprettelse af formularmoduler

2. Generelle krav til sektioner af softwaremoduler.

2.1. Modulhovedet er en kommentar helt i begyndelsen af ​​modulet. Moduloverskriften indeholder en kort beskrivelse og anvendelsesbetingelser.
For eksempel:

////////////////////////////////////////////////// //</em> // / / / / / / / / / / / / // Procedurer og funktioner til generelle formål: // - til arbejde med lister i formularer; // - at arbejde med loggen; // - til behandling af handlinger bruger i gang redigere // multiline tekst for eksempel kommentarer i dokumenter; // - andet. // //</19/19/19/19/19/ ////////////////////////////////

For formularmoduler anbefales det at placere en beskrivelse af formparametre i overskriften.

2.2. Variabel beskrivelse sektion . Variable navne tildeles i henhold til det generelle regler for variabelnavn , og brugen af ​​dem er beskrevet i artiklen. Brug af globale variabler i softwaremoduler .

Alle modulvariabler skal have en kommentar, der er tilstrækkelig til at forstå deres formål. Kommentaren anbefales at placeres på den samme linje, hvor variablen er deklareret.
eksempel:

Pem CurrencyAccounting Export; // Valuta, hvori regnskabet opbevares, Perem-adresse understøtter eksport; // E-mail-adresse, hvor der sendes fejlmeddelelser

2.3. Software interface Eksportprocedurer og funktioner, der udgør dens programmeringsgrænseflade, placeres umiddelbart efter beskrivelsen af ​​variablerne. Sådanne procedurer og funktioner er beregnet til brug af andre konfigurationsobjekter eller andre programmer (for eksempel gennem en ekstern forbindelse), derfor skal de placeres på et "synligt sted" i modulet.

Se også: Beskrivelse af procedurer og funktioner.

2.4.1 Formularhændere, kommandoer og formelementer . Før serviceprocedurer og funktioner i formularmodulet findes begivenhedshåndterere af formularen samt begivenhedshåndterere til kommandoer og formelementer.

Metodisk anbefaling (nyttig rådgivning)

Det anbefales, at håndterere af et formelement placeres sammen og overholder rækkefølgen af ​​det følgende i formeditorens ejendomspanel. i konfiguratoren .

2.4.2. Hver begivenhed skal have sin egen handlerprocedure. Hvis de samme handlinger skal udføres, når begivenheder opstår i forskellige elementer i formen:

  • oprette en separat procedure (funktion), der udfører de nødvendige handlinger

  • Opret for hver formelement en separat håndterer med standardnavnet

  • kalde den krævede procedure (funktion) fra hver behandler.

For eksempel forkert:

& OnClient-procedure til udførelse af applikations- (element) valgparametre = Ny overensstemmelse (); Valg af indstillinger Indsæt ("Efter forfatter", efter forfatter); Valg af valgmuligheder Indsæt ("Executive", Executive); Angiv valg af liste (liste, valgindstillinger); KonetsProtsedury & On-klientprocedure til forfatter ved at skifte (element) til udøvende ved at ændre (ikke defineret); KonetsProtsedury

korrekt:

& OnClient-procedure til udførelsesindikator (vare) SetSelection (); Slutprocedure og klientprocedure efter forfatterændring (element) Installer valg (); EndProcedures & OnServer Procedure SetSelection () Valgsparametre = Ny overensstemmelse (); Valg af indstillinger Indsæt ("Efter forfatter", efter forfatter); Valg af valgmuligheder Indsæt ("Executive", Executive); Angiv valg af liste (liste, valgindstillinger); KonetsProtsedury

Dette krav skyldes, at logikken i procedurerne for begivenhedshåndtering ikke er beregnet til brug i modulkoden, men kaldes direkte af platformen. Blanding af disse to scenarier i én procedure unødvendigt komplicerer dens logik og reducerer dens robusthed (i stedet for det påtænkte opkaldsscenario - ved en begivenhed fra platformen - skal procedurkoden regne med andre direkte opkald fra koden).

2.5. Begivenhedshåndterere for objektmodulerne og objektadministratoren placeres efter eksporten, men før hjælpeprocedurerne og modulfunktionerne.

Metodisk anbefaling (nyttig rådgivning)

Det anbefales at placere håndterere efter rækkefølgen af ​​følgende i beskrivelsen af ​​det indlejrede sprog.

2.6. Hjælpeprocedurer og modulfunktioner , der ikke er begivenhedshåndterere, men udgør den interne implementering af et modul, placeres i modulet ved siden af ​​begivenhedshåndterere.

I tilfælde, hvor et fælles modul er en del af et funktionelt delsystem, der inkluderer flere metadataobjekter, kan dette afsnit også indeholde serviceeksportprocedurer og funktioner, der kun er beregnet til at blive kaldt fra andre objekter i dette delsystem.

Procedurer og funktioner relateret til hinanden af ​​natur eller logik i arbejdet anbefales at placeres sammen. Det anbefales ikke at eksplicit gruppere procedurerne og funktionerne i modulet i server, klient og funktioner uden kontekst, da en sådan "teknologisk" ordning komplicerer forståelsen af ​​modulets logik og omdirigerer udviklerens opmærksomhed til detaljerne i dets implementering.

2.7. Initialiseringsafsnittet indeholder udsagn, der initialiserer variablerne i modulet eller objektet (form). For eksempel:

Support adresse = "[email protected]"; // Adresse for at kontakte teknisk support Udfør initialisering ();

Andre materialer om emnet:
opdater database . begivenhedshåndterere . software interface . handlere . procedurer . skabelon . header . afslutning af proceduren . funktioner . grænseflade . beskrivelse . clipboard . at kopiere . sektion . udveksling . form . et objekt . elementet . konfigurering . konfiguration . dokument

Materialer fra sektionen: 1C: Enterprise 8.2 / Udviklere / aftaler, når man skriver kode

Andre materialer om emnet:

Beskrivelse af procedurer og funktioner

Funktioner ved skalering for det valgte objekt

Overførsel af konfigurationer på 1C: Enterprise 8.2-platformen til 1C: Enterprise 8.3-platformen uden kompatibilitetstilstand med version 8.2

Navne på procedurer og funktioner

Brug af privilegeret tilstand


Vi finder: strukturen i modul 1c er , serviceprocedurer og funktioner , modul, manager modul opkaldsprocedure 1c 8 2, hvordan man ringer til en procedure fra et andet modul 1c, engelsk modulhoved, 1c fra en behandlingsform opkaldsmodulprocedure, 1c 8 2 kalder en procedure fra managermodulet, 1


1C: Enterprise 8