Выбор одного варианта из табличной части
Опубликовано: 01.09.2018
Рассмотрим пример: на первой задаче бизнес-процесса «Проведение тендера» ответственный сотрудник заполняет данные о поставщиках, участвующих в тендере. На следующей задаче руководитель должен указать победителя тендера. Необходимо учесть, что победителем может быть только один участник.
Для реализации такой настройки необходимо на закладке «Реквизиты» модели бизнес-процесса добавить табличную часть «Участники тендера», содержащую реквизиты Поставщик, Стоимость контракта (руб.), Срок поставки (мес.) , Победитель .
Данные об участниках тендера ( Поставщик, Стоимость контракта (руб.), Срок поставки (мес.) ) заполняет ответственный сотрудник на первой задаче. На второй задаче «Определение победителя тендера» руководитель должен отметить победителя тендера, установив признак в поле Победитель в строке с выбранным Поставщиком .
SAP2000 - 07 Interactive Database Editing: Watch & Learn
По условиям рассматриваемого примера победителем может быть выбран только один участник тендера. Для того чтобы учесть данное условие, необходимо подсчитать количество установленных признаков. Для этого на точке бизнес-процесса «Определение победителя тендера» на закладке «Реквизиты» следует добавить реквизит шапки Количество победителей, который будет рассчитываться с помощью выражения.
Используемое выражение имеет следующий вид:
[0] + [Участники тендера.Победитель] [1]
Таким образом, каждый установленный признак будет увеличивать значение выражения на «1», следовательно, значение данного выражения будет определять, какое количество строк отмечено в колонке Победитель .
Далее необходимо настроить «Условия выполнения» на соответствующей закладке точки бизнес-процесса. Для этого с помощью выражения необходимо задать Условие выполнения задачи и указать Сообщение об ошибке при невыполнении условия, которое получит пользователь.
Условием выполнения в данном примере будет выступать выражение следующего вида:
[Шапка.Количество победителей] = [1] [2]
Данное условие означает, что в табличной части должен быть установлен признак Победитель только в одной строке.
Таким образом, руководитель сможет выполнить задачу лишь в том случае, если отметит в колонке Победитель только одну строку. Если победитель будет не указан, или выбрано больше одного поставщика, то руководитель получит сообщение «Необходимо указать одного победителя тендера».
[1] Выражение [Участники тендера.Победитель] является суммой булевых реквизитов и возвращает тип данных «Булево». Для того чтобы преобразовать данное выражение в число, необходимо сложить его с числом «0», причем число «0» должно быть первым слагаемым, т.к. тип данных всей суммы определяется типом данных первого слагаемого.