Модулна структура

1C: Enterprise 8.2 /
За програмери /
Кодексски конвенции

Содржина

1.1. Во програмскиот модул (општи модули, модули на предмети, модули на објект менаџери, модули на форми, команди, итн.) Во општиот случај следните делови може да бидат присутни во следните секвенци :

Некои делови може да бидат присутни само во модули со одреден тип. На пример, обработувачите на настани за елементите на формите можат да бидат присутни само во форма на модули, а делот за опис на променливата и делот за иницијализација не може да се дефинираат во не-глобални општи модули, модули за објект менаџери, записници, константни вредности и модул на сесија.

Условот да се подели кодот на модулот во секции е наменет да ја зголеми читливоста на кодот и да го поедностави воведувањето на промени во кодот од различни автори ( од програмерите ) како во колективниот развој, така и во префинетост на апликативни решенија за конкретни имплементации.

1.2. Шаблон (празно за копирање) секции за заеднички модули:

////////////////////////////////////////////////// ////////////////////////////// // // // //////////// ////////////////////////////////////////////////// ////////////// //////////////////////////////////// //////////////////////////////////////////// // ИНТЕРФЕЈС НА СОФТВЕР ////////////////////////////////////////////////// //////////////////////////// / СЕРВИСНИ ПРОЦЕДУРИ И ФУНКЦИИ

  • Дел "Програмски интерфејс" содржи процедури за извоз и функции наменети за употреба од други конфигурациски објекти или други програми (на пример, преку надворешна врска).
  • Во делот "Процедури за комунални услуги и функции" се содржани процедурите и функциите кои ја сочинуваат внатрешната имплементација на заедничкиот модул. Во случаи каде што заедничкиот модул е ​​дел од некои функционален подсистеми кои вклучуваат неколку објекти за метаподатоци, овој дел исто така може да содржи процедури за извоз на услуги и функции наменети само за повикување од други објекти на овој потсистем.
    За општите обични модули, се препорачува да се подели овој дел во потсекциите, според функционалниот атрибут. На подсекциите му претходе коментар, кој се препорачува да се издаде на сличен начин. На пример:

////////////////////////////////////////////////// ////////////////////////////// // Ажурирање на информативната база

1.3. Шаблон за дизајн на делови за објект модули, менаџери, рекорд сетови, третмани, извештаи, итн:

////////////////////////////////////////////////// ////////////////////////////// ИНТЕРФЕЈС НА СОФТВЕР ////////////// // ////////////////////////////////////////////////// ////////////// // ПРОЦЕСОРИ НА НАСТАНИ //////////////////////////////// //////////////////////////////////////////////// // // СЕРВИСНИ ПРОЦЕДУРИ И ФУНКЦИИ

  • Дел "Програмски интерфејс" содржи процедури за извоз и функции наменети за употреба во други конфигурациски модули или други програми (на пример, преку надворешна врска). Не е неопходно да се стават во овој дел извозни функции и процедури кои се наменети да бидат повикани исклучиво од модулите на самиот објект, неговите форми и команди. На пример, процедурите за преполнување на делот на табелата на документот што се повикуваат од обработката на пополнување во модулот на објектот и од образецот на документот во образецот за команда на командата не се програмскиот интерфејс на модулот на објектот, бидејќи се нарекуваат само во самиот модул и од формите на истиот објект. Тие треба да бидат поставени во делот "Комунални процедури и функции."
  • Одделот " Управувачи со настани" содржи обработувачи на настани за модулот на објектот ( Prizavisi , PRO , итн.)
  • Во делот "Упатства и функции" има иста цел како и во општите модули.

1.4. Шаблон за дизајн на дел за модули за формулари:

////////////////////////////////////////////////// ////////////////////////////// // РАКОМЕТ НА НАСТАНИТЕ НА ФОРМАТА ///////////// ////////////////////////////////////////////////// /////////////// // РАКОМЕТАРИ НА НАСТАНИ ЕЛЕМЕНТИ НА ОБРАЗЕЦОТ НА ФОРМАТА //////////////////////////// ////////////////////////////////////////////////// ПРОЦЕСОРИ НА НАСТАНИ ФОРМИ НА ТАБЕЛИ ////////////////////////////////////////// ////////////////////////////////////// // ПРОЦЕСОРИ НА ТИМОВИ НА ФОРМАТА /////// ////////////////////////////////////////////////// /////////////////////// / СЕРВИСНИ ПРОЦЕДУРИ И ФУНКЦИИ

  • Во делот "Обработувачи на настани на формата " се наоѓаат процедури за постапување со формите на настани: за креирање на сервер , отворање итн.
  • Дел " Обработувачи на образец за елемент" содржи процедури за обработка на елементите лоцирани во главниот дел од формуларот (сè што не е поврзано со табелите на образецот).
  • Во делот "Управувачи со настани од табелата за форми" <име на табелата> " има процедури за ракувачите на табелата со обрасци и елементите на табелата. За процедурите на ракувачот, секоја маса мора да има сопствена партиција.
  • Во делот "Образец за обработка на команди" се содржани процедури за обработка на команди за команда (чии имиња се наведени во акција сопственост на команди за формата).
  • Во делот "Упатства и функции" има иста цел како и во општите модули.

Видете исто така: Правила за создавање на модули за формата

2. Општи барања за делови на софтверски модули.

2.1. Заглавието на модулот е коментар на самиот почеток на модулот. Заглавието на модулот дава краток опис и услови за примена.
На пример:

////////////////////////////////////////////////// //////////////////////////// // // Клиентски процедури и функции од општа намена: // - за работа со списоци во форми; // - да се работи со дневникот; // - за обработка на дејства корисник во тек уредување // повеќестрана текст , на пример коментари во документи; // - други. // //////////////////////////////////////////////// ////////////////////////////////

За модули за форма, се препорачува да се стави опис на параметрите на формата во насловот.

2.2. Променлив опис на делот . Променливите имиња се доделуваат според општото променливи правила за име , и нивната употреба е опишана во статијата. Користење на глобални променливи во софтверски модули .

Сите променливи на модулите треба да бидат доставени со коментар доволен за да ја разберат нивната цел. Коментарот се препорачува да биде ставен во истата линија каде што е прогласена променливата.
Пример:

Pem ВалутаПроизводство на извоз; // Валута во која се води сметководството Perem адреса поддржува извоз; // адреса на е-пошта каде се праќаат пораки за грешки

2.3. Софтверски интерфејс Извозните процедури и функции кои го сочинуваат програмскиот интерфејс се поставени веднаш по описот на променливите. Ваквите процедури и функции се наменети за употреба од други објекти за конфигурација или други програми (на пример, преку надворешна врска), затоа тие треба да бидат лоцирани на "видливо место" во модулот.

Видете исто така: Опис на процедурите и функциите.

2.4.1 Формирај ги обработувачите на настаните, командите и елементите на формата . Пред сервисни процедури и функции во модулот за формати, се наоѓаат обработувачи на настани од формата, како и обработувачи на настани за команди и форми на елементи.

Методичка препорака (корисни совети)

Се препорачува ракувачите со еден елемент од форма да бидат поставени заедно, придржувајќи се до редоследот на нивното следење во панелот за сопственост на уредувачот на формулари. во конфигураторот .

2.4.2. Секој настан мора да има сопствена постапка за ракување. Ако истите активности треба да се извршат кога настаните се случуваат во различни елементи на формата:

  • креирајте посебна процедура (функција) која ги извршува неопходните активности

  • за секој елемент на образец, креирајте посебен управувач со стандардно име

  • јавете се на потребната процедура (функција) од секој управувач.

На пример, не е во ред:

& OnClient Постапка за ИзвршувањеАпликација (елемент) Параметри на избор = Нова усогласеност (); Избор на опции. Вметни ("Од авторот", од автор); Избор на опции. Залепи ("Извршен", Извршен); Постави избор на листа (листа, избор на опции); EndProcedure & За постапката на клиентот за пишување со менување (елемент) до Извршниот со промена (Недефинирано); EndProcedure

точно:

& OnClient постапка за изведувањеИндикатор (точка) SetSelection (); Крај процедура и во постапка на клиентот Со промена на елементот (елемент) Инсталирајте го изборот (); EndProcidedures & OnServer Procedure SetSelection () Параметри на селекција = Нова усогласеност (); Избор на опции. Вметни ("Од авторот", од автор); Избор на опции. Залепи ("Извршен", Извршен); Постави избор на листа (листа, избор на опции); EndProcedure

Ова барање се должи на фактот дека логиката на процедурите за постапување со настан не е наменета за употреба во кодот на модулот, туку се нарекува директно од платформата. Мешањето на овие две сценарија во една постапка непотребно ја комплицира својата логика и ја намалува нејзината робустност (наместо претпоставеното сценарио за повик - по настан од платформата - кодот на постапката мора да смета на други директни повици од кодот).

2.5. Управувачите со настани за објектните модули и менаџерот на објектите се ставаат по извозот, но пред процедурите за комунални услуги и функциите на модулот.

Методичка препорака (корисни совети)

Се препорачува да се постават ракувачи, да се почитуваат редоследот на нивното следење во описот на вградениот јазик.

2.6. Комуналните процедури и функциите на модулот кои не се обработувачи на настани, но претставуваат внатрешна имплементација на модул, се ставаат во модулот до обработувачите на настани.

Во случаи кога заеднички модул е ​​дел од функционален потсистем кој вклучува неколку метаподатоци објекти, овој дел исто така може да содржи процедури за извоз на услуги и функции наменети само за повикување од други објекти на овој потсистем.

Се препорачува да се постават процедури и функции поврзани со природата или логиката на работа. Не е препорачливо експлицитно да се групираат процедурите и функциите на модулот на сервер, клиент и функции без контекст, бидејќи таквото "технолошко" нарачување го комплицира разбирањето на логиката на модулот, пренасочувајќи го вниманието на инвеститорот кон деталите за нејзиното спроведување.

2.7. Секцијата за иницијализација содржи изјави кои ги иницијализираат променливите на модулот или објектот (форма). На пример:

Поддршка адреса = "[email protected]"; // Адреса за контакт со техничка поддршка Изведување иницијализација ();

Други материјали на темата:
база на податоци за ажурирање , обработувачи на настани , софтверски интерфејс , ракувачи , процедури , шема , наслов , крај на постапката , функции , интерфејс , опис , клипборд , да се копира , секција , размена , форми , објект , елементот , конфигурирање , конфигурации , документ

Материјали од делот: 1C: Претпријатие 8.2 / програмери / договори при пишување на кодот

Други материјали на темата:

Опис на процедури и функции

Карактеристики на скалирање за избраниот објект

Пренос на конфигурации на платформата 1C: Enterprise 8.2 на платформата 1C: Enterprise 8.3 без режим на компатибилност со верзија 8.2

Имиња на процедури и функции

Користење на привилегиран режим


Пронајдовме: структурата на модулот 1в е , процедури за услуги и функции , модул, процедура за повик на менаџерски модул 1в 8 2, како да се јави постапка од друг модул 1в, англиски модул заглавие, 1с од процедура за повик модул за обработка, 1c 8 2 повик постапка од модулот за управување, 1


1C: Enterprise 8