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