Документация по разработке bpm’online
PDF
Документация по разработке
Разработка в bpm'online на примерах
Конфигурирование страницы
Бизнес-правила и их применение

Glossary Item Box

Общие сведения

Одним из инструментов настройки логики страниц в bpm'online являются бизнес-правила.

Бизнес-правила — это стандартный механизм системы, который позволяет настраивать поведение полей на странице путем конфигурирования колонок модели представления.

Бизнес-правила позволяют решать следующие типовые задачи:

  • скрыть или отобразить поле;
  • заблокировать или разблокировать поле;
  • сделать поле обязательным или необязательным для заполнения;
  • отфильтровать значения справочного поля в зависимости от значения в другом поле.

В bpm'online бизнес-правила могут добавляться двумя способами:

1. С помощью мастера разделов или мастера деталей.

  • Бизнес-правила, которые сгенерированы мастером, добавляются в свойство businessRules клиентского модуля.
  • Сгенерированные бизнес-правила имеют более высокий приоритет при выполнении.
  • При описании сгенерированного бизнес-правила не используются перечисления модуля бизнес-правил BusinessRuleModule.

Более подробно о настройке бизнес-правил с помощью мастера читайте в статье "Настройка бизнес-правил". Особенности ручной настройки сгенерированных бизнес-правил описаны в статье "Бизнес-правила. Свойство businessRules".

2. Конфигурированием свойства rules схемы клиентского модуля.

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

Пример объявления пользовательского модуля с использованием бизнес-правил:

define("CustomPageModule", ["BusinessRuleModule"], function(BusinessRuleModule) {
    return {
        // Реализация схемы модели представления.
    };
});

К СВЕДЕНИЮ

Вариант добавления бизнес-правил средствами разработки присутствует в системе для поддержания совместимости с предыдущими версиями.

Общие требования к объявлению бизнес-правил в клиентском модуле

  • Все правила описываются в свойстве rules модели представления страницы.
  • Правила применяются к колонкам модели представления, а не к элементам управления.
  • Бизнес-правила не поддерживаются в страницах реестра.
  • Правило имеет название.
  • Параметры правила задаются в его конфигурационном объекте.

Пример объявления правил:

// Список всех правил модели представления.
rules : {
    // Имя колонки, для которой добавляется правило.
    "FirstColumnName" : {
        // Список правил для колонки FirstColumnName.
        // Имя правила.
        FirstRuleName : {
            // Конфигурационный объект правила FirstRuleName.
            ruleType: <значение из перечисления BusinessRuleModule.enums.RuleType>
            // Остальные конфигурационные свойства правила.
        },
        SecondRuleName: {
            // Конфигурационный объект правила SecondRuleName.
            ruleType: <значение из перечисления BusinessRuleModule.enums.RuleType>
            // Остальные конфигурационные свойства правила.
        }
    },
    "SecondColumnName" : {
        // Список правил для колонки SecondColumnName.
        ...
    }
}

Типы бизнес-правил

Типы правил bpm’online определены в перечислении RuleType модуля BusinessRuleModue.

На текущий момент используется два типа правил — BINDPARAMETER и FILTRATION.

BINDPARAMETER

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

Табл. 1. — Конфигурирование правила BINDPARAMETER

Свойство Значение
ruleType

Тип правила. Определяется значением перечисления BusinessRuleModule.enums.RuleType.

В данном случае используется тип BINDPARAMETER.

property

Свойство элемента управления. Задается значением из перечисления BusinessRuleModule.enums.Property:

  • VISIBLE — видимость колонки;
  • ENABLED — доступность колонки;
  • REQUIRED — обязательность для заполнения;
  • READONLY — колонка только для чтения.
conditions

Массив условий применения правила.

Каждое условие представляет собой конфигурационный объект, свойства которого приведены в таблице 2.

logical

Логическая операция объединения условий из свойства conditions. Задается значением из перечисления Terrasoft.LogicalOperatorType.

Табл. 2. — Конфигурирование условия правила BINDPARAMETER

Свойство Значение
leftExpression

Выражение левой части условия. Представляет собой конфигурационный объект со свойствами:

  • type — тип выражения. Задается значением из перечисления BusinessRuleModule.enums.ValueType:
    • CONSTANT — константа;
    • ATTRIBUTE — значение колонки модели представления;
    • SYSSETTING — системная настройка;
    • SYSVALUE — системное значение. Элемент списка системных значений Terrasoft.core.enums.SystemValueType.
  • attribute — название колонки модели;
  • attributePath — мета-путь к колонке справочной схемы;
  • value — значение для сравнения.
comparisonType

Тип сравнения. Задается значением из перечисления Terrasoft.core.enums.ComparisonType.

rightExpression Выражение правой части условия. Аналогично leftExpression.

FILTRATION

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

Табл. 3. — Конфигурирование правила FILTRATION

Свойство Значение
ruleType

Тип правила. Задается значением из перечисления BusinessRuleModule.enums.RuleType.

В данном случае используется тип FILTRATION.

autocomplete Признак обратной фильтрации. Может принимать значения true или false.
autoClean Признак автоматической очистки значения при изменении колонки, по которой осуществляется фильтрация. Может принимать значения true или false.
baseAttributePatch

Мета-путь к колонке справочной схемы, по которой будет выполняться фильтрация.

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

comparisonType

Тип операции сравнения. Задается значением из перечисления Terrasoft.ComparisonType.

type

Тип значения, с которым будет сравниваться baseAttributePatch. Задается значением из перечисления BusinessRuleModule.enums.ValueType.

attribute

Имя колонки модели представления. Это свойство описывается в том случае, если указан тип значения (type) ATTRIBUTE.

attributePath

Мета-путь к колонке схемы объекта.

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

value

Значение для фильтрации. Это свойство описывается в том случае, если указан тип значения (type) ATTRIBUTE.

Смотрите также:

© Terrasoft 2002-2019.

Был ли данный материал полезен?

Как можно улучшить эту статью?