Добрый день!
Подскажите, пожалуйста, как при смене статуса вручную на ActionsDashboard запустить валидацию на заполненность определенных полей?
И в случае, если всё заполнено, то сохранить карточку продажи с новым статусом, а если не заполнено, то сделать поля обязательными и не давать сохранить, пока они не заполенны?
Нравится
Владимир, добрый день.
Для примера рассмотрим реалзиацию для объекта Обращения.
Одним из возможных вариантов реализации будет следующий:
1.На странице [Обращения], открыть мастер раздела и во вкладке [Решение и закрытие], добавить новое текстовое поле типа "Строка"
Например с названием "Причина перехода на следующую стадию" http://prntscr.com/i97vb7
2.Перейдя в мастере раздела на [Бизнес правила], создадим новое БП http://prntscr.com/i97viu
Это правило говорит, что при изменении состояния обращения с "Новое" на "В работе",
поле "Причина перехода на следующую стадию" является обязательным к заполнению.
Обращаем Ваше внимание, что при создании БП в графе [Какое поле делать обязательным] следует указать название требуемой к заполнению строки из БД http://prntscr.com/i97vvk
3.После выполнения этих операций, мы видим, что при попытке пользователя перевести обращение к следующему состоянию,
он будет получать уведомление о том, что не заполнено обязательное поле указания причины http://prntscr.com/i97w4x
При переходе по actiondashboard'у выполняется сохранение записи и валидация заполненных полей.
Спасибо, Андрей!
При реализации возникла проблема в связи с различиями в поведении ActionsDashboard и lookup-поля:
Имеется справочник QualifyStatus, он выведен на страницу LeadPageV2 через ActionDashboard, в разделе attributes страницы указаны дополнительные колонки кроме id и value:
"QualifyStatus": {
lookupListConfig: {
columns: ["Name", "StageNumber", "UsrIsTaken", "UsrIsOpportunity", "UsrIsDisqualified"]
}
}
Но они не доступны в коде страницы работы через this.get("QualifyStatus"). Если же добавить на страницу Lookup с QualifyStatus и работать со справочником через него то данные поля становятся доступны
Кроме того, при неудачной валидации статус на ActionsDashboard перескакивает обратно, что не совсем логично
Добрый вечер.
Т.е. this.get("QualifyStatus") возвращает объект в котором нет указанных колонок?
Добрый вечер.
Мне не удалось воспроизвести ваш кейс все корректно отрабатывает. Так что проблема не в коробке. Рекомендую проанализировать состояние объекта сразу после инициализации схемы и в момент вашего вызова, может «по пути» затираются его свойства.