Можно реализовать вот таким образом:
В настройке полей типа контакта есть возможность выбрать условия
https://yadi.sk/i/Bm0Y2VO_w4h5Ng.
Так же в полях типа задача есть возможность указать условие, какие задачи будут отображаться в выборе:
https://yadi.sk/i/Y1NGYYm3qcEMxg
Так же в настройках самого поля можно добавить возможность выбрать условия, при которых поле будет обязательным. К примеру так:
https://yadi.sk/i/L204X9zSzZFOyA
Т.е. сменить статус в задачах, соответствующих этому условию можно только при условии, что поле заполнено. Сюда же можно даже внести условие по содержимому этого настраевоемого поля.
Ну и совсем идеально, если при попытке сменить статус, справа снизу будет появляться системное уведомление:
Для смены статуса в данной задаче требуется заполнить поля: Бюджет сделки, Контрагент
(ну это к примеру)
Чтобы не городить сценариев с комментариями от робота. И пользователю удобно, он кликнул на смену статуса, система сразу дала понять какие поля нужно заполнить для этого
К примеру в АМО СРМ есть такой функционал:
https://yadi.sk/i/IfIpbEW-dEOXRw
И при смене статуса и нажатии на кнопку сохранить, она превращается в красную кнопку и подсвечиваются поля красным, которые нужно заполнить. И также подсвечиваются вкладки, чтобы пользователь мог переключиться и там тоже увидеть красные поля, требуемые к заполнению.
Т.е. технически я выше описал как можно это настроить.
А визуально либо уведомление системное справа снизу с перечислением полей, которые нужно заполнить, как обычно типо как такое:
https://yadi.sk/i/5r61mlQA-Ryu5A
Второй вариант - это подсвечивать красным поля)
Многие поля используются в разных шаблонах и процессах. Выбор на каких статусах и в каких процессах поля будут обязательными тоже легко можно реализовать в настройках поля с помощью шикарного инструментария условий в Планфиксе:
https://yadi.sk/i/H5BFOqMovK5URQ