Всем доброго времени суток.
Версия 7.9 sales.
Задача следующая: на странице E-mail есть справочник выбора адреса "Кому". Также на странице есть колонка, связывающая с некоторым контрагентом. В общем случае требуется, чтобы при выборе адреса email были доступны только адреса контактов установленного контрагента.
Как я понимаю, фильтр устанавливается в методе getLookupConfig в схеме EmailPageV2, а точнее, в return:
return {
config: {
entitySchemaName: "VwRecepientEmail",
columnName: columnName,
columns: ["ContactId"],
filters: Terrasoft.createColumnIsNotNullFilter("ContactId"),
multiSelect: true
},
callback: callback
};
Вытащить список контактов можно запросом. Далее следует сформировать массив id, и по идее скормить его параметру filters в конфиге..
Но если я задаю например вместо Terrasoft.createColumnIsNotNullFilter("ContactId") задаю функцию с filterGroup таким образом (нашёл на форуме), для примера подставил пока хардкодные idшники:
filters: function() {
var idList = ["171fbe60-eafc-4713-85eb-7ad92aa2e9e2","8ec32762-286f-477c-a599-2c4184bab8d9"];
var filterGroup = new Terrasoft.createFilterGroup();
var filterById = Terrasoft.createColumnInFilterWithParameters("ContactId", idList);
filterById.comparisonType = Terrasoft.ComparisonType.EQUAL;
filterGroup.add("filterById", filterById);
return filterGroup;
},
То справочник вообще не открывается, а в консоль вываливается ошибка (см. скрин).
Возможно ли реализовать такой фильтр, и если да - то как правильно это сделать?