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

Пользовательские (динамические) приложения позволяют создавать и настраивать новые приложения без изменения исходного кода. Такой «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 — мнемокод родительской операции. Изменить его можно во вкладке Структура главного меню > Свойства: при клике на кнопку выбора откроется список доступных операций.