Через мастер деталей создали 2 детали - Запросы поставщикам и Запросы инженерам на основе одного объекта - Запросы. Теперь нужно на каждой детали отфильтровать записи по типу запроса (запрос поставщикам и запрос инженерам). Вот код на примере одной из деталей:
В детали прописали "filterMethod":
"UsrSchema4Detail19b3960f": {
"schemaName": "UsrSchema4Detail",
"entitySchemaName": "UsrRequest",
"filter": {
"detailColumn": "UsrSale",
"masterColumn": "Id"
},
"filterMethod": "Order1Filter"
}
Затем в массиве metthods карточки раздела прописали функцию фильтрации:
Order1Filter: function() {
var filterGroup = new this.Terrasoft.createFilterGroup();
filterGroup.logicalOperation = this.Terrasoft.LogicalOperatorType.AND;
filterGroup.add("UsrTypeRequestFilter", this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.EQUAL, "UsrTypeRequest", "d0fbeb54-1381-4b01-a1f4-2bf074639122") // Образцы
);
filterGroup.add("ByOpportunityFilter", this.Terrasoft.createColumnFilterWithParameter(
this.Terrasoft.ComparisonType.EQUAL, "Opportunity", this.get("Id"))
);
return filterGroup;
}
Но фильтрация не работает. Что делаем не так?
Нравится
Здравствуйте!
Рекомендую посмотреть схему детали ActivityDetailV2 - там добавлен фильтр, который отсеивает активности с типом Email.
Вам необходимо реализовать такую же логику в схеме UsrSchema4Detail.
Алексей, здравствуйте!
Вопрос такой: сейчас фильтрация работает, но только при загрузке. Как вызвать фильтр при добавлении нового элемента на деталь с реестром?
"Демьяник Алексей" написал:Здравствуйте!
Рекомендую посмотреть схему детали ActivityDetailV2 - там добавлен фильтр, который отсеивает активности с типом Email.
Вам необходимо реализовать такую же логику в схеме UsrSchema4Detail.
Вопрос Дениса очень актуален! Нужно, чтобы фильтрация срабатывала сразу после добавления записи на деталь, а не после сброса кеша в браузере.