Добрый день.
В карточке обращения есть группа полей (например, Сроки), мне нужно скрыть\показать группу в зависимости от каких-либо условий (например, показать группу полей Сроки только на стадии "Решено").
Подскажите, как это сделать?
Пробовала сделать через бизнес-правила https://academy.terrasoft.ru/documents/technic-sdk/7-10/pravilo-bindpara... , но не получилось.
Нравится
как пример LeadPageV2 группа полей "Регистрационные данные"
[javascript]
attributes: {
...
//атрибут значением которого мы будем контролировать видимость группы полей
"isLeadPageRegisterInfoVisible": {
type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
dataValueType: Terrasoft.DataValueType.BOOLEAN,
value: false
},
...
}
diff: {
...
//merge для конфигурационного объекта группы полей
{
"operation": "merge",
"name": "LeadPageRegisterInfo",
"values": {
//"биндинг" (привязка) значения свойства viewModel к атрибуту
"visible": {bindTo: "isLeadPageRegisterInfoVisible"}
}
},
...
},
methods: {
...
"onEntityInitialized": function() {
this.callParent(arguments);
//сохраним в глобальной области видимости контекст карточки, для удобного доступа из консоли
document.thisPageScope = this;
}
...
}
[/javascript]
теперь откроем карточку лида, и в консоли поиграемся значением атрибута:
[javascript]
document.thisPageScope.set("isLeadPageRegisterInfoVisible", true);
//наблюдаем появившуюся группу полей
document.thisPageScope.set("isLeadPageRegisterInfoVisible", false);
//наблюдаем как группа полей была скрыта.
[/javascript]
вам необходимо определить группу полей в diff секции карточки
и ёё свойство visible забиндить на атрибут (булево) значением которого в последствии управлять из Вашего клиентского кода, в зависимости от значения в атрибуте - группа полей будет скрыта или продемонстрирована.
как пример LeadPageV2 группа полей "Регистрационные данные"
[javascript]
attributes: {
...
//атрибут значением которого мы будем контролировать видимость группы полей
"isLeadPageRegisterInfoVisible": {
type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
dataValueType: Terrasoft.DataValueType.BOOLEAN,
value: false
},
...
}
diff: {
...
//merge для конфигурационного объекта группы полей
{
"operation": "merge",
"name": "LeadPageRegisterInfo",
"values": {
//"биндинг" (привязка) значения свойства viewModel к атрибуту
"visible": {bindTo: "isLeadPageRegisterInfoVisible"}
}
},
...
},
methods: {
...
"onEntityInitialized": function() {
this.callParent(arguments);
//сохраним в глобальной области видимости контекст карточки, для удобного доступа из консоли
document.thisPageScope = this;
}
...
}
[/javascript]
теперь откроем карточку лида, и в консоли поиграемся значением атрибута:
[javascript]
document.thisPageScope.set("isLeadPageRegisterInfoVisible", true);
//наблюдаем появившуюся группу полей
document.thisPageScope.set("isLeadPageRegisterInfoVisible", false);
//наблюдаем как группа полей была скрыта.
[/javascript]