Коллеги, привет.
Не могу найти внятного мануала на тему использования фильтрация в БП.
Хочу отфильтровать ответственного по тикету по группе ответственных. (Выбираем группу -> список ответственных уменьшается).
Подскажите как реализовать "хотелку" или укажите на гайд, где подобная задача решается?
Нравится
Вашу задачу можно решить не только с помощью бизнес-правил.
Например, в базовой версии фильтрация поля 'Ответственный' настраивается через атрибуты таким образом:
"Owner": { "dataValueType": Terrasoft.DataValueType.LOOKUP, "lookupListConfig": {"filter": BaseFiltersGenerateModule.OwnerFilter} }
Более того некоторые задачи по фильтрации данных с помощью бизнес-правил вообще не решаются.
Распишите подробнее, какие вводные данные для реализации задачи - на основании каких данных фильтрацию какого поля Вам нужно реализовать?
Начните с просмотра этой статьи. В ней несколько ссылок на более подробное описание различных моментов связаных с БП. Так же просмотрите статью СТРУКТУРА КЛИЕНТСКОЙ СХЕМЫ
Вашу задачу можно решить не только с помощью бизнес-правил.
Например, в базовой версии фильтрация поля 'Ответственный' настраивается через атрибуты таким образом:
"Owner": { "dataValueType": Terrasoft.DataValueType.LOOKUP, "lookupListConfig": {"filter": BaseFiltersGenerateModule.OwnerFilter} }
Более того некоторые задачи по фильтрации данных с помощью бизнес-правил вообще не решаются.
Распишите подробнее, какие вводные данные для реализации задачи - на основании каких данных фильтрацию какого поля Вам нужно реализовать?
Алла Савельева, требуется следующую логику:
1) При выборе ответственного, список доступных для выбора групп ответственных должен содержать только те группы, в которые входит ответственный
И обратное:
2) При выборе группы ответственных, список ответственных должен быть ограничен только теми специалистами, которые входят в данную группу.
Sunrise challenge,
Напишите sql-запрос, который должен выполниться в базе данных, чтобы получить нужные Вам данные.
Потом попробуйте интерпретировать этот запрос в программный код согласно тому, как описано в статье на Академии (обратите внимание, что для клиентского кода принцип присоединения полей тот же).
Алла Савельева,
Нужно ли где-то определять BaseFiltersGenerateModule.OwnerFilter?
Sunrise challenge,
В данном случае метод фильтрации OwnerFilter определен в BaseFiltersGenerateModule и для его использования в карточке редактирования должен быть подключен этот модуль. Сделано это было для того, чтобы использовать данный метод фильтрации в нескольких карточках и не дублировать программный код.
Но Вы можете написать нужный метод фильтрации прямо в карточке редактирования, не вынося его в отдельный модуль.
Алла Савельева,
Компилятор не выдаёт ошибок, схема сохраняется, при этом фильтрация не осуществляется
Sunrise challenge,
А в консоли браузера есть такие-то ошибки при выборе значения для этого поля?