<
  • Главная
Статьи

структура модуля

1С: Підприємство 8.2 /
розробникам /
Угоди при написанні коду

Зміст

1.1. У програмному модулі (загальні модулі, модулі об'єктів, модулі менеджерів об'єктів, модулі форм, команд і т.п.) в загальному випадку можуть бути присутніми наступні розділи в наведеній нижче послідовності :

Деякі розділи можуть бути присутніми тільки в модулях певного виду. Наприклад, обробники подій елементів форм можуть бути присутніми тільки в модулях форм, а розділ опису змінних і розділ ініціалізації не можуть бути визначені в неглобальні загальних модулях, модулях менеджерів об'єктів, наборів записів, значень констант і модулі сеансу.

Вимога про поділ коду модуля на розділи покликане підвищити читаність коду і спростити внесення змін до коду різними авторами ( розробниками ) Як при колективній розробці, так і при доопрацюванні прикладних рішень на конкретних впроваджень.

1.2. Шаблон (заготівля для копіювання) розділів для загальних модулів:

////////////////////////////////////////////////// ////////////////////////////// // // //////////////// ////////////////////////////////////////////////// ////////////// //////////////////////////////////// //////////////////////////////////////////// // Програмний ИНТЕРФЕЙС // ////////////////////////////////////////////////// //////////////////////////// // СЛУЖБОВІ ПРОЦЕДУРИ І ФУНКЦІЇ

  • Розділ «Програмний інтерфейс» містить експортні процедури і функції, призначені для використання іншими об'єктами конфігурації або іншими програмами (наприклад, через зовнішнє з'єднання).
  • У пункті «процедури і функції» містить процедури і функції, складові внутрішню реалізацію загального модуля. У тих випадках, коли загальний модуль є частиною деякої функціональної підсистеми, що включає в себе кілька об'єктів метаданих, в цьому розділі також можуть бути розміщені службові експортні процедури і функції, призначені тільки для виклику з інших об'єктів даної підсистеми.
    Для об'ємних загальних модулів рекомендується розбивати цей розділ на підрозділи, за функціональною ознакою. Підрозділи передує коментарем, який рекомендується оформляти аналогічним чином. наприклад:

////////////////////////////////////////////////// ////////////////////////////// // Оновлення інформаційної бази

1.3. Шаблон оформлення розділів для модулів об'єктів, менеджерів, наборів записів, обробок, звітів і т.п .:

////////////////////////////////////////////////// ////////////////////////////// // Програмний ИНТЕРФЕЙС //////////////// ////////////////////////////////////////////////// ////////////// // обробника події //////////////////////////////// //////////////////////////////////////////////// // СЛУЖБОВІ ПРОЦЕДУРИ І ФУНКЦІЇ

  • Розділ «Програмний інтерфейс» містить експортні процедури і функції, призначені для використання в інших модулях конфігурації або іншими програмами (наприклад, через зовнішнє з'єднання). Не слід в цей розділ поміщати експортні функції і процедури, які призначені для виклику виключно з модулів самого об'єкта, його форм і команд. Наприклад, процедури заповнення табличній частини документа, які викликаються з обробки заповнення в модулі об'єкта і з форми документа в обробнику команди форми не є програмним інтерфейсом модуля об'єкта, тому що викликаються тільки в самому модулі і з форм цього ж об'єкта. Їх слід розміщувати в розділі «Службові процедури і функції».
  • Розділ «Обробники подій» містить обробники подій модуля об'єкта (ПріЗапісі, пріпроведеніі і ін.)
  • У пункті «процедури і функції» має таке ж призначення, як і в загальних модулях.

1.4. Шаблон оформлення розділів для модулів форм:

////////////////////////////////////////////////// ////////////////////////////// // обробника події ФОРМИ /////////////// ////////////////////////////////////////////////// /////////////// // обробника події ЕЛЕМЕНТІВ ШАПКИ ФОРМИ //////////////////////////// ////////////////////////////////////////////////// // // обробника події ТАБЛИЦІ ФОРМИ ////////////////////////////////////////// ////////////////////////////////////// // обробника КОМАНД ФОРМИ /////// ////////////////////////////////////////////////// /////////////////////// // СЛУЖБОВІ ПРОЦЕДУРИ І ФУНКЦІЇ

  • Розділ «Обробники подій форми» містить процедури-обробники подій форми: ПріСозданііНаСервере, відкриті і т.п.
  • Розділ «Обробники елементів шапки форми» містить процедури-обробники елементів, розташованих в основній частині форми (все, що не пов'язане з таблицями на формі).
  • У розділах «Обробники подій таблиці форми <ім'я таблиці форми>» розміщуються процедури-обробники таблиць форми і елементів таблиць. Для процедур-обробників кожної таблиці має бути створений свій розділ.
  • Розділ «Обробники команд форми» містить процедури-обробники команд форми (імена яких задаються у властивості Дія команд форми).
  • У пункті «процедури і функції» має таке ж призначення, що і в загальних модулях.

Див. Також: Правила створення модулів форм

2. Загальні вимоги до розділів програмних модулів.

2.1. Тема модуля являє собою коментар на самому початку модуля. У заголовку модуля наводиться його короткий опис і умови застосування.
наприклад:

////////////////////////////////////////////////// ////////////////////////////// // Клієнтські процедури і функції загального призначення: // - для роботи зі списками в формах; // - для роботи з журналом реєстрації; // - для обробки дій користувача в процесі редагування // многострочного тексту , Наприклад коментаря в документах; // - інше. // //////////////////////////////////////////////// ////////////////////////////////

Для модулів форм в заголовку рекомендується розміщувати опис параметрів форми.

2.2. Розділ опису змінних. Імена змінних призначаються відповідно до загальних правилами освіти імен змінних , А їх використання описується в статті Використання глобальних змінних в програмних модулях .

Всі змінні модуля повинні бути забезпечені коментарем, достатнім для розуміння їх призначення. Коментар рекомендується розміщувати в тому ж рядку, де оголошується змінна.
приклад:

Перем ВалютаУчета Експорт; // Валюта, в якій ведеться облік Перем АдресПоддержкі Експорт; // Адреса електронної пошти, куди направляються повідомлення про помилки

2.3. Програмний інтерфейс. Експортні процедури і функції, складові його програмний інтерфейс, розміщуються відразу ж після опису змінних. Такі процедури і функції призначені для використання іншими об'єктами конфігурації або іншими програмами (наприклад, через зовнішнє з'єднання), тому повинні бути розташовані в модулі на "видному місці".

Див. Також: Опис процедур і функцій

2.4.1 Обробники подій форми, команд і елементів форми. Перед службовими процедурами і функціями в модулі форми розташовуються обробники подій форми, а також обробники подій команд і елементів форми.

Методична рекомендація (корисну пораду)

Рекомендується обробники одного елемента форми розташовувати разом, дотримуючись, при цьому, порядку їх слідування в панелі властивостей редактора форми в конфігураторі .

2.4.2. У кожної події повинна бути призначена своя процедура-обробник. Якщо однакові дії повинні виконуватися при виникненні подій в різних елементах форми слід:

  • створити окрему процедуру (функцію), що виконує необхідні дії

  • для кожного елемента форми створити окремий обробник з ім'ям, який призначається за умовчанням

  • з кожного обробника викликати необхідну процедуру (функцію).

Наприклад, неправильно:

& НаКліенте Процедура ПоІсполнітелюПріІзмененіі (Елемент) ПараметриОтбора = Новий Відповідність (); ПараметриОтбора .Вставіть ( "ПоАвтору", ПоАвтору); ПараметриОтбора .Вставіть ( "ПоІсполнітелю", ПоІсполнітелю); УстановітьОтборСпіска (Список, ПараметриОтбора); КонецПроцедури & НаКліенте Процедура ПоАвторуПріІзмененіі (Елемент) ПоІсполнітелюПріІзмененіі (Не визначено); КонецПроцедури

правильно:

& НаКліенте Процедура ПоІсполнітелюПріІзмененіі (Елемент) УстановітьОтбор (); КонецПроцедури & НаКліенте Процедура ПоАвторуПріІзмененіі (Елемент) УстановітьОтбор (); КонецПроцедури & НаСервере Процедура УстановітьОтбор () ПараметриОтбора = Новий Відповідність (); ПараметриОтбора .Вставіть ( "ПоАвтору", ПоАвтору); ПараметриОтбора .Вставіть ( "ПоІсполнітелю", ПоІсполнітелю); УстановітьОтборСпіска (Список, ПараметриОтбора); КонецПроцедури

Ця вимога обумовлена ​​тим, що логічно процедури-обробники подій не призначені для використання в коді модуля, а викликаються безпосередньо платформою. Змішання ж цих двох сценаріїв в одній процедурі невиправдано ускладнює її логіку і знижує її стійкість (замість одного передбаченого сценарію виклику - за подією з платформи - код процедури повинен розраховувати і на інші "прямі" виклики з коду).

2.5. Обробники подій модулів об'єкта і менеджера об'єкта розміщуються після експортних, але до службових процедур і функцій модуля.

Методична рекомендація (корисну пораду)

Рекомендується розташовувати обробники, дотримуючись порядку їх слідування в описі вбудованої мови.

2.6. Службові процедури і функції модуля, які не є обработчиками подій, а складають внутрішню реалізацію модуля, розміщуються в модулі слідом за обработчиками подій.

У тих випадках коли загальний модуль є частиною деякої функціональної підсистеми, що включає в себе кілька об'єктів метаданих, в цьому розділі також можуть бути розміщені службові експортні процедури і функції, призначені тільки для виклику з інших об'єктів даної підсистеми.

Процедури і функції, пов'язані між собою за характером або за логікою роботи рекомендується розташовувати разом. Не рекомендується явно групувати процедури і функції модуля на серверні, клієнтські і функції без контексту, так як таке «технологічне» упорядкування ускладнює розуміння логіки модуля, відволікаючи увагу розробника на деталі її реалізації.

2.7. Розділ ініціалізації містить оператори, ініціалізували змінні модуля або об'єкт (форму). наприклад:

АдресПоддержкі = "[email protected]"; // Адреса для звернення до служби технічної підтримки ВиполнітьІніціалізацію ();

Інші матеріали по темі:
оновлення інформаційної бази , обробники подій , програмний інтерфейс , обробники , процедури , шаблон , Заголовок , КонецПроцедури , функції , інтерфейс , опис , буфер обміну , копіювати , розділ , обмін , форми , об'єкт , елемент , конфігурація , конфігурації , документ

Матеріали з розділу: 1С: Підприємство 8.2 / Розробникам / Угоди при написанні коду

Інші матеріали по темі:

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

Особливості масштабування по вибраному об'єкту

Переклад конфігурацій на платформі "1С: Підприємство 8.2" на платформу "1С: Підприємство 8.3" без режиму сумісності з версією 8.2

Імена процедур і функцій

Використання привілейованого режиму


Нас знаходять: структура модуля 1с це, служебниепроцедуриіфункціі, модуля, модуль менеджера викликати процедуру 1с 8 2, як викликати процедуру з іншого модуля 1с, заголовка англійської модулів, 1с з форми обробки викликати процедуру модуля, 1с 8 2 викликати процедуру з модуля менеджера, 1


1С: Підприємство 8



Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью