Механизм расширения конфигурации – это специальный механизм, предназначенный для доработки расширяемой конфигурации без изменения этой конфигурации (в том числе без снятия с поддержки).
При рассмотрении механизма расширения конфигурации будут использоваться следующие термины:
- Расширяемая конфигурация – основная конфигурация информационной базы, для которой применяется расширение или для которой расширение разрабатывается.
- Расширение конфигурации – набор объектов конфигурации, подключаемых к расширяемой конфигурации и содержащий набор объектов, добавляемых к расширяемой конфигурации. Расширение может включать в себя как объекты расширяемой конфигурации, так и объекты, которые отсутствуют в расширяемой конфигурации.
- Собственный объект – самодостаточный объект конфигурации, который может находиться как в расширяемой конфигурации, так и в расширении (отчет, обработка или подсистема).
- Заимствованный объект – собственный объект, добавленный в расширение конфигурации.
- Расширяемый объект – собственный объект, для которого в заимствованном объекте изменены какие-либо параметры (свойства, формы и т. д.).
- Расширяющий объект – это заимствованный объект, в который внесены изменения относительно расширяемого объекта. Наличие в заимствованном объекте только контролируемых свойств не делает заимствованный объект расширяющим.
- Результирующий объект – это собственный объект плюс объединение всех расширяющих объектов (если расширений несколько). Если для собственного объекта нет расширяющих объектов – он становится результирующим «без изменений». Т.е. в конфигурации, с которой работает пользователь – все объекты являются результирующими, вне зависимости от наличия и количества установленных расширений.
- Расширяющее свойство – свойство заимствованного объекта, которое изменяет одноименное свойство расширяемого объекта.
- Контролируемое свойство – свойство заимствованного объекта, значение которого проверяется при подключении расширения к расширяемой конфигурации. Если при подключении расширения (в режиме 1С:Предприятие) значение контролируемого свойства в расширении не совпадет со значением этого же свойства в расширяемой конфигурации, расширение не будет подключено.
- Модифицируемое свойство – свойство заимствованного объекта, значение которого в результирующем объекте будет получаться из расширения.
Свойство заимствованного объекта не может быть одновременно контролируемым и модифицируемым.
Основное назначение расширения конфигурации – это доработка прикладного решения при внедрении (или в «облаке») под нужды клиента. При этом дорабатываемую конфигурацию не надо снимать с поддержки. В результате сохраняется простота обновления типового прикладного решения, стоящего на поддержке, с необходимостью выполнять доработки. При разработке расширения следует понимать некоторые особенности функционирования расширения конфигурации. Так, расширяемая конфигурация в любой момент может быть изменена, например, в результате обновления. При этом разработчик расширения не может никак повлиять на возможность или невозможность обновления. Также следует учитывать тот факт, что в системе могут функционировать более одного расширения и автор каждого расширения (в общем случае) не знает, как функционирует другое расширение.
Расширение создается в конфигураторе, хранится в информационной базе и может быть сохранено в файл. Для добавления (подключения) расширения, сохраненного в файл, в прикладное решение конкретного клиента нет необходимости использовать конфигуратор. Подключить расширение можно с помощью специальной стандартной функции (Все функции – Стандартные – Управление расширениями конфигурации). Подключить расширение также можно с помощью инструментария прикладного решения, которое использует программный интерфейс, предоставляемый платформой. Подключение расширения (интерактивно или из встроенного языка) возможно или в небезопасном режиме или в том случае, когда профиль безопасности, под управлением которого работает сеанс, разрешает доступ к подключаемому расширению.
В качестве расширяемых объектов могут выступать:
- Управляемые формы;
- Роли;
- Подсистемы;
- Настройки начальной страницы (рабочего стола) прикладного решения;
- Общие модули;
- Модули объектов для всех типов объектов;
- Модули менеджеров для всех типов объектов;
- Модуль сеанса;
- Модуль управляемого приложения;
- Модуль внешнего соединения;
- Модули команд.
В качестве собственных объектов расширения могут выступать:
- Подсистемы;
- Обработки;
- Отчеты;
- Реквизиты, табличные части и реквизиты табличных частей в заимствованных обработках и отчетах;
- Роли;
- XDTO-пакеты;
- Web-сервисы;
- HTTP-сервисы;
- WS-ссылки;
- Общие макеты;
- Общие команды;
- Общие модули (кроме глобальных серверных и привилегированных общих модулей);
- Группы команд;
- Общие картинки;
- Формы, макеты и команды заимствованных объектов:
- Планов обмена;
- Критерев отбора;
- Хранилищ настроек;
- Справочников;
- Документов;
- Журналов документов;
- Перечислений;
- Отчетов;
- Обработок;
- Регистров сведений;
- Регистров накопления;
- Регистров бухгалтерии;
- Регистров расчета;
- Планов видов характеристик;
- Планов счетов;
- Планов видов расчета;
- Бизнес-процессов;
- Задач;
- Таблиц внешних источников данных;
- Кубов внешних источников данных;
- Таблиц измерений внешних источников данных.
Среди контролируемых свойств следует особо выделить:
- Состав плана обмена;
- Предопределенные элементы для справочников, планов видов характеристик, планов счетов и планов видов расчетов.
В базовых версиях прикладных решений работа с расширениями не поддерживается.