Вопрос

Валидация при смене статуса на ActionsDashboard

Добрый день!

Подскажите, пожалуйста, как при смене статуса вручную на ActionsDashboard запустить валидацию на заполненность определенных полей?
И в случае, если всё заполнено, то сохранить карточку продажи с новым статусом, а если не заполнено, то сделать поля обязательными и не давать сохранить, пока они не заполенны?

У меня такой же вопрос

6 комментариев

Владимир, добрый день.

Для примера рассмотрим реалзиацию для объекта Обращения.

Одним из возможных вариантов реализации будет следующий:
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") возвращает объект в котором нет указанных колонок?

Именно 

Добрый вечер.

Мне не удалось воспроизвести ваш кейс все корректно отрабатывает. Так что проблема не в коробке. Рекомендую проанализировать состояние объекта сразу после инициализации схемы и в момент вашего вызова, может «по пути» затираются его свойства.

Войдите или зарегистрируйтесь, чтобы комментировать