Пользовательские (динамические) приложения#
Пользовательские (динамические) приложения позволяют создавать и настраивать новые приложения без изменения исходного кода. Такой «Low-code» подход ускоряет внедрение бизнес-логики.
Основные возможности#
Создание приложений - добавление нового приложения и его настройка из интерфейса, без привлечения программиста.
Гибкая конфигурация - детальная настройка операций главного меню приложения.
Управление правами доступа - возможность настроить права для приложения и его операций.
Миграция конфигураций - созданные приложения можно переносить между базами с помощью менеджера конфигураций.
Создание нового приложения#
Перейдите в раздел
Настройка системы > Сущности > Динамические приложения.Нажмите на кнопку
Создать.Заполните все обязательные поля.
В разделе
Дополнительнокарточки приложения выполните операциюСинхронизировать административные объекты.
После этого пользовательское приложение будет доступно для выбора в стандартном списке приложений.
Примечание
Мнемокод (имя) динамического приложения нельзя изменять после создания.
Пункты меню#
Главное меню пользовательского приложения формируется на основе Default-отображения указанного Avi-контроллера (по умолчанию — Bs_DynamicMainMenuAvi, который наследует настройки от ApplicationAvi`):
Верхняя синяя панель: пункты главного меню динамического приложения с настройками по умолчанию. Включает в себя автоматически заполняемые фильтры.
Структура главного меню: те же пункты, представленные в виде дерева в карточке приложения.
Внимание
После каждого изменения структуры пунктов меню НЕОБХОДИМО создавать адм. объекты.
Для этого можно использовать операцию "Синхронизировать административные объекты" в разделе "Дополнительно" карточки динамического приложения.
Логика работы пунктов меню задаётся Jexl-скриптом, который выполняется в контексте текущей выборки. Для пользовательских пунктов меню скрипт можно редактировать
Добавление пунктов меню#
Пункты меню можно создавать двумя способами:
Из динамического меню - ипортирует выбранные элементы со всеми предками. Такие пункты меню используют для открытия отображения функцию
ru.bitec.app.btk.menu.Btk_MenuTreeLib#callMenuProcessс соответствующим мнемокодом, что упрощает перенос с одной базы на другую.Вручную - добавляет новую операцию с настройками по умолчанию, после чего её параметры можно откорректировать.
Редактирование структуры и свойств#
Для редактирования пунктов главного меню в детализации к карточке динамического приложения доступно дерево операций Структура главного меню. Она содержит как операции Avi-контроллера, так и добавленные пользовательские элементы.
Изменение основных свойств (порядковый номер, иконка, активность) можно выполнять прямо в дереве
Структура главного меню.Дополнительные параметры редактируются на вкладке
Свойства.Jexl-скрипт операции задаётся на вкладке
Jexl-скрипт.
Примечание
Внутренняя логика работы с пунктами меню пользовательских приложений полностью повторяет пользовательские jexl-операций (см. раздел «Пользовательские jexl-операции»).
В качестве мастер выборки всегда используется:
Btk_SelOperOverride.sMasterSel = 'Btk_DynamicMainMenuAvi'.Мастер отображение совпадает с мнемокодом динамического приложения :
Btk_SelOperOverride.sMasterRep = '<Имя динамического приложения>'.Все операции так же имеют префикс
jexl_.
Управление иерархией#
Для задания вложенности пунктов меню используется атрибут headOperation — мнемокод родительской операции. Изменить его можно во вкладке Структура главного меню > Свойства: при клике на кнопку выбора откроется список доступных операций.