Данный кейс поддерживается телеграм ботом LiveDemo - уникальный айди этого кейса: 137789737.
Важно - Для тестирования сценариев, содержащих BPL-операции, необходимо использовать веб-виджет или интеграцию с каким-либо мессенджером, так как данные операции не работают в тестовом чате внутри редактора.
Как создать тестовый виджет можно узнать в статье: Создание тестового виджета
В данной статье мы разберем, каким образом можно определить возраст клиента, используя BPL-операции.
Фрагмент сценария
Настройки блоков и стрелок
1) В начале сценария необходимо установить блок результата с типом действия Без действия, и присвоить в нем новой переменной (в данном примере эта переменная названа currDate) значение системной переменной {компания.сегодня} для дальнейшего использования данной переменной в BPL-операциях.
Для определения текущей даты используется системная переменная {компания.сегодня}, для расчета исходя из часового пояса, указанного в настройках компании.
Для расчета по часовому поясу UTC+0 возможно использовать системную переменную {системные.сегодня}.
2) Далее с помощью блока вопроса необходимо спросить дату рождения у пользователя. Параметры блока вопроса изменять не обязательно.
3) Далее необходимо установить блок арифметики. В стрелке, идущей от блока вопроса, необходимо поставить галочку Сохранить ответ, и ввести в поле Название переменной имя новой переменной - в данном случае birthDate. Также необходимо выбрать Тип выходных данных - Дата, и Значение должно быть - Без разницы.
4) В блоке арифметики необходимо выбрать тип Произвольный тип, и в поле BPL-выражение внести следующий фрагмент кода:
$age = dt.sub($currDate, $birthDate); $age = $age \ 31553280
В данном фрагменте создается новая переменная {age}, куда в первой строке записывается разница между текущей датой и датой рождения в секундах. Во второй строке полученное значение делится на количество секунд в одном году, с учетом того, что каждый четвертый год - високосный.
Далее вы можете использовать полученную переменную {age} для вывода, сохранения возраста пользователя в отчет, или других необходимых задач.