Публикация

Запрет редактирования поля в 7.2

Вопрос

У нас возникла задача программно запретить редактирование поля "Поставщика" на странице договора (ContractPage) при наступлении определенных условий. Все попытки сделать что-то вроде this.get или find('Supplier') и установить ему enabled или IsEnabled или всё что удалось нагуглить - не работает. 

При этом, если очистить поле поставщика, то его платежные реквизиты успешно блокируются, т.е. такая возможность у вас реализована. Как нам научиться ей пользоваться? Причем нужно именно программно, а не через привязки и прочее, т.к. условия запрета довольно сложные и могут меняться с течением времени и требовать запросов к базе и т.д.

Ответ

Данную возможность можно реализовать следующими способами:

var supp = this.find('Supplier');
supp.customConfig = {
    enabled: { bindTo: 'methodName''}
}

или

var supp = this.find('Supplier');
supp.customConfig = {
    enabled: false
}

Следующий пример кода демонстрирует блокирование поля "Поставщик" если значение поля "Номер" не равняется 2:

var supp = this.find('Supplier');
supp.customConfig = {
    enabled: { bindTo: 'test'}
}
this.methods.test = function(){ return this.get('Number') == '2' };

 

Нравится

Поделиться

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