Документация по разработке bpm’online
Разработка в bpm'online на примерах

Бизнес-правила и их применение

Glossary Item Box

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

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

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

Функциональность бищнес-правил реализована в клиентском модуле 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-2017.

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

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