Задача [#5900]: Настраиваемые фильтры в потоках работ

Формулировка проблемы: Многочисленные просьбы клиентов фильтровать работы по разным признакам.

Решение: В двух из пяти основных разделов фильтров потоков работ ввести возможность создавать специализированные подфильтры с возможностью добавить одно или несколько условий фильтрации, которые перечислены ниже. Содержимое основных фильтров остаётся неизменным, уже имеющиеся в разделе «На исполнении» подфильтры становятся редактируемыми. Подфильтры могут быть созданы внутри основных фильтров либо других подфильтров при помощи контекстного меню — для основных фильтров «Добавить фильтр» (добавляет подфильтр), для подфильтров — «Добавить фильтр» (добавляет вложенный подфильтр), «Редактировать фильтр» (можно добавить, удалить и изменить содержимое условий фильтра) и «Удалить фильтр» (удаляет выделенный подфильтр). При создании нового подфильтра по умолчанию не добавляется ни одного условия. Каждое из условий можно добавить только один раз. При добавлении нескольких условий подфильтра правила, описанные в них, действуют одновременно (логическое И).

Нынешние «Фильтры» (далее «поисковый фильтр») в левом нижнем углу вида «Потоки работ» необходимо доработать следующим образом:

Элементы управления:

  1. выбор периода: сегодня, неделя, месяц, квартал и произвольный период, при активации которого становятся активными два поля — с датой начала и датой окончания;

  2. опция «Показать завершенные»;

  3. опция «Показать удалённые»;

  4. выбор типа поиска: «По дате начала», «По дате завершения» или «Все».

Поведение: если в текущем выделенном в дереве подфильтре установлено условие «Период» или «Статус», то при активации поискового фильтра значения элементов управления устанавливаются в те же, что указаны в подфильтре. При изменении значений поискового фильтра подфильтр, к которому они применяются, выделяется звёздочкой *.

Условия для подфильтров фильтра «На исполнении».
  • Со словами — регистронечувствительно, соответствие любому из слов, разделённых пробелом;

  • Без слов — регистронечувствительно, несоответствие любому из слов, разделённых пробелом;

  • Тип — при соответствии любому из комбинации из четырёх типов: «Работа», «Согласование», «Ознакомление», «Утверждение»;

  • Поставил — соответствие любому из выбранной комбинации пользователей;

  • Срок — выбор одного из двух вариантов: «До конца осталось» (+ поле для количества дней) либо «Просроченные»;

  • Прогресс — в случае, если в системе активирована настройка «Использовать справочник значений прогресса для поручений», значения поля могут быть выбраны только из этого справочника, в противном случае задается диапазон от/до %;

  • Статус — выбор одного из трех вариантов «В работе (ожидание)», «Завершенные» и «Удалённые»;

  • Свойства — соответствие любой из комбинации опций «Контрольные», «При наличии файлов»;

  • Приоритет — соответствие любой из комбинации опций «Срочно», «Не срочно», «Критично», «Плановое»;

  • Период: выбор одного из вариантов: «Сегодня», «Неделя», «Месяц», «Квартал» и «Произвольный период». При выборе варианта «Произвольный период» появляется возможность указать две даты - начала и завершения произвольного периода. Кроме этого, для этого условия можно указать одну из трех опций: «По дате начала», «По дате завершения» или «Все».

Условия для подфильтров фильтра «На контроле».

Дополнение к интерфейсу — автоматические фильтры по ответственному группируются в отдельный подузел фильтра «На контроле» - «Ответственнные». Подфильтры можно добавлять как в корень фильтра «На контроле», тогда они отображаются на одном уровне с узлом «Ответственные», так и к одному из автоматических фильтров по ответственному. Во втором случае условие «Ответственный» исключается из списка возможных к добавлению.

  • Работы — выбор из двух вариантов: Только по общему фильтру/Все (включая «по ответственным»);

  • Со словами — регистронечувствительно, при соответствии любому из слов, разделённых пробелом;

  • Без слов — регистронечувствительно, при несоответствии любому из слов, разделённых пробелом;

  • Тип — при соответствии любому из комбинации из четырёх типов: «Работа», «Согласование», «Ознакомление», «Утверждение»;

  • Автор — соответствие любому из выбранной комбинации пользователей;

  • Ответственный — соответствие любому из выбранной комбинации пользователей;

  • Срок — выбор одного из двух вариантов: «До конца осталось» (+ поле для количества дней) либо «Просроченные»;

  • Прогресс — в случае, если в системе активирована настройка «Использовать справочник значений прогресса для поручений», значения поля могут быть выбраны только из этого справочника, в противном случае задается диапазон от/до %;

  • Статус — выбор одного из трех вариантов «В работе (ожидание)», «Завершенные» и «Удалённые»;

  • Свойства — соответствие любой из комбинации опций «Контрольные», «При наличии файлов»;

  • Приоритет — соответствие любой из комбинации опций «Срочно», «Не срочно», «Критично», «Плановое»;

  • Период: выбор одного из вариантов: «Сегодня», «Неделя», «Месяц», «Квартал» и «Произвольный период». При выборе варианта «Произвольный период» появляется возможность указать две даты - начала и завершения произвольного периода. Кроме этого, для этого условия можно указать одну из двух опций: «По дате начала», «По дате завершения» или «Все».

В фильтрах «Проекты» и «Протокольные», «Группы работ» возможности создать подфильтр нет.

В случае создания вложенного в подфильтр подфильтра к дочернему подфильтру применяются условия родительского подфильтра (замечание: таким образом можно создать структуру подфильтров, не соответствующих ни одной работе, и это не будет являться ошибкой в Synergy).

Кроме вышеперечисленного, необходима возможность выбрать поля, которые будут отображены в списке работ при выборе подфильтра, а также поле, по которому будет осуществляется сортировка по умолчанию. Выбор полей также может осуществляется и для основных фильтров («На исполнении», «На контроле» и т. д.) — с помощью аналогичного диалога редактирования подфильтров, но без возможности просмотреть/добавить/отредактировать условия фильтрации.

Рисунок 529. Создание/редактирование подфильтра в Потоках работ

Создание/редактирование подфильтра в Потоках работ