Бизнес правила - фильтрация справочных полей в зависимости от значения других полей
Добрый день,
Столкнулся с проблемой фильтрации справочных полей при помощи бизнес правил,
есть Справочник улиц (Street) у которого соответственно есть принадлежность к выше стоящим элементам(Городам, Районам, Регионам и др.)
Выглядит примерно следующим образом
╔══════════════╤═════════════════════╤══════════════════════════════════════╤══════════════════════════════════════╤══════════════════════════════════════╤══════════════════════════════════════╗ ║ Name │ TerritorialObjectId │ LocalityId │ DistrictId │ RegionId │ CountryId ║ ╠══════════════╪═════════════════════╪══════════════════════════════════════╪══════════════════════════════════════╪══════════════════════════════════════╪══════════════════════════════════════╣ ║ ул. Королёва │ NULL │ NULL │ NULL │ B0FDED10-AEE0-4F1B-9C8D-198F7C154257 │ 5A1FEFDA-56A4-48A2-BC77-E40C71EEC73B ║ ╟──────────────┼─────────────────────┼──────────────────────────────────────┼──────────────────────────────────────┼──────────────────────────────────────┼──────────────────────────────────────╢ ║ ул. Ф.Торо │ NULL │ 967FC3D7-EBBA-4B76-AEDD-FE1CA5B48157 │ 7B11D4CE-D3E2-487F-BE03-A620015FB4FA │ EED82307-32D6-47EF-BDD8-FA64FE399614 │ 5A1FEFDA-56A4-48A2-BC77-E40C71EEC73B ║ ╚══════════════╧═════════════════════╧══════════════════════════════════════╧══════════════════════════════════════╧══════════════════════════════════════╧══════════════════════════════════════╝
То есть в некоторых местах возможны пропуски иерархии, и улица напрямую принадлежит региону.
Бизнес правило по улице заполнено следующим образом
"Street": { "FiltrationStreetByTerritorialObject": { ruleType: BusinessRuleModule.enums.RuleType.FILTRATION, autocomplete: true, autoClean: true, baseAttributePatch: "TerritorialObject", comparisonType: Terrasoft.ComparisonType.EQUAL, type: BusinessRuleModule.enums.ValueType.ATTRIBUTE, attribute: "TerritorialObject" }, "FiltrationStreetByLocality": { ruleType: BusinessRuleModule.enums.RuleType.FILTRATION, autocomplete: true, autoClean: true, baseAttributePatch: "Locality", comparisonType: Terrasoft.ComparisonType.EQUAL, type: BusinessRuleModule.enums.ValueType.ATTRIBUTE, attribute: "Locality" }, "FiltrationStreetByDistrict": { ruleType: BusinessRuleModule.enums.RuleType.FILTRATION, autocomplete: true, autoClean: true, baseAttributePatch: "District", comparisonType: Terrasoft.ComparisonType.EQUAL, type: BusinessRuleModule.enums.ValueType.ATTRIBUTE, attribute: "District" }, "FiltrationStreetByRegion": { ruleType: BusinessRuleModule.enums.RuleType.FILTRATION, autocomplete: true, autoClean: true, baseAttributePatch: "Region", comparisonType: Terrasoft.ComparisonType.EQUAL, type: BusinessRuleModule.enums.ValueType.ATTRIBUTE, attribute: "Region" }, "FiltrationStreetByCountry": { ruleType: BusinessRuleModule.enums.RuleType.FILTRATION, autocomplete: true, autoClean: true, baseAttributePatch: "Country", comparisonType: Terrasoft.ComparisonType.EQUAL, type: BusinessRuleModule.enums.ValueType.ATTRIBUTE, attribute: "Country" } }
Проблема в том, что при выборе улицы из справочника не подтягиваются автоматически ее выше стоящие элементы, как например город, район и т.д.
Я что то упускаю?
Нравится
Сериков Асхат Кайратович,
проблема в подтягивании автоматически ее "родителей", то есть при выборе улицы при незаполненных городах, районах не подтягиваются автоматически город и район к которым относится улица
Это решается также через другое свойство атрибута - dependencies.
Подробнее можно почитать здесь и посмотреть пример вот здесь.
Насколько мне известно, такой код работать не будет.
Реализация Вашей задачи, когда нужна фильтрация по нескольким условиям, выполняется через настройку lookupListConfig. Подробнее об этом можно почитать в статье на Академии.
Алла Савельева,
Спасибо, фильтрация как таковая работает исправно, проблема в подтягивании автоматически ее "родителей", то есть при выборе улицы при незаполненных городах, районах не подтягиваются автоматически город и район к которым относится улица. Я так думаю это
autocomplete: true,
должен был выполнять
Сериков Асхат Кайратович,
проблема в подтягивании автоматически ее "родителей", то есть при выборе улицы при незаполненных городах, районах не подтягиваются автоматически город и район к которым относится улица
Это решается также через другое свойство атрибута - dependencies.
Подробнее можно почитать здесь и посмотреть пример вот здесь.
Алла Савельева,
Спасибо, так и делаю на данный момент, думал может я что то упустил поэтому не работает автоматическое заполнение