http://wm-monitoring.ru/ ')) {alert('Спасибо за то что установили нашу кнопку! =)');} else {alert('Очень жаль! =(');}"> http://wm-monitoring.ru/

Modulstruktur

1C: Enterprise 8.2 /
For utviklere /
Kodekonvensjoner

Innholdsfortegnelse

1.1. I programmodulen (generelle moduler, moduler av objekter, moduler av objektadministratorer, moduler av skjemaer, kommandoer osv.) I det generelle tilfellet kan følgende seksjoner være til stede i det følgende sekvens :

Noen seksjoner kan være til stede bare i moduler av en viss type. For eksempel kan hendelsesbehandlere for formelementer bare være til stede i skjemamoduler, og delen for variabelbeskrivelse og initialisering kan ikke defineres i ikke-globale generelle moduler, objektstyringsmoduler, postsett, konstante verdier og sesjonsmodul.

Kravet om å dele modulkoden i seksjoner er ment å øke lesbarheten til koden og forenkle introduksjonen av endringer i koden av forskjellige forfattere ( av utviklere ) som i den kollektive utviklingen, og i foredling av applikasjonsløsninger for spesifikke implementeringer.

1.2. Mal (blanke for kopiering) seksjoner for vanlige moduler:

////////////////////////////////////////////////// ////////////////////////////// // // // //////////// ////////////////////////////////////////////////// //////////// // //////////////////////""""-"-"- //////////////////////// / / / / / / / / / / / SOFTWARE-INTERFACE // ////////////////////////////////////////////////// //////////////////////// // // // SERVICEPROSEDURER OG FUNKSJONER

  • Seksjonen "Programgrensesnitt" inneholder eksportprosedyrer og funksjoner beregnet for bruk av andre konfigurasjonsobjekter eller andre programmer (for eksempel gjennom en ekstern tilkobling).
  • Seksjonen "Verktøysprosedyrer og funksjoner" inneholder prosedyrene og funksjonene som utgjør den interne implementeringen av en felles modul. I tilfeller der den felles modulen er en del av noen funksjonell delsystemer som inkluderer flere metadataobjekter, kan denne delen også inneholde prosedyrer for eksport av tjenester og funksjoner som bare er ment å bli kalt fra andre objekter i dette delsystemet.
    For vanlige bulkmoduler anbefales det å dele denne delen inn i underavsnitt, i henhold til funksjonsattributtet. Underavsnitt blir gitt en kommentar, som anbefales å gi ut på lignende måte. For eksempel:

////////////////////////////////////////////////// ////////////////////////////// // Oppdatering av informasjonsbasen

1.3. Mal for utforming av seksjoner for objektmoduler, ledere, postsett, behandlinger, rapporter osv.:

////////////////////////////////////////////////// ////////////////////////////// // SOFTWARE-INTERFACE ////////////// // ////////////////////////////////////////////////// //////////// // // PROSESSORER AV EVENTS //////////////////////////////// ////////////////////////////- / / / / / / / / / / // // // // TJENESTEPROSEDURER OG FUNKSJONER

  • Seksjonen "Programgrensesnitt" inneholder eksportprosedyrer og funksjoner beregnet for bruk i andre konfigurasjonsmoduler eller andre programmer (for eksempel gjennom en ekstern tilkobling). Det er ikke nødvendig å plassere eksportfunksjoner og prosedyrer som er ment å bli kalt utelukkende fra modulene til selve objektet, dets former og kommandoer i dette avsnittet. For eksempel er prosedyrene for å fylle ut tabelldelen av et dokument som blir kalt fra fyllingsbehandlingen i objektmodulen og fra dokumentformen i formkommandohåndtereren ikke programgrensesnittet til objektmodulen, siden kalles bare i selve modulen og fra formene til samme objekt. De skal plasseres i seksjonen "Verktøysprosedyrer og funksjoner."
  • Seksjonen "Event Handlers" inneholder hendelsesbehandlere for objektets modul ( Prizavisi , PRO , etc.)
  • Seksjonen "Verktøysprosedyrer og funksjoner" har samme formål som i de generelle modulene.

1.4. Seksjonsdesignmal for formmoduler:

////////////////////////////////////////////////// ////////////////////////////// // HANDLER OF EVENTS OF THE FORM ///////////// ////////////////////////////////////////////////// /////////////// // HANDLERS OF EVENTS OF ElementS OF THE SHAPE OF FORM // ////////////////////////////// ////////////////////////////////////////////////// // // PROSESSORER AV HENDELSESFORMER TABELLER //</""/"/"/"/"/"/"> //////////////////////// / / / / / / / / / / // PROSESSORER FOR TEAMS OF THE FORM // ////// ////////////////////////////////////////////////// /////////////////////// // SERVICEPROSEDURER OG FUNKSJONER

  • Avsnittet "Formhåndteringshåndterere" inneholder prosedyrene for hendelseshåndterer: Ved å opprette en server , åpne osv.
  • Avsnittet " Behandlere av skjemaelement" inneholder prosedyrer for behandling av elementer som ligger i hoveddelen av skjemaet (alt som ikke er relatert til tabellene på skjemaet).
  • I seksjonene "Hendelsesbehandlere av skjema-tabellen <skjemaet tabellnavn>" er det prosedyrer for behandlerne av skjemaet og tabellelementene. For håndteringsprosedyrer må hver tabell ha sin egen partisjon.
  • Avsnittet "Form kommandohåndterere" inneholder prosedyrer for skjemakommandohåndterere (hvis navn er spesifisert i handlingsegenskapen til skjemakommandoer).
  • Seksjonen "Verktøysprosedyrer og funksjoner" har samme formål som i de generelle modulene.

Se også: Regler for oppretting av skjemamoduler

2. Generelle krav til deler av programvaremoduler.

2.1. Moduloverskriften er en kommentar helt i begynnelsen av modulen. Moduloverskriften gir en kort beskrivelse og bruksbetingelser.
For eksempel:

////////////////////////////////////////////////// //////////////////////// // // // // Klientprosedyrer og funksjoner av generelt formål: // - for arbeid med lister i skjemaer; // - å jobbe med loggen; // - for behandling av handlinger bruker pågår redigere // multiline tekst , for eksempel kommentarer i dokumenter; // - annet. // //////////////////////////////////""""-"-"- ////////////////////////////////

For skjemamoduler anbefales det å plassere en beskrivelse av skjemaparametere i overskriften.

2.2. Variabel beskrivelse seksjon . Variable navn tilordnes i henhold til generelle regler for variabelnavn , og bruken av dem er beskrevet i artikkelen. Bruke globale variabler i programvaremoduler .

Alle modulvariabler bør ha en kommentar som er tilstrekkelig til å forstå deres formål. Kommentaren anbefales å plasseres på samme linje som variabelen er deklarert.
eksempel:

Pem CurrencyAndtekteringseksport; // Valuta der regnskapet føres Perem-adresse støtter eksport; // E-postadresse der det sendes feilmeldinger

2.3. Programvaregrensesnitt Eksportprosedyrer og funksjoner som utgjør dens programmeringsgrensesnitt plasseres umiddelbart etter beskrivelsen av variablene. Slike prosedyrer og funksjoner er ment for bruk av andre konfigurasjonsobjekter eller andre programmer (for eksempel gjennom en ekstern tilkobling), derfor bør de være plassert på et "synlig sted" i modulen.

Se også: Beskrivelse av prosedyrer og funksjoner.

2.4.1 Skjemahåndterere, kommandoer og skjemaelementer . Før serviceprosedyrer og funksjoner i skjemamodulen, er hendelsesbehandlere av skjemaet lokalisert, samt hendelsesbehandlere for kommandoer og skjemaelementer.

Metodisk anbefaling (nyttige råd)

Det anbefales at behandlere av ett skjemaelement plasseres sammen, i samsvar med rekkefølgen på det følgende i skjemaredaktørens eiendomspanel. i konfiguratoren .

2.4.2. Hver hendelse må ha sin egen behandlingsprosedyre. Hvis de samme handlingene skal utføres når hendelser oppstår i forskjellige elementer i skjemaet:

  • opprette en egen prosedyre (funksjon) som utfører de nødvendige handlingene

  • for hvert skjemaelement, opprett en egen håndterer med standardnavnet

  • ring ønsket prosedyre (funksjon) fra hver behandler.

For eksempel feil:

& OnClient-prosedyre for utføring av applikasjonsvalgparametere = ny overensstemmelse (); Valg av alternativer. Lim inn ("Etter forfatter", etter forfatter); Valg av alternativer. Lim inn ("Executive", Executive); Angi valg av liste (liste, valgvalg); KonetsProtsedury & På klientprosedyre for forfatter ved å endre (element) til utøvende ved å endre (udefinert); KonetsProtsedury

på riktig måte:

& OnClient-prosedyre for å utføre indikator (element) SetSelection (); Sluttprosedyre og klientprosedyre etter forfatterforandring (element) Installer utvalg (); EndProcedures & OnServer Prosedyre SetSelection () Valgparametere = Ny samsvar (); Valg av alternativer. Lim inn ("Etter forfatter", etter forfatter); Valg av alternativer. Lim inn ("Executive", Executive); Angi valg av liste (liste, valgvalg); KonetsProtsedury

Dette kravet skyldes det faktum at logikken i prosedyrene for hendelsesbehandler ikke er beregnet for bruk i modulkoden, men blir kalt direkte av plattformen. Å blande disse to scenariene i en prosedyre kompliserer unødvendig logikken og reduserer robustheten (i stedet for det planlagte samtalscenariet - ved en hendelse fra plattformen - må prosedyrekoden regne med andre direkte anrop fra koden).

2.5. Arrangementsbehandlerne for objektmodulene og objektbehandleren blir plassert etter eksporten, men før verktøyets prosedyrer og modulfunksjoner.

Metodisk anbefaling (nyttige råd)

Det anbefales å plassere behandlere som følger rekkefølgen på det følgende i beskrivelsen av det innebygde språket.

2.6. Nyttighetsprosedyrer og modulfunksjoner som ikke er hendelsesbehandlere, men utgjør den interne implementeringen av en modul, plasseres i modulen ved siden av hendelseshåndterere.

I tilfeller der en felles modul er en del av et funksjonelt undersystem som inkluderer flere metadataobjekter, kan denne delen også inneholde prosedyrer og funksjoner for eksport av tjenester som bare er ment å bli kalt fra andre objekter i dette delsystemet.

Prosedyrer og funksjoner relatert til hverandre av natur eller logikk i arbeidet anbefales å plasseres sammen. Det anbefales ikke å eksplisitt gruppere prosedyrene og funksjonene til modulen i server, klient og funksjoner uten kontekst, siden slik "teknologisk" ordning kompliserer forståelsen av modulens logikk, og leder utviklerens oppmerksomhet til detaljene i implementeringen.

2.7. Initialiseringsdelen inneholder utsagn som initialiserer variablene til modulen eller objektet (skjema). For eksempel:

Støtteadresse = "[email protected]"; // Adresse for å kontakte teknisk support Utfør initialisering ();

Andre materialer om emnet:
oppdatere databasen . hendelseshåndterere . programvaregrensesnitt . handlers . prosedyrer . mal . header . slutt på prosedyren . funksjoner . grensesnitt . beskrivelse . utklippstavlen . å kopiere . seksjon . utveksling . form . et objekt . elementet . konfigurering . konfigurasjon . dokument

Materialer fra seksjonen: 1C: Enterprise 8.2 / Developers / Avtaler når du skriver kode

Andre materialer om emnet:

Beskrivelse av prosedyrer og funksjoner

Funksjoner for skalering av det valgte objektet

Overføring av konfigurasjoner på 1C: Enterprise 8.2-plattformen til 1C: Enterprise 8.3-plattformen uten kompatibilitetsmodus med versjon 8.2

Navn på prosedyrer og funksjoner

Bruker privilegert modus


Vi finner: strukturen til modul 1c er , tjenesteprosedyrer og funksjoner , modul, samtaleprosedyre for ledermodul 1c 8 2, hvordan ringe en prosedyre fra en annen modul 1c, engelsk moduloverskrift, 1c fra et behandlingsskjema samtalsmodulprosedyre, 1c 8 2 kalle en prosedyre fra ledermodulen, 1


1C: Enterprise 8

Карта