Пользовательские (динамические) приложения#

Пользовательские (динамические) приложения позволяют создавать и настраивать новые приложения без изменения исходного кода. Такой «Low-code» подход ускоряет внедрение бизнес-логики.

Основные возможности#

  1. Создание приложений - добавление нового приложения и его настройка из интерфейса, без привлечения программиста.

  2. Гибкая конфигурация - детальная настройка операций главного меню приложения.

  3. Управление правами доступа - возможность настроить права для приложения и его операций.

  4. Миграция конфигураций - созданные приложения можно переносить между базами с помощью менеджера конфигураций.

Создание нового приложения#

  1. Перейдите в раздел Настройка системы > Сущности > Динамические приложения.

  2. Нажмите на кнопку Создать.

  3. Заполните все обязательные поля.

  4. В разделе Дополнительно карточки приложения выполните операцию Синхронизировать административные объекты .

После этого пользовательское приложение будет доступно для выбора в стандартном списке приложений.

Примечание

Мнемокод (имя) динамического приложения нельзя изменять после создания.

Пункты меню#

Главное меню пользовательского приложения формируется на основе Default-отображения указанного Avi-контроллера (по умолчанию Bs_DynamicMainMenuAvi, который наследует настройки от ApplicationAvi`):

Верхняя синяя панель: пункты главного меню динамического приложения с настройками по умолчанию. Включает в себя автоматически заполняемые фильтры.
Структура главного меню: те же пункты, представленные в виде дерева в карточке приложения.

Внимание

После каждого изменения структуры пунктов меню НЕОБХОДИМО создавать адм. объекты.

Для этого можно использовать операцию "Синхронизировать административные объекты" в разделе "Дополнительно" карточки динамического приложения.

Логика работы пунктов меню задаётся Jexl-скриптом, который выполняется в контексте текущей выборки. Для пользовательских пунктов меню скрипт можно редактировать

Добавление пунктов меню#

Пункты меню можно создавать двумя способами:

  1. Из динамического меню - ипортирует выбранные элементы со всеми предками. Такие пункты меню используют для открытия отображения функцию ru.bitec.app.btk.menu.Btk_MenuTreeLib#callMenuProcess с соответствующим мнемокодом, что упрощает перенос с одной базы на другую.

  2. Вручную - добавляет новую операцию с настройками по умолчанию, после чего её параметры можно откорректировать.

Редактирование структуры и свойств#

Для редактирования пунктов главного меню в детализации к карточке динамического приложения доступно дерево операций Структура главного меню. Она содержит как операции Avi-контроллера, так и добавленные пользовательские элементы.

  • Изменение основных свойств (порядковый номер, иконка, активность) можно выполнять прямо в дереве Структура главного меню.

  • Дополнительные параметры редактируются на вкладке Свойства.

  • Jexl-скрипт операции задаётся на вкладке Jexl-скрипт.

Примечание

Внутренняя логика работы с пунктами меню пользовательских приложений полностью повторяет пользовательские jexl-операций (см. раздел «Пользовательские jexl-операции»).

  • В качестве мастер выборки всегда используется: Btk_SelOperOverride.sMasterSel = 'Btk_DynamicMainMenuAvi'.

  • Мастер отображение совпадает с мнемокодом динамического приложения : Btk_SelOperOverride.sMasterRep = '<Имя динамического приложения>'.

  • Все операции так же имеют префикс jexl_.

Управление иерархией#

Для задания вложенности пунктов меню используется атрибут headOperation — мнемокод родительской операции. Изменить его можно во вкладке Структура главного меню > Свойства: при клике на кнопку выбора откроется список доступных операций.