Коллеги, добрый день.
Настроила воронку в лидах, необходимо чтобы при стадии "дисквалифицирован" появлялось поле на странице "причина отказа" и было обязательным для заполнения.
Создала соответствующие бизнес-правила:
Но при переводе лида в стадию "дисквалифицирован" появляется уведомление что в поле необходимо указать значение, но само поле на странице не появляется. В чём проблема?
Нравится
Может у Вас какой-то код или бп запускается до отработки правила и пытается страница обновится или закрыться. Думаю стоит написать в поддержку.
Думаю, что это правило видимости, прописанное в базовой странице лида имеет более высокий приоритет:
"visible": {
"bindTo": "QualifyStatus",
"bindConfig": {"converter": "getIsDisqualifiedStatus"}
}
Но почему-то до сохранения оно не срабатывает при изменении стадии на ActionsDashboard.
Я попробовал - если добавить поле "Стадия лида" и им менять стадии, то всё работает корректно.
Вывод - ActionsDashboard имеет недоработки (кроме данной, замечено, что при работе с ним можно сравнивать только напрямую со значением стадии, но невозможно с другими полями справочника стадий)
Причем, интересно - при смене стадии на ActionsDashboard место для поля "Причина дисквалификации" появляется, но само поле не отображается
Бизнес-правила нормально отрабатывают до сохранения, на мгновение поле появляется и становится обязательным, но в этот же момент изменение кейса приводит к сохранению страницы, а поле "Причина отказа" появилось в обязательном виде и оно пока еще пустое, что приводит к конфликту и сохранение записи отменяется, стадия возвращается на предыдущую и поле исчезает. Я здесь не спец, но думаю, что можно как-то изменить работу кейса, чтобы он не сохранял страницу автоматически при изменении стадии, вот тогда появится возможность выбрать причину отказа и ручками сохранить запись.
Вот, поймал на скрине момент во время изменения стадии и сохранения страницы.
То есть, проблема в "откате" статуса обратно? А как заставить его не откатываться?
Здравствуйте!
Данное поведение при переводе лида в статус "Дисквалифицирован" заложено в базовой логике приложения: второе правило, которое делает поле обязательным, корректно работать не может. Action Dashboard, при изменении стадии лида на "Дисквалифицирован", сразу сохраняет этот лид целиком, и тут включаются правила, поэтому по одному правилу поле отображается, и одновременно второе правило проверяет его значение, а оно (поле) в этот момент заполненным быть не может. Сделать это поле обязательным скорее всего не удастся.
Но правило таки работает, если вынести на страницу поле "Стадия лида", и изменять стадию не Action Dashboard, а в этом поле.
Дарина, здравствуйте!
Проблема возникает именно из-за базовой логики работы кейсов в Action Dashboard: при переходе на стадию "Дисквалифицирован" карточка сразу сохраняется. У Вас она сохраняется через секунду после того, как отработало бизнес-правило, так как оно отрабатывает до сохранения. Так как карточка сохранена, сразу же идет проверка полей на валидность, согласно бизнес-правилам.
Логика такой работы, возможно, будет пересмотрена, но сейчас достаточно рабочий вариант - выводить на страницу поле "Стадия лида" и переводить в "Дисквалифицирован" именно в поле.