Struktura modułu

1C: Przedsiębiorstwo 8.2 /
Dla programistów /
Konwencje kodeksowe

Spis treści

1.1. W module programu (ogólne moduły, moduły obiektów, moduły menedżerów obiektów, moduły formularzy, komendy itp.) W ogólnym przypadku następujące sekcje mogą być obecne w następujących sekwencje :

Niektóre sekcje mogą być obecne tylko w modułach określonego typu. Na przykład procedury obsługi zdarzeń dla elementów formularza mogą być obecne tylko w modułach formularzy, a sekcja opisu zmiennej i sekcja inicjalizacji nie mogą być zdefiniowane w nieglobalnych modułach ogólnych, modułach menedżera obiektów, zestawach rekordów, wartościach stałych i module sesji.

Wymóg podzielenia kodu modułu na sekcje ma na celu zwiększenie czytelności kodu i uproszczenie wprowadzania zmian w kodzie przez różnych autorów ( przez programistów ) jak w rozwoju zbiorowym oraz w udoskonalaniu rozwiązań aplikacyjnych dla konkretnych wdrożeń.

1.2. Sekcje szablonów (puste do kopiowania) dla popularnych modułów:

///////////////S//.\t ////////////////////////////// // // // //////////// ///////////////S//.\t ///////////////////////////////////// //////////////////////////////////////////// // // INTERFEJS OPROGRAMOWANIA // ///////////////S//.\t //////////////////////////// // PROCEDURY SERWISOWE I FUNKCJE

  • Sekcja „Interfejs programu” zawiera procedury i funkcje eksportu przeznaczone do użycia przez inne obiekty konfiguracyjne lub inne programy (na przykład przez połączenie zewnętrzne).
  • Sekcja „Procedury użytkowe i funkcje” zawiera procedury i funkcje, które składają się na wewnętrzną implementację wspólnego modułu. W przypadkach, gdy wspólny moduł jest częścią niektórych funkcjonalny podsystemy zawierające kilka obiektów metadanych, sekcja ta może również zawierać procedury eksportowania usług i funkcje przeznaczone tylko do wywoływania z innych obiektów tego podsystemu.
    W przypadku zbiorczych modułów wspólnych zaleca się podzielenie tej sekcji na podsekcje zgodnie z atrybutem funkcjonalnym. Podsekcje poprzedzone są komentarzem, który zaleca się wydać w podobny sposób. Na przykład:

///////////////S//.\t ////////////////////////////// // Aktualizacja bazy informacyjnej

1.3. Szablon do projektowania sekcji dla modułów obiektów, menedżerów, zestawów rekordów, zabiegów, raportów itp.:

///////////////S//.\t ////////////////////////////// // INTERFEJS OPROGRAMOWANIA ////////////// // ///////////////S//.\t ////////////// // PROCESSORS OF EVENTS ///////////////////////////// //////////////////////////////////////////////// // // PROCEDURY SERWISOWE I FUNKCJE

  • Sekcja „Interfejs programu” zawiera procedury i funkcje eksportu przeznaczone do użycia w innych modułach konfiguracyjnych lub innych programach (na przykład za pośrednictwem połączenia zewnętrznego). Nie jest konieczne umieszczanie w tej sekcji funkcji i procedur eksportowych, które mają być wywoływane wyłącznie z modułów samego obiektu, jego form i poleceń. Na przykład procedury zapełniania części tabeli dokumentu, które są wywoływane z przetwarzania wypełnienia w module obiektów iz formularza dokumentu w programie obsługi poleceń formularza, nie są interfejsem programu modułu obiektu, ponieważ są wywoływane tylko w samym module i formach tego samego obiektu. Powinny być umieszczone w sekcji „Procedury i funkcje użytkowe”.
  • Sekcja „Event Handlers” zawiera moduły obsługi zdarzeń dla modułu obiektu ( Prizavisi , PRO itp.)
  • Sekcja „Procedury użytkowe i funkcje” ma ten sam cel, co w modułach ogólnych.

1.4. Szablon projektu sekcji dla modułów formularzy:

///////////////S//.\t ////////////////////////////// // PODRĘCZNIK WYDARZEŃ FORM ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////www ///////////////S//.\t /////////////// // OBSŁUGI ZDARZEŃ ELEMENTÓW KSZTAŁTU FORMY //////////////////////// ///////////////S//.\t // // PROCESSORS OF EVENTS FORMS TABLES ///////////////////////////////////////// ////////////////////////////////////// // PROCESSORS FOR TEAMS OF FORM /////// ///////////////S//.\t /////////////////////// // PROCEDURY SERWISOWE I FUNKCJE

  • Sekcja Procedury obsługi formularzy zawiera procedury procedury obsługi zdarzeń: W trakcie tworzenia serwera , otwierania itp.
  • Sekcja „Programy obsługi elementów formularza” zawiera procedury przetwarzania elementów znajdujących się w głównej części formularza (wszystko, co nie jest związane z tabelami w formularzu).
  • W sekcjach Procedury obsługi zdarzeń w tabeli formularzy <nazwa tabeli formularzy>” znajdują się procedury dla procedur obsługi tabeli formularzy i elementów tabeli. Dla procedur obsługi każda tabela musi mieć własną partycję.
  • Sekcja Procedury obsługi formularzy zawiera procedury dla procedur obsługi poleceń formularzy (których nazwy są określone we właściwości Akcja poleceń formularza).
  • Sekcja „Procedury użytkowe i funkcje” ma ten sam cel, co w modułach ogólnych.

Zobacz także: Zasady tworzenia modułów formularzy

2. Ogólne wymagania dotyczące sekcji modułów oprogramowania.

2.1. Nagłówek modułu jest komentarzem na samym początku modułu. Nagłówek modułu zawiera krótki opis i warunki zastosowania.
Na przykład:

///////////////S//.\t //////////////////////////// // // Procedury i funkcje klienta ogólnego przeznaczenia: // - do pracy z listami w formularzach; // - do pracy z dziennikiem; // - do przetwarzania działań użytkownik w toku edycja // multiline tekst , na przykład komentarze w dokumentach; // - inne. // /////////////////satak/sunus/sunus/. /////////////\T

W przypadku modułów formularzy zaleca się umieszczenie opisu parametrów formularza w nagłówku.

2.2. Sekcja opisu zmiennej . Nazwy zmiennych są przypisywane zgodnie z ogólnymi reguły nazw zmiennych , a ich użycie jest opisane w artykule. Używanie zmiennych globalnych w modułach oprogramowania .

Wszystkie zmienne modułu powinny być opatrzone komentarzem wystarczającym do zrozumienia ich celu. Zaleca się umieszczenie komentarza w tym samym wierszu, w którym deklarowana jest zmienna.
Przykład:

Eksport Pem CurrencyAccounting; // Waluta, w której prowadzona jest księgowość Perem Address Supports Export; // Adres e-mail, na który wysyłane są komunikaty o błędach

2.3. Interfejs oprogramowania Procedury eksportowe i funkcje tworzące interfejs programowania są umieszczane bezpośrednio po opisie zmiennych. Takie procedury i funkcje są przeznaczone do użycia przez inne obiekty konfiguracyjne lub inne programy (na przykład przez połączenie zewnętrzne), dlatego powinny być umieszczone w „widocznym miejscu” w module.

Patrz również: Opis procedur i funkcji.

2.4.1 Formularz obsługi zdarzeń, poleceń i elementów formularza . Przed procedurami i funkcjami usługi w module formularza znajdują się moduły obsługi zdarzeń formularza, a także moduły obsługi zdarzeń dla poleceń i elementów formularza.

Zalecenie metodyczne (przydatne porady)

Zaleca się, aby moduły obsługi jednego elementu formularza były umieszczane razem, zgodnie z kolejnością ich wykonywania w panelu właściwości edytora formularza. w konfiguratorze .

2.4.2. Każde zdarzenie musi mieć własną procedurę obsługi. Jeśli te same czynności powinny być wykonywane, gdy zdarzenia występują w różnych elementach formularza:

  • utworzyć oddzielną procedurę (funkcję), która wykonuje niezbędne działania

  • dla każdego elementu formularza utwórz osobny program obsługi o domyślnej nazwie

  • wywołaj wymaganą procedurę (funkcję) z każdego modułu obsługi.

Na przykład źle:

& OnClient Procedura wykonywania wyboru aplikacji (elementu) Parametry = Nowa zgodność (); Wybór opcji: Wklej („Autor”, Autor); Opcje Wybór: Wklej („Executive”, Executive); Wybór listy zestawów (lista, opcje wyboru); EndProcedure & Procedura klienta na autorstwo przez zmianę (element) na wykonawcę przez zmianę (niezdefiniowane); EndProcedure

poprawne:

& Procedura OnClient do PerformIndicator (Item) SetSelection (); Procedura końcowa i procedura klienta Według autora Zmiana (Element) Instalacja Wybór (); EndProcedures & OnServer Procedure SetSelection () Selection Parameters = New Compliance (); Wybór opcji: Wklej („Autor”, Autor); Opcje Wybór: Wklej („Executive”, Executive); Wybór listy zestawów (lista, opcje wyboru); EndProcedure

Wymóg ten wynika z faktu, że logika procedur obsługi zdarzeń nie jest przeznaczona do użycia w kodzie modułu, ale jest wywoływana bezpośrednio przez platformę. Mieszanie tych dwóch scenariuszy w jednej procedurze niepotrzebnie komplikuje jej logikę i zmniejsza jej odporność (zamiast jednego przewidywanego scenariusza wywołania - na zdarzeniu z platformy - kod procedury musi liczyć na inne bezpośrednie połączenia z kodu).

2.5. Procedury obsługi zdarzeń dla modułów obiektów i menedżera obiektów są umieszczane po wyeksportowaniu, ale przed procedurami i funkcjami modułu.

Zalecenie metodyczne (przydatne porady)

Zaleca się, aby obsługiwać miejsca, zgodnie z kolejnością w opisie wbudowanego języka.

2.6. Procedury użytkowe i funkcje modułu , które nie są procedurami obsługi zdarzeń, ale stanowią wewnętrzną implementację modułu, są umieszczane w module obok modułów obsługi zdarzeń.

W przypadkach, gdy wspólny moduł jest częścią podsystemu funkcjonalnego, który zawiera kilka obiektów metadanych, ta sekcja może również zawierać procedury eksportowania usług i funkcje przeznaczone wyłącznie do wywoływania z innych obiektów tego podsystemu.

Zaleca się, aby procedury i funkcje związane z naturą lub logiką pracy były łączone. Nie zaleca się jawnego grupowania procedur i funkcji modułu na serwerze, kliencie i funkcjach bez kontekstu, ponieważ takie „technologiczne” zamawianie komplikuje zrozumienie logiki modułu, kierując uwagę dewelopera na szczegóły jego implementacji.

2.7. Sekcja inicjalizacyjna zawiera instrukcje inicjujące zmienne modułu lub obiektu (formularza). Na przykład:

Adres wsparcia = "[email protected]"; // Adres do kontaktu z pomocą techniczną Wykonaj inicjalizację ();

Inne materiały na ten temat:
aktualizacja bazy danych , obsługa zdarzeń , interfejs oprogramowania , obsługi , procedury , wzór , nagłówek , koniec procedury , funkcje , interfejs , opis , schowek , skopiować , sekcja , wymiana , formy , obiekt , element , konfigurowanie , konfiguracje , dokument

Materiały z sekcji: 1C: Enterprise 8.2 / Developers / Agreements podczas pisania kodu

Inne materiały na ten temat:

Opis procedur i funkcji

Cechy skalowania dla wybranego obiektu

Transfer konfiguracji na platformie 1C: Enterprise 8.2 do platformy 1C: Enterprise 8.3 bez trybu zgodności z wersją 8.2

Nazwy procedur i funkcji

Korzystanie z uprzywilejowanego trybu


Znajdziemy: strukturę modułu 1c , procedury i funkcje serwisowe , moduł, procedurę wywołania modułu menedżera 1c 8 2, jak wywołać procedurę z innego modułu 1c, nagłówek modułu angielskiego, 1c z procedury przetwarzania modułu wywoławczego, 1c 8 2 procedurę wywołania z modułu menedżera, 1


1C: Przedsiębiorstwo 8