Сценарии (Меню)

Сценарий (Меню) - список предлагаемых для выполнения действий (пунктов меню).

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

Текущее действие - пункт меню, на котором находится курсор.

В проекте сценарии используются для разных целей. В зависимости от места описания сценария различаются следующие варианты его применения.

  • Сценарий описан в разделе ‘Сценарии (Меню)’ верхнего уровня любой библиотеки. Этот сценарий будет применён для организации главного меню работы пользователя с программой. Пример такого использования сценария приведён ниже в главе ‘Роли’.
  • Сценарий описан в разделе объекта в разделе ‘Сценарии’. Обычно, в этом месте создаются такие сценарии, которые предполагается использовать в качестве родителей при создании других сценариев.
  • Сценарий описан под типом объекта в атрибуте ‘Сценарий’. Этот сценарий будет использован при формировании контекстного(локального) меню, вызываемого при нажатии правой кнопки мыши. Примеры находятся в главах, посвящённых объектам Домино.
  • Сценарий описан под видом просмотра или формой в атрибуте ‘Сценарий’. Этот сценарий будет применён при создании панели инструментов вида просмотра или формы. Сценарии, являющиеся родителями для панелей инструментов, также могут быть описаны в разделах ‘Сценарии (Меню)’ и ‘Сценарии’. Примеры панелей инструментов приведены в главах ‘Виды просмотра’ и ‘Формы’.

Независимо от назначения и расположения в проекте все сценарии имеют одинаковое описание.

Проектный элемент, описывающий сценарий, обозначается иконкой image-1648022276137.png.

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

image-1648022296111.png

  • Группа – для создания папки, в которой могут быть сгруппированы несколько сценариев, объединённых по какому-либо признаку. Для группы указывается только наименование.
  • Сценарий (Меню) – для создания нового сценария или сценария на базе существующего.
  • Подстановка Сценария (Меню) – для переопределения свойств уже существующего сценария.

В форме сценария заполняются наименование (поле Имя) и родитель (поле Сценарий).

image-1648022330664.png

Для сценария можно указать следующие атрибуты:

image-1648022837344.png

  • Копирование – условие копирования сценария проектировщиками. Может ли проектировщик создать копию данного сценария.
  • Использование – условие доступа проектировщиков к сценарию. Может ли проектировщик использовать данный сценарий в качестве родителя для своего сценария.
  • Использование (в режиме выполнения) – условие доступа пользователей к сценарию. Видны ли пользователю пункты сценария.
  • Иконка – для отображения данного сценария в списке и на панели инструментов.
  • Размещение окна – для определения места расположения окна на экране.
  • Приоритет при расчёте, выводе – при включении сценария в группу, сценарии с данным признаком будут находиться в дереве выше прочих.
  • Разворачивать сценарий по месту вставки - признак замены пункта вызова вложенного сценария на его содержимое
  • <Наследуемые пункты> – для использования содержания сценария родителя.
  • Сценарий (меню) – для описания вложенного сценария.
  • Команда – для подключения в сценарий команды.
  • Процедура – для подключения в сценарий процедуры.
  • Отчёт – для подключения в сценарий отчёта.
  • Вид просмотра – для подключения в сценарий вида просмотра.
  • Подсказка (ToolTip) – подсказка, высвечиваемая при наведении курсора на кнопку панели инструментов.

Ни один из  атрибутов не является обязательным. Такие атрибуты как: ‘Копирование’, ‘Использование’, ‘Использование (в режиме выполнения)’, ‘Иконка’, ‘Размещение окна’, ‘Приоритет при расчёте, выводе’, ‘Наследуемые пункты’, ‘Подсказка (ToolTip)’ – в конкретном Сценарии (Меню) могут быть использованы всего один раз. Количество вложенных Сценариев, Команд, Видов просмотра, Отчётов и Процедур неограниченно.

Копирование, Использование, Использование (в режиме выполнения)

Также применимо для атрибутов ‘Создание’, ‘Наследование’, ‘Активность (в режиме выполнения)’.

Эти атрибуты применяются для ограничения прав на выполнение соответствующих действий.

При заполнении атрибута необходимо заполнить класс ограничения.

image-1648022848716.png

Да – безусловное Да. Сценарий доступен без дополнительных условий.

 Нет –безусловное Нет. Сценарий не доступен без дополнительных условий.

 Да, если все условия соблюдены –  При выполнении всех из них сценарий станет доступен для выполнения соответствующего действия. Если условия не будут заданы, то этот класс ограничения будет обозначать безусловное Да, то есть сценарий доступен без ограничения.

 Да, если какое-либо условие соблюдено – При выполнении хотя бы одного из них сценарий станет доступен для выполнения соответствующего действия. Если условия не будут заданы, то этот класс ограничения будет обозначать безусловное Да.

 Нет, если все условия соблюдены – При выполнении всех из них сценарий станет не доступен для выполнения соответствующего действия. Если условия не будут заданы, то этот класс ограничения будет обозначать безусловное Нет, то есть сценарий не доступен.

 Нет, если какое-либо условие соблюдено – При выполнении хотя бы одного из них сценарий станет не доступен для выполнения соответствующего действия. Если условия не будут заданы, то этот класс ограничения будет обозначать безусловное Нет, то есть сценарий не доступен.

 Только для системного архитектора – действие доступно только для системного архитектора.

 Да, для разработчика базовых примитивов – действие доступно только для разработчика базовых примитивов.

 Да, для разработчика отраслевых решений – действие доступно только для разработчика отраслевых решений.

Системный архитектор’, ‘Разработчик базовых решений’ и ‘Разработчик отраслевых решений’ – это названия ролей для проектировщиков. Автор, которому назначены данные роли, обладает дополнительными правами при работе с проектом. Например, роль ‘Разработчик базовых решений’ открывает доступ к проектным базовым библиотекам.

Условия ограничений описываются на следующем уровне поддерева. На экран будет выведен список условий:

image-1648023161541.png

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

Рассмотрим несколько примеров использования условий.

Если истинно выражение – условие соблюдается, если указанное выражение возвращает истинное значение.

image-1648023295843.png

Ограничение указано для пункта сценария ‘Р/Счет’. Пункт должен быть недоступен, если выражение ‘Учёт по юридическим лицам’ возвращает истинное значение.

 Определена роль – условие соблюдается, если пользователю назначена указанная роль.

image-1648023365569.png

Сценарий будет доступен только тем пользователям, которым назначена роль ‘Бухгалтер-кассир’

НЕ определена роль – условие соблюдается, если пользователю НЕ назначена указанная роль.

image-1648023393536.png

В данном примере описано следующее ограничение: действие будет доступно для тех пользователей, которым либо назначена  роль ‘Бухгалтер’, либо назначена роль ‘Главный Бухгалтер’, либо НЕ назначена роль ‘Запрет деакцепта документов’.

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

image-1648023417485.png

Проектный элемент будет доступен, если он расположен в разделе ‘Приложение’.

НЕ расположен в разделе – условие обратное предыдущему.

Определён объект – условие соблюдается, если проектный элемент находится в таком разделе дерева проекта, который соответствует указанному объекту.

image-1648023442401.png

Проектный элемент будет доступен, если он расположен в разделе ‘Каталог’

НЕ определён объект – условие обратное предыдущему.

Иконка

Этот атрибут используется для выбора иконки, которой будет обозначаться данный сценарий. Иконка выбирается из списка зарегистрированных в программе иконок.

image-1648023528942.png

Если не задать иконку, то сценарию будет присвоена стандартная иконка сценария image-1648023557640.png.

Размещение окна

Данный атрибут применяется для указания месторасположения окна сценария на экране. Значение элемента выбирается из следующего списка:

image-1648023580520.png

Приоритет при расчёте, выводе

Данный атрибут применяется для изменения последовательности пунктов сценария.

Чем большее значение имеет данный атрибут, тем выше пункт будет расположен в сценарии.

Пункты сценария, для которых данный атрибут не указан, будут расположены в последовательности их следования в проекте.

image-1648023654872.png

Сценарию ‘Управление пользователями’ задан такой высокий приоритет для того, чтобы при объединении сценариев данный сценарий всегда располагался на самом верху списка.

<Наследуемые пункты>

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

Содержимое сценария родителя вставляется вместо данного атрибута. Так, если атрибут будет указан первым пунктом, то пункты из сценария родителя будут расположены в верху получаемого сценария. Если данный атрибут будет указан в конце списка пунктов, то  и пункты из сценария родителя также будут расположены в конце. Атрибут можно указать и между пунктами. В этом случае добавляемые пункты ‘раздвинут’ начальный список пунктов. 

Рассмотрим пример описания панели инструментов.

image-1648023723960.png

‘Стандартный сценарий для товарных документов’  содержит атрибут ‘<Наследуемые пункты>’. Сценарий имеет родителя ‘Стандартные действия над объектом’.

image-1648023759363.png

Для данного сценария описаны три пункта. Они будут добавлены в начальный сценарий вместо обсуждаемого атрибута. В итоге будет высвечен следующий сценарий (панель инструментов):

image-1648023778634.png

Сценарий (меню)

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

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

Например, в контекстном меню указан вложенный сценарий, содержащий вызовы двух отчётов:

image-1648023824863.png

Вот так выглядит вызов контекстного меню:

image-1648023843206.png

Можно раскрыть вложенный сценарий:

image-1648023863112.png

Для разделения пунктов сценария главного меню применяют следующий приём – вставляют ‘пустой’ сценарий. Имя ‘пустого’ сценария набирают из знаков минус (-) или равно (=). Далее заменяют стандартную иконку сценария.

image-1648023898743.png

Вот так это будет выглядеть на экране:

image-1648023915096.png

Команда

Данный атрибут используется для подключения в сценарий команды.

Команда – это проектный элемент, используемый для передачи программе требования выполнить соответствующее действие. Кроме того, команды используются при взаимодействии различных компонент программы.

Если сценарий (меню) используется при описании панели инструментов, то можно применять команду-разделитель. Вместо этой команды будет отображена разделительная черта.

image-1648023994124.png

В описании сценария дважды применена команда-разделитель. Между кнопками на панели управления вставляется разделительная черта.

image-1648024021476.png

Полный список команд находится в библиотеке ‘Системная область’, раздел ‘Интерфейс’, раздел ‘Команды’. Назначение команды понятно из её наименования.

Процедура

Данный атрибут используется для подключения в сценарий вызова процедуры.

Процедура – это проектный элемент, описывающий некие действия. Вызов процедуры – это указание программе, что требуется выполнить действия, заданные для этой процедуры. 

Если не указана иная иконка, то пункт меню с вызовом процедуры имеет стандартную иконку процедурыimage-1648024144300.png.

Отчёт

Данный атрибут используется для подключения в сценарий вызова отчёта.

Отчётами называют процедуры, предназначенные для отбора, сортировки, группировки данных и выдачи их на экран, принтер, в файл.

Если не указана иная иконка, то пункт меню с вызовом отчёта имеет стандартную иконку отчётаimage-1648024188330.png.

Вид просмотра

Данный атрибут используется для подключения в сценарий вызова вида просмотра.

Вид просмотра – это проектный элемент, предназначенный для отображения списков данных.

Если не указана иная иконка, то пункт меню с вызовом вида просмотра имеет стандартную иконку вида просмотра image-1648024243967.png.

В панели инструментов формы при вызове команды, вида просмотра, отчёта или процедуры для пункта сценария можно указать атрибут ‘Сохранить изменения перед вызовом’. Наличие этого атрибута означает, что перед выполнением указанных действий вся введённая в форму информация будет записана в БД.

Подсказка (ToolTip)

Данный атрибут применяется при описании панели инструментов. Указанный текст высвечивается в виде подсказки под кнопкой.

Например, укажем подсказку под кнопкой ‘Расч.счета’ в виде просмотра партнёров.

image-1648024303412.png

Теперь, если работе с данным видом просмотра навести курсор на кнопку, то появится заданная подсказка:

image-1648024326216.png

В случае если текст подсказки не указан, то в качестве подсказки будет отображено наименование кнопки.

Создание группы сценариев, объединённых в одной папке

Группа сценариев создаётся для объединения в одной папке (под одним названием) нескольких сценариев. Это делается для того, чтобы было легче ориентироваться в многообразии элементов одного вида в дереве проекта.

image-1648024463953.png

Группа сценариев может содержать неограниченное число Сценариев, Групп сценариев и Подстановок сценариев.

Подстановка сценария

Подстановка применяется для изменения атрибутов сценария.

Например. В библиотеке ‘Товародвижение’ имеется сценарий ‘Оператор’.

image-1648024506040.png

Если необходимо в сценарии ‘Оператор’ удалить элемент ‘Приём кассовых отчётов’, то это можно сделать в подстановке этого сценария.

image-1648024537766.png

Обратите внимание на последствия сделанного изменения - пункт менюПриём кассовых отчётов’ исчезнет во всех сценариях, являющихся наследниками сценария ‘Оператор’ и имеющих в описании атрибут  ‘Наследуемые пункты’.