Согласно «Системе стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8» код модулей должен быть оформлен соответствующим образом областями и разграничен на логические блоки. Если обратиться к типовым конфигурациям, можно увидеть все преимущества такого оформления. Рассмотрим основные принципы оформления кода модулей областями.
Модуль формы
Код модуля формы должен быть разграничен на следующие области:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#Область ОбработчикиСобытийФормы // здесь размещаются обработчики событий формы, такие как ПриСозданииНаСервере(), ПередЗаписью() и пр. #КонецОбласти #Область ОбработчикиСобытийЭлементовШапкиФормы // здесь размещаются обработчики событий элементов в шапке формы, если таковые присутствуют. #КонецОбласти #Область ОбработчикиСобытийЭлементовТаблицы // здесь размещаются обработчики событий элементов талицы формы, если таблица формы присутствует. // Для каждой таблицы телается отдельная область кода. #КонецОбласти #Область ОбработчикиКомандФормы // здесь размещаются клиентские обработчики команд формы. // Серверный код, который вызывается из клиентских обработчиков, помещается в области "СлужебныеПроцедурыИФункции". #КонецОбласти #Область СлужебныеПроцедурыИФункции // Здесь размещаются прикладные методы, не являющиеся обработчиками событий элементов формы. #КонецОбласти |
Модуль объекта и менеджера
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда #Область ПрограммныйИнтерфейс // здесь размещаются экспортные методы объекта. #КонецОбласти #Область ОбработчикиСобытий // обработчики событий объекта, например "ПриЗаписи", "ОбработкаПроведения" #КонецОбласти #Область СлужебныеПроцедурыИФункции #Область ИнициализацияИЗаполнение // методы, выполняющие заполнение реквизитов объекта. Обработчик события "ОбработкаЗаполнения" здесь размещать не нужно, ему место в области "ОбработчикиСобытий". #КонецОбласти #Область Прочее // дополнительный внутренний фунционал. #КонецОбласти #КонецОбласти #Область Печать // заполняется в модуле менеджера процедурой "Печать" и методами, связанными с печатью данных. #КонецОбласти #КонецЕсли |
Общий модуль
1 2 3 4 5 6 7 8 9 10 11 |
#Область ПрограммныйИнтерфейс // экспортные библиотечные методы, которые можно применить независимо. #КонецОбласти #Область СлужебныйПрограммныйИнтерфейс // экспортные библиотечные методы, которые затруднительно применять независимо. #КонецОбласти #Область СлужебныеПроцедурыИФункции // внутренний служебный функционал. #КонецОбласти |
Модуль команды
1 2 3 |
#Область ОбработчикиСобытий // здесь размещается процедура "ОбработкаКоманды". #КонецОбласти |
Применение областей позволяет качественно структурировать программный код и обязательно для применения в типовых решениях.
Разработчик может объединять код и в другие дополнительные блоки-области, например «Проведение», «РаботаСЭЦП» и пр.
Дополнительную информацию про оформление кода областями можно получить в этом разделе стандартов на ИТС.