Версия приложения 7.9.1
Юзкес: привязать свойство справочного поля "visible" некой карточки, к некой бизнес-логике.
Пердпринятые действия
При помощи мастера раздела, и редактора страницы на страницу контакта было добавлено новое справочное поле, н/п в карточке контакта добавлено поле "Страна" (ContactCountry)
см.вложение country.png
Далее в сгенерированной замещающей схеме с группе свойств конфигурационного объекта для поля был добавлен биндинг свойства "visible" к методу "ContactCountryVisibilityController"
и объявлен сам метод.
...
{
"operation": "insert",
"name": "ContactCountrye97c8637-0ade-42fc-95e1-a37e1971b25e",
"values": {
"layout": {
"colSpan": 12,
"rowSpan": 1,
"column": 12,
"row": 2,
"layoutName": "ContactGeneralInfoBlock"
},
"labelConfig": {},
"enabled": true,
"contentType": 5,
"bindTo": "ContactCountry",
"visible": {"bindTo": "ContactCountryVisibilityController"}
},
"parentName": "ContactGeneralInfoBlock",
"propertyName": "items",
"index": 4
},
...
methods: {
ContactCountryVisibilityController: function() {
if (this.get("ContactCountry") !== undefined) {
return true;
} else {
return false;
}
}
}
Проблема:
во-первых - если поставить точку останова внутри объявленного выше метода, то код метода при загрузке страницы выполняется 6-10 раз !!!
во-вторых - во время отладки, даже если метод возвращает true (в случае когда целевое поле заполнено), то свойство всё равно не принимает необходимого значения.
(поле в любом случае остается скрытым)
Т.е. биндинг не приносит желаемого результата.
Протестировано как в on-site версии, так и в облачной демо-версии.