Необхідно зробити фільтр, Основний контакт по Контрагенту
Так як в новому інтерфейсі зробити фільтр бізнес правилом не можливо. Пробуємо реалізувати кодом, але не виходить. Можливо підкажете в чому помилка.
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,
Ви показуєте фільтр в об'єкті контактів, а мені треба в об'єкті контрагентів. Фільтр в контрагентах, основний контакт контрагента. Треба щоб в контрагенті в полі "основний контакт" відображались тільки контакти які пов'язані з поточним контрагентом