Modulstruktur

1C: Enterprise 8.2 /
För utvecklare /
Kodkonventioner

Innehållsförteckning

1,1. I programmodulen (allmänna moduler, moduler av objekt, moduler av objekthanterare, moduler av formulär, kommandon etc.) i allmänhet kan följande avsnitt finnas i följande sekvens :

Vissa avsnitt kan bara finnas i moduler av en viss typ. Exempelvis kan händelseshanterare för formelement endast finnas i formmoduler, och avsnittet med variabelbeskrivning och initialisering kan inte definieras i icke-globala allmänna moduler, objekthanteringsmoduler, postuppsättningar, konstantvärden och sessionmodul.

Kravet på att dela upp modulkoden i avsnitt är avsedd att öka kodens läsbarhet och förenkla införandet av ändringar i koden av olika författare ( av utvecklare ) som i den kollektiva utvecklingen och vid förfining av applikationslösningar för specifika implementationer.

1,2. Mallar (tomma för kopiering) för vanliga moduler:

////////////////////////////////////////////////// //</em> // // / / / / / / / / / / / / // // // / / / / / / / / ////////////////////////////////////////////////// //</em> // // // // // / / / / / / / / / / / / / // //</em> // // / / / / / / / / / / / / / / SOFTWARE-INTERFACE // ////////////////////////////////////////////////// ////////////////////////// // // SERVICEFÖRFARANDEN OCH FUNKTIONER

  • Avsnittet "Programgränssnitt" innehåller exportprocedurer och funktioner avsedda för användning av andra konfigurationsobjekt eller andra program (till exempel via en extern anslutning).
  • Avsnittet "Verktygsprocedurer och funktioner" innehåller procedurer och funktioner som utgör den interna implementeringen av en gemensam modul. I de fall där den gemensamma modulen är en del av vissa funktionell delsystem som innehåller flera metadataobjekt, kan detta avsnitt också innehålla procedurer för export av tjänster och funktioner som endast är avsedda att anropas från andra objekt i detta delsystem.
    För gemensamma bulkmoduler rekommenderas det att dela upp detta avsnitt i underavsnitt, enligt funktionens attribut. Underavsnitt föregås av en kommentar, som rekommenderas att utfärda på liknande sätt. Till exempel:

////////////////////////////////////////////////// //</em> // // / / / / / / / / / / / / / // // Uppdatering av informationsbasen

1,3. Mall för utformning av avsnitt för objektmoduler, chefer, postuppsättningar, behandlingar, rapporter osv.:

////////////////////////////////////////////////// ////////////////////////////// // SOFTWARE-INTERFACE ////////////// // ////////////////////////////////////////////////// //////////// // // PROSESSORER AV HÄNDELSER //</19/19/19/19/ //</em></im>/ SERVICEFÖRFARANDEN OCH FUNKTIONER

  • Avsnittet "Programgränssnitt" innehåller exportprocedurer och funktioner avsedda för användning i andra konfigurationsmoduler eller andra program (till exempel via en extern anslutning). Det är inte nödvändigt att i detta avsnitt placera exportfunktioner och procedurer som endast är avsedda att anropas från själva objektets moduler, dess former och kommandon. Till exempel är procedurerna för att fylla i tabelldelen av ett dokument som anropas från fyllningsbehandlingen i objektmodulen och från dokumentformuläret i formulärkommandohanteraren inte objektgränssnittet för objektmodulen, eftersom kallas endast i själva modulen och från samma objekt. De bör placeras i avsnittet "Verktygsprocedurer och funktioner."
  • Avsnittet "Event Handlers" innehåller händelseshanterare för objektets modul ( Prizavisi , PRO , etc.)
  • Avsnittet "Verktygsprocedurer och funktioner" har samma syfte som i de allmänna modulerna.

1,4. Sektionsdesignmall för formmoduler:

////////////////////////////////////////////////// ////////////////////////////// // // HANDLER AV HÄNDELSER AV FORM // /////////// ////////////////////////////////////////////////// //////////// /// // HANDLERS OF EVENTS OF ElementS OF THE SHAPE OF THE FORM // ////////////////////////////// ////////////////////////////////////////////////// // // PROCESSORER AV EVENTSFORMER TABELLER //////////////////////////////////////////// ////////////////////////////////////// // // PROCESSORER OF THE TEMS OF THE FORM // THE // ////////////////////////////////////////////////// //////////////////////// // SERVICEFÖRFARANDEN OCH FUNKTIONER

  • Avsnittet "Formhändelseshanterare" innehåller procedurerna för händelseshanterare: Vid Skapa en server , öppna etc.
  • Avsnittet "Handterare av formulärelement" innehåller procedurer för bearbetning av element som finns i huvuddelen av formuläret (allt som inte är relaterat till tabellerna på formuläret).
  • I avsnitten ”Händelseshanterare av formtabellen <formulärtabellnamn>” finns procedurer för hanterarna av formtabellen och tabellelementen. För hanteringsprocedurer måste varje tabell ha sin egen partition.
  • Avsnittet "Formulärhandläggare" innehåller procedurer för formulärkommandohanterare (vars namn anges i åtgärdsegenskapen för formulärkommandon).
  • Avsnittet "Verktygsprocedurer och funktioner" har samma syfte som i de allmänna modulerna.

Se även: Regler för att skapa formulärmoduler

2. Allmänna krav för delar av programvarumoduler.

2,1. Modulhuvudet är en kommentar i början av modulen. Modulrubriken ger en kort beskrivning och tillämpningsvillkor.
Till exempel:

////////////////////////////////////////////////// //////////////////////// // // // // Klientförfaranden och funktioner av allmänt syfte: // - för att arbeta med listor i formulär; // - att arbeta med loggen; // - för behandling av åtgärder användaren pågår redigera // multiline text , till exempel kommentarer i dokument; // - andra. // //</19/19/19/19/ ////////////////////////////////

För formulärmoduler rekommenderas det att placera en beskrivning av formulärparametrar i rubriken.

2,2. Variabel beskrivning avsnitt . Variabla namn tilldelas enligt allmänna regler för variabla namn och deras användning beskrivs i artikeln. Använda globala variabler i mjukvarumoduler .

Alla modulvariabler bör förses med en kommentar som är tillräcklig för att förstå deras syfte. Kommentaren rekommenderas att placeras på samma rad där variabeln deklareras.
exempel:

Pem CurrencyAccounting Export; // Valuta i vilken redovisningen hålls Perem-adress stöder export; // E-postadress där felmeddelanden skickas

2,3. Programvarugränssnitt Exportförfaranden och funktioner som utgör dess programmeringsgränssnitt placeras omedelbart efter variablerna. Sådana procedurer och funktioner är avsedda för användning av andra konfigurationsobjekt eller andra program (till exempel via en extern anslutning), därför bör de placeras på en "synlig plats" i modulen.

Se även: Beskrivning av procedurer och funktioner.

2.4.1 Formera händelseshanterare, kommandon och formelement . Innan serviceprocedurer och funktioner i formulärmodulen finns evenemangshanterare av formuläret, samt evenemangshanterare för kommandon och formelement.

Metodisk rekommendation (användbart råd)

Det rekommenderas att hanterare av ett formulärelement placeras ihop och följer ordningen på följande i formulärredigeringsegenskaperna. i konfiguratorn .

2.4.2. Varje händelse måste ha sin egen hanteringsprocedur. Om samma åtgärder ska utföras när händelser inträffar i olika element i formen:

  • skapa en separat procedur (funktion) som utför nödvändiga åtgärder

  • för varje formelement, skapa en separat hanterare med standardnamnet

  • ring önskad procedur (funktion) från varje hanterare.

Till exempel fel:

& OnClient-procedur för exekveringApplication (Element) Valparametrar = Ny överensstämmelse (); Val av alternativ. Klistra in ("Efter författare", efter författare); Val av alternativ. Klistra in ("Executive", Executive); Ställ in val av lista (lista, valalternativ); KonetsProtsedury & På klientförfarande för författare genom att ändra (element) till verkställande genom att ändra (odefinierat); KonetsProtsedury

korrekt:

& OnClient-procedur för PerformIndicator (artikel) SetSelection (); Slutprocedur och klientförfarande av författare som byter (element) Installera urval (); EndProcedures & OnServer Procedure SetSelection () Valparametrar = Ny överensstämmelse (); Val av alternativ. Klistra in ("Efter författare", efter författare); Val av alternativ. Klistra in ("Executive", Executive); Ställ in val av lista (lista, valalternativ); KonetsProtsedury

Detta krav beror på det faktum att logiken för händelseshanterarens procedurer inte är avsedd för användning i modulkoden, utan kallas direkt av plattformen. Att blanda dessa två scenarier i en procedur komplicerar onödigt dess logik och minskar dess robusthet (i stället för det planerade samtalsscenariot - vid en händelse från plattformen - måste procedurkoden räkna med andra direkta samtal från koden).

2,5. Eventhanterarna för objektmodulerna och objekthanteraren placeras efter exporten, men innan verktygsprocedurerna och modulfunktionerna.

Metodisk rekommendation (användbart råd)

Det rekommenderas att placera hanterare i enlighet med följande ordning i beskrivningen av det inbäddade språket.

2,6. Verktygsprocedurer och modulfunktioner som inte är händelseshanterare, men utgör den interna implementeringen av en modul, placeras i modulen bredvid händelseshanterare.

I de fall där en gemensam modul är en del av ett funktionellt delsystem som innehåller flera metadataobjekt, kan detta avsnitt också innehålla procedurer för export av tjänster och funktioner som endast är avsedda att anropas från andra objekt i detta delsystem.

Förfaranden och funktioner relaterade till varandra av natur eller logik i arbetet rekommenderas att placeras tillsammans. Det rekommenderas inte att uttryckligen gruppera procedurerna och funktionerna för modulen i server, klient och funktioner utan sammanhang, eftersom en sådan "teknisk" beställning komplicerar förståelsen för modulens logik, och leder utvecklarens uppmärksamhet till detaljerna i dess implementering.

2,7. Initieringsavsnittet innehåller uttalanden som initierar variablerna för modulen eller objektet (form). Till exempel:

Supportadress = "[email protected]"; // Adress för att kontakta teknisk support Utför initialisering ();

Andra material om ämnet:
uppdatera databasen . evenemangshanterare . mjukvarugränssnitt . hanterare . förfaranden . mall . header . slutet på förfarandet . funktioner . gränssnitt . beskrivning . Urklipp . att kopiera . avsnitt . utbyte . form . ett objekt . elementet . konfigurering . konfiguration . dokument

Material från avsnittet: 1C: Enterprise 8.2 / utvecklare / avtal när man skriver kod

Andra material om ämnet:

Beskrivning av procedurer och funktioner

Funktioner för skalning för det valda objektet

Överföring av konfigurationer på 1C: Enterprise 8.2-plattformen till plattformen 1C: Enterprise 8.3 utan kompatibilitetsläge med version 8.2

Namn på procedurer och funktioner

Med hjälp av privilegierat läge


Vi finner: strukturen för modul 1c är , serviceförfaranden och funktioner , modul, samtalsprocedur för hanteringsmodul 1c 8 2, hur man ringer en procedur från en annan modul 1c, engelska modulhuvud, 1c från en behandlingsform samtalsmodulprocedur, 1c 8 2 kallar en procedur från managermodulen, 1


1C: Enterprise 8

Новости