Фільтрація Основного контакту по Контрагенту
Необхідно зробити фільтр, Основний контакт по Контрагенту
Так як в новому інтерфейсі зробити фільтр бізнес правилом не можливо. Пробуємо реалізувати кодом, але не виходить. Можливо підкажете в чому помилка.
handlers: /**SCHEMA_HANDLERS*/[
{
request: "crt.LoadDataRequest",
handler: async (request, next) => {
if(request.dataSourceName !== "PrimaryContact_List_DS") {
return await next?.handle(request);
}
// get the account
const account = await request.$context.Account;
if (account) {
const filter = new sdk.FilterGroup();
await filter.addSchemaColumnFilterWithParameter(sdk.ComparisonType.Equal, "Account", account.value);
const newFilter = Object.assign({}, filter);
newFilter.items = filter.items;
request.parameters.push({
type: "filter",
value: newFilter
});
}
return await next?.handle(request);
}
}
]/**SCHEMA_HANDLERS*/,Скоріш за все не правильно підставляємо ось тут request.$context.Account
Так як це значення нічого не віддає
Нравится
Добрий день,
З версії 8.0.9 таку фільтрацію можна зробити бізнес правилом. Правило на рівні об'єкту, а не картки (але налаштовується рівно так само в дизайнері бізнес правил в дизайнері сторінки):
В такому правилі буде фільтруватись лукап Contact custom в залежності від значення в колонці Account custom і будуть повертатись всі значення в Contact custom, якщо колонка Account custom пуста.
Тому рекомендую оновитись до версії 8.0.9 і використати наявне правило - фільтрацію для рішення цієї конкретної задачі.
Oscar Dylan,
Ви показуєте фільтр в об'єкті контактів, а мені треба в об'єкті контрагентів. Фільтр в контрагентах, основний контакт контрагента. Треба щоб в контрагенті в полі "основний контакт" відображались тільки контакти які пов'язані з поточним контрагентом