Вопрос
Можно ли отобрать записи в esq запросе на js с помощью фильтра по количеству записей на детали?
27 августа 2021 12:54
Можно ли отобрать записи в esq запросе на js с помощью фильтра по количеству записей на детали?
Вопрос получится это сделать без лишней вложенности к примеру с помощью механизма построения пути к колонкам или нет7
В бп в фильтре можно указать, объект.деталь.количество , но как это будет выглядеть оптимально с помощью кода не ясно
единственные идеи это городить вложенные запросы
Нравится
1 комментарий
28 августа 2021 17:21
Нет, просто по пути к колонке построить данный фильтр не выйдет, в любом случае нужно будет строить подзапрос на количество.
Вы можете посмотреть какой запрос генерируется при установке такой фильтрации в разделе, к серверу уходит POST запрос SelectQuery у которого в теле передаются все фильтры.
Пример фильтра в разделе:
Уходящий запрос:
{ "rootSchemaName": "Account", "operationType": 0, "includeProcessExecutionData": true, "filters": { "items": { "8844d1b0-9ad8-410c-8c28-5a2f0a1c6ae3": { "items": { "CustomFilters": { "items": { "06f533f8-2b58-4ea3-8818-2a27d0c7e196": { "filterType": 1, "comparisonType": 7, "isEnabled": true, "trimDateTimeParameterToDate": false, "leftExpression": { "expressionType": 3, "functionType": 2, "aggregationType": 1, "columnPath": "[Contact:Account].Id", "subFilters": { "items": {}, "logicalOperation": 0, "isEnabled": true, "filterType": 6, "rootSchemaName": "Contact" } }, "rightExpression": { "expressionType": 2, "parameter": { "dataValueType": 4, "value": 0 } }, "subFilters": { "items": {}, "logicalOperation": 0, "isEnabled": true, "filterType": 6, "rootSchemaName": "Contact" } } }, "logicalOperation": 0, "isEnabled": true, "filterType": 6, "rootSchemaName": "Account" } }, "logicalOperation": 0, "isEnabled": true, "filterType": 6 } }, "logicalOperation": 0, "isEnabled": true, "filterType": 6 }, "columns": { "items": { "Id": { "caption": "", "orderDirection": 0, "orderPosition": -1, "isVisible": true, "expression": { "expressionType": 0, "columnPath": "Id" } }, "Name": { "caption": "", "orderDirection": 0, "orderPosition": -1, "isVisible": true, "expression": { "expressionType": 0, "columnPath": "Name" } }, "AccountLogo": { "caption": "", "orderDirection": 0, "orderPosition": -1, "isVisible": true, "expression": { "expressionType": 0, "columnPath": "AccountLogo" } }, "PrimaryContact": { "caption": "", "orderDirection": 0, "orderPosition": -1, "isVisible": true, "expression": { "expressionType": 0, "columnPath": "PrimaryContact" } }, "Phone": { "caption": "Основной телефон", "orderDirection": 0, "orderPosition": -1, "isVisible": true, "expression": { "expressionType": 0, "columnPath": "Phone" } }, "Type": { "caption": "Тип", "orderDirection": 0, "orderPosition": -1, "isVisible": true, "expression": { "expressionType": 0, "columnPath": "Type" } }, "AccountCategory": { "caption": "Категория", "orderDirection": 0, "orderPosition": -1, "isVisible": true, "expression": { "expressionType": 0, "columnPath": "AccountCategory" } }, "EntryPointsCount": { "caption": "", "orderDirection": 0, "orderPosition": -1, "isVisible": true, "expression": { "expressionType": 3, "aggregationType": 1, "columnPath": "[EntryPoint:EntityId].Id", "subFilters": { "items": { "1afa5cfc-31e0-4a27-ad78-bac1de602da6": { "filterType": 1, "comparisonType": 3, "isEnabled": true, "trimDateTimeParameterToDate": false, "leftExpression": { "expressionType": 0, "columnPath": "IsActive" }, "rightExpression": { "expressionType": 2, "parameter": { "dataValueType": 1, "value": true } } } }, "logicalOperation": 0, "isEnabled": true, "filterType": 6 } } } } }, "isDistinct": false, "rowCount": 30, "rowsOffset": 0, "isPageable": true, "allColumns": false, "useLocalization": true, "useRecordDeactivation": false, "serverESQCacheParameters": { "cacheLevel": 0, "cacheGroup": "", "cacheItemName": "" }, "queryOptimize": false, "useMetrics": false, "adminUnitRoleSources": 0, "querySource": 0, "ignoreDisplayValues": false, "conditionalValues": null, "isHierarchical": false }
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать