Данный тип робота позволяет настроить автоматическое заполнение одних полей, если на форме задачи пользователь изменил другие поля.
Например, на форме задачи есть поля «Стоимость», «Количество» и «Общая цена».
Можно настроить робота автокалькуляции, который автоматически по формуле «Стоимость x Количество» пересчитает данные в поле «Общая цена», если пользователь изменил значения в полях «Стоимость» или «Количество».
Настройка робота
Для настройки робота автокалькуляции вам необходимо выполнить следующие действия:
1. Откройте бизнес-процесс
2. Перейдите на вкладку Роботы
3. Нажмите на кнопку Добавить робота
4. Выберите тип робота Пересчет и заполнение данных в полях
5. В открывшейся вкладке вам будет необходимо задать имя робота и настроить условия в трех секциях
Если произошло событие |
В данном блоке добавляются условия-триггеры. Вам необходимо отметить те поля, при изменении которых произойдет автоматическое заполнение полей указанных в блоке Тогда |
А также выполнились следующие дополнительные условия |
Блок А также является дополнительным блоком условий. Вы можете задать здесь условие для тех полей, которые пользователем не менялись, но по логике влияют на то, нужно ли роботу делать обновление |
Тогда выполнить следующие действия |
В блоке Тогда настраивается непосредственно выполняемое действие. То есть какие поля и какими значениями должны быть обновлены |
6. Настройте блок Если
В этой секции вам необходимо отметить те поля, при изменении которых произойдет автоматическое заполнение полей. Для каждого такого поля вам необходимо добавить Условие
Для настройки условия выберите Поле, в котором должно быть изменено значение, и Оператор, который определяет, как именно изменилось поле.
Вы можете задать одновременно сразу несколько условий и указать: необходимо, чтобы все условия были выполнены одновременно или достаточно выполнения любого из заданных условий. Для этого переключайтесь между закладками При выполнении всех условий и При выполнении любого из условий.
7. Укажите дополнительные условия в блоке А также
В этом блоке вы можете задать условия для тех полей, которые пользователем не менялись, но данные в них влияют на то, нужно ли роботу делать обновление.
Например, на форме есть поля «Стоимость«, «Количество«, «Общая цена» и галочка «Постоянный клиент«.
В условиях Если, вы настраиваете, что при изменении любого из полей «Стоимость» или «Количество«, по формуле должно рассчитаться поле «Общая цена«.
В этом случае, в блоке А также вы можете указать дополнительное условие, чтобы робот обновил поле «Общая цена«, только если галочка «Постоянный клиент» включена. Для этого в секции необходимо добавить условие «Постоянный клиент«->»Да«
Задание таких дополнительных условий может понадобиться в том случае, если для заполнения поля «Общая цена» вы добавляете сразу 2 робота. В зависимости от того, обслуживается постоянный клиент или нет, роботы общую стоимость будут считать по-разному.
8. В блоке Тогда, настройте, какие поля будут обновлены в результате работы Робота
Вы можете указать, чтобы робот подставил конкретное значение, например «Общая цена«->»Заполнить текстом«->»2000«.
Тогда при выполнении робота в поле будет автоматически введено значение 2000. Ранее введенное значение, если оно было, будет перетерто.
Для полей с типами Деньги и Число вы также можете использовать оператор Рассчитать по формуле. С его помощью можно будет заполнить поле не статичным значением, а взять его из других полей задачи, пересчитать.
Для этого, в списке Обновить поле необходимо выбрать поле с типом Деньги или Число, выставить оператор Рассчитать по формуле и в поле с формулой вставить коды полей с панели справа.
Между кодами необходимо использовать следующие символы для простых арифметических действий.
- «—» для вычитания
- «+» для сложения
- «*» для умножения
- «/» для деления
Для приведенного примера, формула для поля «Общая цена» будет выглядеть так:
{{код_поля_стоимость}}*{{код_поля_количество}}
В формуле вы можете также использовать и отдельные цифры, скобки. Например, если сумма должна считаться с НДС 21%, то формула будет выглядеть так:
{{код_поля_стоимость}}*{{код_поля_количество}}*1.21
9. Когда вы заполните все блоки с условиями, то сохраните настройки Робота и сам бизнес-процесс.
Возможность прибавлять время к дате через робота
При работе с датами иногда нужно заполнить дату в каком-нибудь поле, например, как «сегодня + 10 дней» или же «Дата регистрация договора + 3 дня».
Для этого вы можете использовать коды полей во вкладке Формулы/даты времени.
Для этого:
1. В настройках робота выберите поле с типом Дата или Дата и время
2. Выберите оператор Рассчитать по формуле
3. В меню справа откройте вкладку Формулы даты / времени. Скопируйте нужный код, вставьте его в значение поля
4. Вместо надписи ({{код поля}} нужно подставить код любого поля с типом Время. Например Текущую дату и время. Для этого откройте вкладку с кодами Текущие дата и время и выберите Дата и время. Подставьте код в результат
5. Вместо фразы Количество лет/дней/часов/минут укажите временной интервал, который нужно прибавить.
Допустим, вы прибавляете дни. Если вы укажете цифру 3, формула посчитает +3 дня. Общая формула будет выглядеть так:
plusWorkDays({{current_datetime}}, 3).
6. Сохраняем робота.
Готово! В момент выполнения условий Если робот занесет в поле «Дата следующего техобслуживания» нужное значение.
Автоматический расчет разницы между датами
1. Мы для примера создадим 2 поля с типом Дата: Дата начала отпуска и Дата окончания отпуска. После, добавим поле с типом Число, в котором будет происходить авторасчет разницы.
Чтобы их добавить, мы перейдем в настройки бизнес-процесса, Поля и форма.
2. Из меню справа перетянем 2 поля с типом дата и время. Назовем их «Дата начала отпуска» и «Дата окончания отпуска»
3. Добавим поле с типом Число. Назовем его «Количество дней»
4. Откроем вкладку Роботы.
Добавим нового робота Пересчет и заполнение данных в полях
5. Назовем робота «Расчет разницы между датами»
6. В условии Если выберем При выполнении любого из условий. Добавим сюда «Дату начала отпуска» и «Дату окончания отпуска»
7. В условии Тогда выберем поле «Количество дней». Выбираем оператор Рассчитать по формуле
8. Здесь нам нужно использовать одну из двух формул расчета времени:
— Разница в днях – dayDiff({{код даты 1}}, {{код даты 2}})
— Разница в часах – hourDiff({{код даты 1}}, {{код даты 2}})
Допустим, мы хотим посчитать разницу в днях. Для этого мы вставляем разницу в днях в окно расчетов:
dayDiff({{код даты 1}}, {{код даты 2}})
9. В окне справа ищем дату от которой будет отниматься вторая. У нас это «Дата окончания»
Копируем и вставляем в формулу. То же самое делаем с кодом «Даты окончания отпуска».
В нашем случае формула будет выглядеть так:
dayDiff({{5a0ae53c956ece0d24a1987a}}, {{5a0ae53c956ece0d24a1987b}})
Сохраняем. Готово!
Теперь при указании 2 дат, мы увидим сколько между ними разницы в днях.
Видео
Мы также записали для вас небольшое видео, которое визуально расскажет про настройки робота автокалькуляции.