Заблокировать поле при условии

Добрый день.

Мне необходимо заблокировать (сделать не доступный для редактирования) поле "Решение" в разделе "Обращение". 

По условию:

Поле "Состояние обращение" = Решено

Поле "Решение" заполнено.

Подскажите пожалуйста как это сделать.

Нравится

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

Добрый день, Евгений!

Для решения своей задачи Вы можете воспользоваться базовым функционалом в виде бизнес-правил. А именно использовать правило [Делать поле редактируемым]. С информацией о том, как добавить условие выполнение правила Вы можете здесь: https://academy.terrasoft.ua/documents/sales-enterprise/7-11/kak-dobavi… и с информацией о том, как добавить действие бизнес-правила Вы можете здесь: https://academy.terrasoft.ua/documents/sales-enterprise/7-11/kak-dobavi…

Адасюк Валерий Викторович,

Валерий, спасибо. Но в бизнес правилах нет условия "Сделать заблокированным", там как вы и говорите правило  [Делать поле редактируемым], а мне нужно обратное действие

 

Евгений.,

Это правило имеет и обратное свойство. Оно не только делает из не редактируемых полей редактируемые, но и наоборот - блокирует редактируемые поля. 

Адасюк Валерий Викторович,

Валерий, что-то это не отрабатывает.

Возможно из-за того что на поле "Решение" наложена логика (код). Так-как это поле даже не выведено на страницу, вместо него контейнер, а к контейнеру нельзя обращаться через бизнес-правила

Здравствуйте!

В блоке insert/merge поля Solution необходимо добавить свойство enabled и связать его с методом:

"enabled": {"bindTo": "SetSolutionEnabled"}

В методе SetSolutionEnabled описать логику доступности поля, например:

SetSolutionEnabled: function() {

         return this.get("IsMessageHistoryExists")=="id значения Решено"

}

Показать все комментарии