Программные модули
Схема программных модулей:
Модулем называется программа на встроенном языке 1С:Предприятие. Модули располагаются в заданных точках конфигурации и вызываются для выполнения в заранее известные моменты работы системы 1С:Предприятие. Например, модули формы привязаны к формам объектов и позволяют детально описывать реакцию формы на действия пользователя.
В конфигурации существует несколько видов модулей. Это модуль приложения, модуль внешнего соединения, общие модули, модули форм и модули объектов конфигурации (менеджеров значения констант, справочников, документов, планов видов характеристик, планов счетов, планов видов расчета, планов обмена, бизнес-процессов, задач, отчетов, обработок, наборов записей регистров).
Если конфигурация запускается не в режиме клиентской сессии, а в режиме COM-соединения, то вместо модуля приложения используется модуль внешнего соединения.
Для написания и редактирования текстов программных модулей предназначен редактор текстов и модулей. Тексты программных модулей могут содержать конструкции как на русском, так и на английском языках в любой комбинации.
Разделы программного модуля в порядке их размещения:
- Раздел объявления переменных;
- Раздел описания процедур и функций;
- Раздел основной программы.
Ограничения программных модулей:
- Общие модули содержат только раздел описания процедур и функций.
В общих модулях описываются такие процедуры и функции, алгоритмы которых неоднократно используются в других модулях.
В модуле приложения описываются такие процедуры и функции, как "ПриНачалеРаботыСистемы", "ПриЗавершенииРаботыСистемы" и др.
В модуле внешнего соединения описываются специфические процедуры и функции, которые актуальны для использования в режиме внешнего соединения. В режиме Com-соединения по сути модуль приложения заменяется на модуль внешнего соединения.
В модуле объекта описываются такие процедуры и функции, как "ПриЗаписи", "ПриУстановкеНовогоКода", "ПриКопировании", "ОбработкаЗаполнения" и др.
В модуле формы описываются такие процедуры и функции, как "ПриОткрытии", "ПриЗакрытии", "ОбработкаВыбора", "ВнешнееСобытие" и др.
Для того, чтобы переменная, процедура или функция были доступны в других модулях (в соответствии с контекстом использования модулей) необходимо в конце строки объявления написать ключевое слово "Экспорт". Использование ключевого слова "Экспорт" имеет смысл только для тех переменных, которые описаны в разделе описания переменных программного модуля. Например:
Перем глТекущийПользователь Экспорт Процедура Пересчет() Экспорт
Процедура или функция, объявленные с ключевым словом "Экпорт" в модуле объекта, дополняют контекст этого объекта. Например:
Справочники.Клиенты.НайтиПоКоду(ВыбКод,,,).ПолучитьОбъект().Печать();
При этом процедура Печать() объявлена в модуле объекта справочника "Клиенты" с ключевым словом "Экспорт".
Отличие процедур и функций состоит в том, что функция имеет возвращаемое значение. Параметры процедур и функций по умолчанию передаются по ссылке. Для того, чтобы передать параметр по значению используется ключевое слово "Знач". Например:
Процедура Пересчет(Количество, Сумма, СтавкаНДС, Знач ФлагРасчетаСтавкиНДС)
Текст программного модуля может содержать однострочные комментарии, которые начинаются с комбинации символов //.
Например:
// данная процедура предназначена для расчета суммы по строке