Попробуйте инновационную платформу для разработки и запуска бизнес-приложений Comindware Business Application Platform

Запросить демонстрацию

Правила для формы

Содержание статьи:

 

Правила для формы предназначены для выполнения трех основных сценариев работы пользователя с платформой:

  • Автоматическое условное и безусловное заполнение данными на форме (значения по умолчанию, зависимости полей и т.д.).
  • Динамическое изменение внешнего вида формы (изменение доступности и видимости полей и блоков формы).
  • Логический контроль введенных значений в поля формы. 

 

Добавление правил

Для добавления правил для формы необходимо: 

1. Находясь в разделе конструктора форм, перейти в раздел «Правила для формы». 

Переход к разделу «Правила для формы» с конструктора форм 

Открывается редактор правил для формы. 

Внешний вид редактора правил формы 

Редактор правил имеет три области: 

  • Панель элементов – содержит элементы, доступные для добавления на рабочую область – Правило и Действие:
    • Правило – определяет базовое условие, которое должно выполниться, чтобы запустить выполнение действий.
    • Действие – определяют характер действий, которые необходимо выполнить при выполнении условий, заданных в правиле.
  • Рабочая область – перечень активных правил и действий формы.
  • Панель настроек – позволяет определить характеристики правил и действий формы.

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

3. Для сохранения произведенных настроек нажать на кнопку «Сохранить». 

Расположение кнопки «Сохранить» 

Настройка правил

Настройка правил для формы выполняется путем вынесения соответствующих элементов с панели элементов в рабочую область редактора правил, а также настройки характеристик вынесенных в рабочую область элементов.

Платформа поддерживает два типа элемента, с помощью которых описываются правила формы:

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

Действие всегда включается в состав какого-то правила.

Рассмотрим каждый элемент более подробно.

 

Правило 

Внешний вид добавленного правила в рабочую область и его характеристик 

Правило является контейнером для включения в него действий.

Для описания правила, существуют следующие характеристики:

  • Название – указывается логическое название правила для простоты поиска разработчиком системы.
  • Условие применения – определяется условие с помощью языка выражений или запроса RDF N3), которое должно возвращать «true» или «false». Если выражение возвращает «false», то правило не запускает выполнение действий, добавленных внутри правила. Если выражение возвращает «true», то правило запускает выполнение действий внутри правила.

Платформа позволяет добавлять неограниченное количество правил и определять порядок их расположения друг за другом путем перемещения правил с помощью указателя мыши.

Запуск проверки условия применения правил выполняется после завершения внесения изменений в любое поле на форме или при открытии формы.

Для примера, пользователь открыл запись на редактирование в настроенной форме с описанными правилами. При открытии формы, платформа производит проверку условий применения всех правил и по очереди запускает все действия (запускаемые при открытии) внутри правил, выражения для условий применения которых вернули значение «true». Если пользователь выполнил изменение любого поля, платформа повторяет процедуру проверки применения правил и запуска действий.

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

Условие применения получает на вход контекст текущей записи, для которой открывается форма.

Если форма, для которой настроены правила используется в качестве вложенной формы в другую форму, то контекстом для выполнения условий применения правил вложенной формы будет запись, которая выводится в данной форме. Если вложенная форма относится к текущей записи, то контекстом будет являться текущая запись, если вложенная форма относится к ссылочному атрибуту, то контекстом для вложенной формы будет запись, указанная в атрибуте типа ссылка. 

 

Действие 

Внешний вид добавленного действия в существующее правило 

Действие определяет, изменение, которое необходимо произвести на форме (с полями формы или с данными формы) при наступлении условия применения действия, описанного в правиле, в которое добавленное действие вложено.

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

  • Поле – элемент формы (наименование и системное имя поля), над которым необходимо выполнить действие.
  • Тип действия – характер действия, которое необходимо выполнить для выбранного поля (элемента формы). Появляется после выбора элемента формы.
  • Условие применения – дополнительное условие применения действия, которое применяется дополнительно к условию применения, заданному в элементе «Правило», описанному в разделе «Правило» (стр. 89). Более подробно о характеристике будет рассказано в описании каждого типа действия ниже.
  • Описание дополнительных параметров в зависимости от выбранного типа действия будут в соответствующих разделах с описанием каждого типа действия ниже.

Существует 3 типа действий, которые применимы к различным элементам формы в зависимости от их типа:

  • Изменить тип доступа – позволяет определить доступность элемента формы для заполнения. 
  • Установить значение – позволяет для полей-атрибутов рассчитать и записать новое значение в поле.
  • Показать ошибку – позволяет вывести ошибку на интерфейс пользователя, привязанную к указанному элементу.

Ниже представлена таблица доступности типов действий для элементов формы различных типов. 

Тип элемента формыИзменить тип доступаУстановить значениеПоказать ошибку
Статические элементы  + - -
Атрибуты + + +
Операции + - -
Вложенные формы  + - -

Рассмотрим каждый тип действия более подробно. 

 

Изменить тип доступа

Действие предназначено для переопределения доступности и видимости элемента на форме редактирования на интерфейсе пользователя.

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

  • Обязательное – на пользовательском интерфейсе формы редактирования элемент должен быть обязательно заполнен на момент сохранения данных в форме.
  • Редактирование – на пользовательском интерфейсе формы редактирования элемент доступен для редактирования, запуска.
  • Только для чтения – на пользовательском интерфейсе формы редактирования элемент отображается, но не доступен для редактирования или запуска.
  • Скрытое – элемент скрыт с пользовательского интерфейса формы редактирования.

В следующей таблице представлены доступные вариации типов доступа в зависимости от типа элемента формы.

Тип элемента формыОбязательноеРедактированиеТолько для чтенияСкрытое
Статические элементы - + Имеет одинаковое назначение – элемент видим на форме  +
Атрибуты + + + +
Атрибуты вычисляемые  + Не имеет эффекта, так как атрибут доступен только для чтения  + + +
Операции - + Операция доступна для запуска + Операция не доступна для запуска +
Вложенные формы  - + Имеет одинаковое назначение – элемент видим на форме  +

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

Новое значение типа доступа в соответствии с настроенным действием присваивается элементу формы только до следующего изменения данных на форме. Со следующим изменением данных на форме редактирования пользователем типа доступа элемента формы возвращается в исходное состояние, заданного в конструкторе форм. Все заданные правила с действиями применяются заново. Если, в соответствии с новым изменением данных, условие применения больше не выполняется и, как следствие, действие внутри правила не выполняется, тип доступа восстанавливается в исходное состояние, которое определено настройками формы.

Условие применения для типа действия «Изменить тип доступа» действует в дополнение к условию применения Правила, внутри которого находится действие. Действие выполняется, если условие применения возвращает значение «true».

Контекст условия применения зависит от того, к какому элементу формы применяется действие: 

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

В следующей таблице приведены некоторые бизнес-примеры по использованию действий с типом «Изменить тип доступа».

УсловиеПравилоПолеТип действияНовое значение
Сделать обязательным поле «Договор», если тип счета «Оплата поставки по договору»  Тип счета = «Оплата поставки по договору»  Договор Изменить тип доступа Обязательное
Скрыть поле «Количество вагонов», если тип отгрузки не равен «Ж/д транспорт»  Тип отгрузки != «Ж/д транспорт»  Количество вагонов  Изменить тип доступа  Скрытое 
Скрыть поле «Сумма договора», если пользователь не является Менеджером по договору  Текущий пользователь = указанный Менеджер по договору»  Сумма договора  Изменить тип доступа  Только для чтения 

 

Установить значение

Действие применимо только к элементам формы атрибутам и предназначено для изменения данных, отображаемых в полях формы редактирования.
Действие имеет единственный дополнительный параметр Новое значение , состоящий из двух полей: выбора типа значения и указания значения, которым необходимо обновить поле.

При настройке действия по установке значения доступны следующие варианты указания типов значений:

  • Значение – означает, что в поле указания значения необходимо ввести или выбрать фиксированное значение поля. Указание значения выполняется в соответствии с типом атрибута, привязанного к полю формы, для которого указывается поле:
  • Текст – отображается строка ввода текста.
  • Число – отображается строка ввода числа.
  • Длительность – отображается поле для ввода длительности.
  • Дата / Время – отображается поле для выбора даты и времени.
  • Логический – отображается как выпадающий список из двух значений.
  • Документ – недоступен для изменения значения.
  • Пользователь – отображается как выпадающий список с перечнем пользователей.
  • Ссылка – отображается как выпадающий список с перечнем элементов шаблона записи, на который указывает ссылка.
  • Коллекция – недоступна для изменения значения.
  • Выражение – в качестве указанного значения будет определено расчетное выражение поля, которое будет вычислено при запуске действия и результат его выполнения возвращен в качестве значения в поле. Поле указания значения в этом случае преобразуется в поле ввода выражения на языке выражений Comindware или RDF N3.

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

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

Измененное действием значение поля действует до момента изменения значения этого поля текущим (другим) действием или ручным изменением значения пользователем.
Условие применения для типа действия «Установить значение» действует в дополнение к условию применения Правила, внутри которого находится действие. Действие выполняется, если условие применения возвращает значение «true».

Контекст условия применения зависит от того, к какому элементу формы применяется действие:

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

В следующей таблице приведены некоторые бизнес-примеры по использованию действий с типом «Установить значение».

УсловиеПравилоПолеТип действияНовое значение
Указать флаг «Крупная сделка» включенным, если сумма по договору больше 1 000 000 рублей Сумма по договору > 1 000 000  Крупная сделка  Установить значение  Значение = Да 
Заполнить поле «Наименование контрагента» из выбранного в поле «Контрагент» (ссылка) конкретное значение Контрагент не пустое  Наименование контрагента  Установить значение  Выражение = $Контрагент -> наименован ие контрагента 

 

Показать ошибку

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

Действие имеет следующие дополнительные параметры

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

При настройке действия по установке значения сообщения доступны следующие варианты указания типов значений:

  • Значение – означает, что в поле указания сообщения необходимо ввести фиксированный текст, который необходимо выводить в предупреждение или сообщение об ошибке.
  • Выражение – в качестве указанного сообщения будет определено расчетное выражение поля, которое будет вычислено при запуске действия и результат его выполнения возвращен в качестве сообщения в предупреждении или ошибке. Поле указания сообщения в этом случае преобразуется в поле ввода выражения на языке выражений Comindware или RDF N3.

Действие выполняется только при попытке сохранения формы редактирования.

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

Контекст условия применения зависит от того, к какому элементу формы применяется действие:

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

В следующей таблице приведены некоторые бизнес-примеры по использованию действий с типом «Показать ошибку».

УсловиеПравилоПолеТип действияСообщение
Показать ошибку, если дата начала работы указана раньше даты начала проекта  Дата начала работы < Дата начала проекта  Дата начала работы  Показать ошибку  Значение = Дата начала работы не может быть раньше даты начала проекта 
Показать предупреждение если выбранный контрагент имеет кредиторскую задолженность  $Контрагент -> кредиторская задолженность <= 0 Контрагент  Показать предупреждение  Выражение = У выбранного $Контрагент имеется кредиторская задолженность 

На интерфейсе сообщение об ошибке выглядит следующим образом. 

Внешний вид сообщения об ошибке, настроенной на поле 

Удаление правил

Для удаления правил и действий форм, необходимо: 

1. Находясь в разделе Правила для формы необходимо выбрать правило или действие и перетащить его на панель элементов. При перетаскивании, у правила или действия в виде прямоугольника должен измениться цвет контура на красный. 

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

Расположение кнопки «Очистить» 

3.   Для сохранения произведенных настроек нажать на кнопку «Сохранить».

Вложения
У этой статьи нет вложений.
Обратная связь
Security Code
Статьи по теме
Переменные
Просмотрено 70 раз с Wed, Mar 11, 2020

Обновление
Просмотрено 78 раз с Thu, Mar 5, 2020

Описание механизма управления
Просмотрено 70 раз с Thu, Mar 5, 2020

Настройка федеративного канала аутентификации
Просмотрено 38 раз с Mon, Aug 17, 2020

Выражения
Просмотрено 72 раз с Fri, Mar 6, 2020

О панели инструментов
Просмотрено 68 раз с Wed, Mar 11, 2020

Задание вычисляемого атрибута
Просмотрено 77 раз с Tue, Mar 10, 2020

Структура описания онтологий
Просмотрено 44 раз с Mon, Aug 3, 2020

Активность платформы
Просмотрено 99 раз с Thu, Mar 5, 2020

Финальная настройка процесса «Обработка и согласование командировки»
Просмотрено 26 раз с Mon, Aug 3, 2020


Исследования осуществляются <br>ООО «Колловэар» при грантовой <br>поддержке Фонда «Сколково»
Comindware