Перейти к основному содержанию
`Ctrl`+`K`

# Динамическое меню

Система позволяет без участия разработчика осуществлять настройки общей иерархии меню и общего перечня вызовов меню (транзакций). Настройка осуществляется из приложения «Настройка системы», меню Настройки и сервисы\Настройки динамического меню. Указанный пункт меню содержит два подпунта: Справочник вызовов и Настройка иерархии меню.

## Справочник вызовов

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

Рисунок 3 Карточка вызова меню

Справочник содержит следующие поля:

Таблица 5 Справочник вызовов

Наименование | Описание | Способ ввода
--- | --- | ---
Кодовое имя | Кодовое имя вызова. Позволяет осуществлять поиск и запуск вызова по коду. Обязательное | Текст. Ручной ввод
Наименование | Наименование вызова. Обязательное | Текст. Ручной ввод
Модуль | Модуль, к которому относится вызов. При переносе конфигурации вызовы, модуль которых отсутствует на целевой базе, не будут устанавливаться | Выбор из списка модулей
Тип вызова | Определяет вариант обработки вызова. Может принимать следующие значения: - Открытие списка объектов; - Создание объекта; - Jexl-скрипт | Выбор из выпадающего списка типов вызова
Имя выборки и отображения | Обязательное в случае, если Тип вызова = Открытие списка объектов. Выполнение вызова в этом случае открывает указанную выборку и отображение. Поле отображается в характеристиках при выборе соответствующего типа вызова. В остальных случаях не заполняется. | Текст. Ручной ввод
Имя класса | Обязательное в случае, если Тип вызова = Создание объекта. Выполнение вызова в этом случае создает объект указанного класса и открывает карточку созданного объекта. Поле отображается в характеристиках при выборе соответствующего типа вызова. В остальных случаях не заполняется. | Текст. Ручной ввод
Jexl-скрипт | Обязательное в случае, если Тип вызова = Jexl-скрипт. Выполнение вызова в этом случае выполняет заданный скрипт. Поле отображается в характеристиках при выборе соответствующего типа вызова. В остальных случаях не заполняется. | Текст. Ручной ввод

На панели инструментов в карточке вызова содержится операция «Сменить тип вызова на Jexl-скрипт». Операция изменяет типа вызова на Jexl-скрипт и формирует текст скрипта в зависимости от предыдущих настроек: для типа «Открытие списка объектов» формируется скрипт для открытия указанной выборки и отображения, для типа «Создание объекта» формируется скрипт по созданию объекта указанного класса. Операция используется в том случае, если просто открыть указанную выборку или создать объект указанного класса недостаточно. Сформированный текст скрипта можно доработать для расширения исполняемый операций вызова.

## Настройка иерархии меню

Рисунок 4 Настройка иерархии меню

Настройка иерархии меню содержит следующие поля:

Таблица 6 Настройка иерархии меню

Наименование | Описание | Способ ввода
--- | --- | ---
Системное имя | Системное имя пункта иерархии. Используется для переноса конфигурации меню между базами. | Текст. Заполняется автоматически при создании
Наименование | Наименование пункта иерархии. | Текст. Ручной ввод
Модуль | Модуль, к которому относится пункт иерархии. | Выбор из списка модулей
Порядковый номер | Порядковый номер пункта иерархии меню. Определяет порядок отображения пунктов иерархии. | Число. Ручной ввод.
Код вызова | Код вызова меню из справочника вызовов | Не редактируется. Отображается для пунктов иерархии, соответствующих вызовам

На закладке «Настройка прав доступа» отображаются роли, наличие которых у пользователя будет давать доступ к выбранному пункту меню. Для предоставления доступа к пункту меню на закладке имеется возможность добавить новую запись и указать роль. При этом роль будет автоматически добавлена для всех вышестоящих пунктов иерархии и для всех потомков выбранного пункта меню.

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