Перейти к содержимому

6.7 Какой должен быть порядок определения процедур и функций в программном модуле?

Telegram → Просто о платформе 1С

❓ 6.7 Какой должен быть порядок определения процедур и функций в программном модуле?


Программный модуль в общем случае состоит из трёх последовательных разделов:

  1. раздел определения переменных — объявления Перем;
  2. раздел процедур и функций — определения Процедура и Функция;
  3. раздел основной программы — исполняемые операторы вне процедур и функций.

В конкретном виде модуля некоторые разделы могут отсутствовать. Подробнее в вопросе 6.2 «Какие разделы существуют в общем модуле».

Стандарт рекомендует дополнительно разделять модуль на логические области. Для модулей объектов, менеджеров, наборов записей, обработок и отчётов используется следующий порядок:

#Область ОписаниеПеременных
#КонецОбласти
#Область ПрограммныйИнтерфейс
#КонецОбласти
#Область ОбработчикиСобытий
#КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#КонецОбласти
#Область Инициализация
#КонецОбласти

Назначение областей:

  • ПрограммныйИнтерфейсэкспортные процедуры и функции, предназначенные для вызова из других модулей или программ. Не следует в этот раздел помещать экспортные функции и процедуры, которые предназначены для вызова исключительно из модулей самого объекта, его форм и команд;
  • ОбработчикиСобытий — обработчики событий объекта, например ПриЗаписи и ПриПроведении;
  • СлужебныйПрограммныйИнтерфейс — экспортные методы для внутреннего взаимодействия частей библиотеки(подсистемы);
  • СлужебныеПроцедурыИФункции — внутренняя реализация модуля.

Точный состав областей зависит от вида модуля. Например, для общих модулей и модулей форм стандарт предусматривает другие шаблоны.

Связанные по смыслу процедуры и функции рекомендуется располагать рядом. Не следует группировать их только по месту выполнения — например, отдельно клиентские и серверные методы.

Пустые области в модуле оставлять не рекомендуется.

Платформа определяет общий порядок разделов модуля(Раздел переменных - Раздел процедер и фукнций - Раздел основной программы). Для понятной структуры кода стандарт рекомендует группировать подпрограммы по назначению с помощью областей.