Для размещения создаваемого функционала начал разрабатывать механизм дополнений, похожий на тот, который создавал для 1с 8.1. Но 8.3 отличается от 8.1. В 8.3 внешние обработки могут быть созданы на сервере. Более того, модули обработок всегда выполняются на сервере.
Для начала механизм очень прост. В Экземплярах информационных баз задаётся каталог на сервере 1с, в котором будут храниться внешние обработки. Кроме этого, в конфигурацию встроена обработка Дополнения. С помощью этой обработки можно создавать объекты внешних обработок -- дополнений. Например:
Обработки.Дополнения.Создать("Манлог");
Это будет обозначать, что в папке, где хранятся внешние обработки-дополнения будет найдена обработка extМанлог.epf
(префикс ext
должен быть добавлен к имени обработки автором при сохранении, чтобы они отличались по наименованию от обычных обработок). Из найденной обработки будет создан, инициализирован и возвращён объект.
В обработке-дополнении обязательно должна быть определена экспортируемая переменная Дополнения
. В неё при создании будет помещена ссылка на объект обработки Дополнения. С помощью этой переменной дополнение может в свою очередь создавать необходимые для работы объекты-дополнения. Таким образом разные дополнения могут разделять один общий объект для создания дополнений. Это позволит в будущем создавать объекты-синглтоны.
Также при инициализации дополнения будет произведена попытка вызвать экспортируемую процедуру ExtensionInit()
. Если дополнению требуется инициализация, она должна размещаться в этой процедуре. Если инициализация не требуется, процедуру можно не объявлять. Можно, конечно, поместить код инициализации в основном блоке модуля дополнения, но нужно отметить, что при выполнении этого кода значение переменной Дополнения
ещё не будет установлено.
Для хранения различных параметров, значения которых должны зависеть от того, в какой базе мы сейчас находимся, будет перенесён механизм, аналогичный применённому в Казначействе. Он состоит из справочника и встроенной обработки.
Справочник будет содержать ключи и значения, а также привязку по строкам подключения.