Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Подсказка
titleTwin LiveDemo

Данный кейс поддерживается телеграм ботом LiveDemo - уникальный айди этого кейса: 128712713. 

Подробнее про LiveDemo

Примечание

Важно - Для тестирования сценариев, содержащих BPL-операции, необходимо использовать веб-виджет или интеграцию с каким-либо мессенджером, так как данные операции не работают в тестовом чате внутри редактора.

Как создать тестовый виджет можно узнать в статье: Создание тестового виджета

...

В процессе работы голосового робота возможно столкнуться с неправильным определением даты рождения, в случае если клиент называет ее не полностью и его дата рождения ранее 1950 года. Например, "21 мая 47 года" бот определяет как 2047-05-21.

Фрагмент сценария для корректного определения

![[Pasted image 20221018154622.png]]Image Added

Параметры стрелок и блоков

1) В стрелке, выходящей из блока вопроса о дате рождения, необходимо сохранить ответ в переменную, в данном случае bday, установить тип выходных данных Дата, и в параметре Значение должно быть выбрать Без разницы.

![[Pasted image 20221018155310.png]]Image Added

2) Далее нужно вставить блок условия с двумя выходящими стрелками. Первая ветка выбирается в случае если дата, названная клиентом, позднее 1950 года. В таком случае можно использовать ее в исходном виде. В параметрах первой стрелки необходимо выбрать тип Условие "И", и добавить условие, в котором мы будем определим меньше ли названная дата рождения чем случайная условная дата в будущем, в данном например 2030-01-01 - такая дата позволяет обработать даты рождения от 1930 до 2029 года. В данном случае получается условие {bday} < 2030-01-01.

Image Added![[Pasted image 20221018155847.png]]
3) Параметры второй стрелки аналогичны первой, кроме операции сравнения - нужно выбрать операцию >=. В данном случае получается условие {bday} >= 2030-01-01.![[Pasted image 20221018160041.png]]

Image Added

4) После второй стрелки необходимо установить блок арифметики. В параметрах необходимо выбрать тип Произвольный тип, и в поле BPL-выражение скопировать следующий фрагмент кода:


Message Box
iconnone
titleВнимание
typewarning

BPL выражения работают только для чатов и входящих звонков


Блок кода
languagec#
$bdaysplit = str.split($bday, "-"); 
$year = $bdaysplit.get(0);
$month = $bdaysplit.get(1); 
$day = $bdaysplit.get(2);
$year = str.replace($year, "20", "19");
$bday = str.join([$year, $month, $day], "-");

После чего нажать на кнопку Преобразовать BPL в AST. Данный фрагмент кода отвечает за изменение формата даты: например, если клиент назовет дату рождения "15 июня 47 года", бот сохранит ее как 2047-06-15. Данный фрагмент кода преобразует эту дату в 1947-06-15.

![[Pasted image 20221018160920.png]]Image Added

Таким образом вы можете корректно сохранить дату рождения клиента, если она ранее 1950 года.

Пример работы фрагмента

Получение даты без корректировки:

Image Added

Получение даты с корректировкой:

Image Added