Все расширения имеют идентификатор.
Идентификатор необходим для:
- Определения места вызова расширения (например, для отчётов - это список отчётов)
- Вызова расширения (например, для отчёта - это его генерация и отображение)
- Для замены базовой функциональности на расширение (например, для замены базового отчёта)
Определение места вызова расширений
Базовая функциональность, в последовательности выполнения, содержит в опеределенных местах точки расширения. Каждая точка расширения запрашивает наличие индивидуальной (клиентской) конфигурации, которая назначена для данной точки. Например итоговая страница представления документа 'Заказ' запрашивает просмотрщик с идентификатором 'stmobile://viewer/orderdoc', или при начале создания документа 'Опрос' запрашивается обработчик действий с идентификатором 'stmobile://action/survey/preopen' и тд. Таким образом, идентификатор определяет место в котором будет вызвано расширение.
Вызов расширений
Базовая функциональность вызывает расширения по заданным идентификаторам. Например, при добавлении нового отчёта, появляется соотвествующий пункт в меню отчётов, при клике на этом пункте, будет вызван отчёт по его идентификатору. Также, можно из расширений вызывать другие расширения. Например из отчёта вызвать другой отчёт. Смотрите документацию по api.launcher
Замена базовой функциональности
Встроенные отчёты, просмотр документов, скрипт расчёта рекомендованного количества и т.д., имеют свои идентификаторы. Если расширению задать идентификатор совпадающий со встроенным, то оно будет вызванно вместо встроенного. Например если создать расширение типа "просмотрщик" с идентификатором 'stmobile://viewer/orderdoc', то оно будет вызвано для итоговой формы представления документа 'Заказ' вместо встроенного.