Бизнес правила - фильтрация справочных полей в зависимости от значения других полей
Добрый день,
Столкнулся с проблемой фильтрации справочных полей при помощи бизнес правил,
есть Справочник улиц (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.
Подробнее можно почитать здесь и посмотреть пример вот здесь.
Алла Савельева,
Спасибо, так и делаю на данный момент, думал может я что то упустил поэтому не работает автоматическое заполнение