Добрый день, подскажите как изменить фильтрацию поля "Продажа" на детале "Связи", в зависимости от поля на карточке раздела, т.е. есть у нас к примеру Счет, в нем булевое поле, изменяем в нем значение и тогда нужно менять фильтр в поле "Продажа" в детале "Связи"
Возможно ли такое?
Нравится
Олег, добрый день!
Есть два варианта: добавить бизнес-правило с типом FILTRATION или добавить фильтр в свойство lookupListConfig соответствующего атрибута.
Пример первого варианта - схема ActivityPageV2, пакет Opportunity, фильтрация значений поля "Продажа" в зависимости от поля "Контрагент":
rules: { "Opportunity": { "FiltrationOpportunityByAccount": { "ruleType": BusinessRuleModule.enums.RuleType.FILTRATION, "autocomplete": true, "autoClean": true, "baseAttributePatch": "Account", "comparisonType": Terrasoft.ComparisonType.EQUAL, "type": BusinessRuleModule.enums.ValueType.ATTRIBUTE, "attribute": "Account" } } }
Пример второго варианта - схема ActivityPageV2 пакета UIv2, фильтрация значений поля "Результат" в зависимости от категории активности:
attributes: { "Result": { lookupListConfig: { filters: [ function() { var type = this.get("ActivityCategory"); var filterGroup = Ext.create("Terrasoft.FilterGroup"); filterGroup.add("ActivityCategory", Terrasoft.createColumnFilterWithParameter( Terrasoft.ComparisonType.EQUAL, "[ActivityCategoryResultEntry:ActivityResult].ActivityCategory", type.value)); filterGroup.add("BusinessProcessOnly", Terrasoft.createColumnFilterWithParameter( Terrasoft.ComparisonType.EQUAL, "BusinessProcessOnly", 0)); return filterGroup; } ] } } }
С помощью второго варианта можно реализовать фильтрацию любой сложности.