Система может автоматически вычислять значения полей на карточке приложения или задачи в бизнес-процессе. Например, посчитать и подставить в нужное поле сумму со скидкой или с НДС. Кроме того, система может отображать или скрывать от пользователя некоторые поля в зависимости от заданных условий.
Эти опции становятся доступны при настройке формы в расширенном режиме. На вкладке Контекст выберите свойство и нажмите на него. В открывшемся окне поставьте флажки напротив опций Заполняется по формуле и/или Отображается при выполнении условия.
Рассмотрим на примерах как работают эти настройки.
Заполнение по формуле
начало внимание
Данная опция доступна только для полей типа Строка, Число, Деньги.
конец внимание
Если включена опция Заполняется по формуле, ниже появится поле Формула*. В нём вы можете складывать, вычитать, умножать и делить значения, используя операторы +, -, *, /. Чтобы задать приоритет математических операций, используйте круглые скобки ().
В формулу можно добавить переменную такого же типа, который задан для свойства, заполняемого по формуле. Для этого нажмите значок {+} и в открывшемся списке выберите переменную.
Так, в формулу для свойства типа Строка добавьте переменные типа Строка. Для свойства типа Число можно задать формулу, используя переменные типа Число. Если добавить в формулу переменную другого типа, возникнет ошибка валидации.
Исключением является тип Деньги. Если вы создаёте формулу для свойства этого типа, можете использовать комбинацию Деньги*Число, то есть значение поля типа Деньги можно умножить на значение поля типа Число.
Рассмотрим пример.
Предположим, компания продаёт и доставляет товары. При оформлении заказа менеджер вносит в систему подробную информацию: имя клиента, приобретаемые позиции, дату доставки и т.д. Среди прочего он может указать размер скидки. Понятно, что это значение может изменяться в каждом конкретном случае, поэтому для рассчёта итоговой суммы к оплате удобно использовать формулу.
Чтобы выполнить такую настройку, откройте окно редактирования формы заказа. На вкладке Контекст создайте свойство Сумма заказа со скидкой. В поле тип выберите Деньги, т.к. вычисляется общая сумма к оплате.
Поставьте флажок напротив опции Заполнять по формуле. Появится поле Формула. Нажмите значок {+} в конце строки и в открывшемся списке выберите переменную Итого типа Деньги (ссылка на последнюю колонку таблицы, в которой считается итоговая стоимость без скидки) и переменную Скидка типа Число (ссылка на поле, в котором менеджер указывает размер скидки при оформлении заказа).
В итоге формула для расчёта суммы со скидкой выглядит так:
Сохраните настройки. Теперь, заполняя таблицу, сотрудник укажет товар, нужное количество позиций и размер скидки, а итоговая стоимость рассчитается автоматически.
Отображение при выполнении условия
Не всегда все поля на карточке приложения или задачи нужно показывать сразу. Предположим, что компания наряду с доставкой предлагает опцию самовывоза приобретенных товаров. Когда менеджер по продажам оформляет заказ, он указывает, каким именно способом клиент хочет получить покупку. Если это доставка курьером, то на карточке заказа появится новое поле для адреса.
Чтобы выполнить такую настройку, откройте окно редактирования формы заказа. На вкладке Контекст создайте свойство Адрес доставки. Поставьте флажок напротив опции Отображается при выполнении условия, а затем нажмите на появившуюся ссылку Настроить условия.
Откроется окно, где вы можете задать условия, при которых система будет показывать поле на карточке приложения. Если условия не выполнятся, поле будет скрыто.
- Операнд 1, 2 — в этом поле вы указываете свойство из контекста приложения или определенное значение.
- Операция — здесь задается оператор сравнения для проверки конкретного условия.
Если вы хотите задать несколько условий, то вам необходимо указать связку — логическую операцию, которая используется для их проверки. Если результат проверки Истина, то поле будет показано.
Связки:
- И — результат Истина, если выполняются оба условия;
- ИЛИ — результат Истина, если выполняется хотя бы одно условие;
- И НЕ — результат Истина, если хотя бы одно условие не выполнено;
- ИЛИ НЕ — результат Истина, если оба условия не выполнены.
Обратите внимание, что условия проверяются в том порядке, в котором они перечислены.