Вопрос
У нас возникла задача программно запретить редактирование поля "Поставщика" на странице договора (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' };