Вопрос

Быстрые фильтры по данным деталей

Коллеги, добрый день. Версия 7.15.4.

 

В системе существует возможность задавать быстрые фильтры с помощью функции initFixedFiltersConfig: https://academy.terrasoft.ru/documents/technic-sdk/7-16/dobavlenie-v-ra…

 

При этом для фильтрации в конфиге фильтра указывается колонка (свойство columnName)

 

Можно ли в таком же фильтре задать поиск по данным детали (т.е. по Exists, наподобие такого примера: https://community.terrasoft.ua/articles/kak-sdelat-filtraciu-pola-po-ex… ) на странице раздела?

 

Нравится

1 комментарий

Денис, в примере по Вашей ссылке создаётся OwnerFilter. Логика его формирования реализована в схеме BaseFiltersGenerateModule:

  function employeesFilter() {
   const sysAdminUnitRef = "[SysAdminUnit:Contact]";
   const employeesFilter = Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
     sysAdminUnitRef + ".ConnectionType",
     ConfigurationConstants.SysAdminUnit.ConnectionType.AllEmployees);
   const filters = getIsNotNullFilterGroup(sysAdminUnitRef);
   filters.addItem(employeesFilter);
   return filters;
  }
...
  return {
   OwnerFilter: employeesFilter,
   SelfFilter: selfFilter,
   AllUsersFilter: allUsersFilter
  };

То есть фильтр по ответственному как раз делается по связанным таблицам.

То есть можно переопределить BaseFiltersGenerateModule (в схеме под другим названием, как это делается для модулей), там реализовать нужную логику фильтрации, а затем в схеме раздела его применять.

 

Если напрямую по детали не получится, можно создать поле в объекте раздела и в БП при изменении записей на детали его актуализировать.

Показать все комментарии