Формулировка проблемы: Необходима возможность централизованного управления настраиваемыми фильтрами потоков работ. Реализацию данной задачи необходимо учитывать с изменениями по задаче 2.41.AS1, п.2.
Решение: В раздел Конфигуратора «Документооборот» → «Настройки потоков работ» добавить новый подраздел «Фильтры потоков работ» к уже имеющимся «Настройки нагрузок» и «Доп. настройки потоков работ».
Логика данного подраздела должна быть аналогична логике подраздела Конфигуратора «Отдел кадров» → «Личное дело», а именно: в данном подразделе создается и настраивается шаблонная структура фильтров. Изменения в данных «шаблонных» фильтрах применяются только к новым сотрудникам и, при необходимости, к имеющимся — с помощью кнопки "Инициализировать".
При создании пользовательских фильтров по «шаблонной» структуре у этих фильтров должен присутствовать признак создания по шаблону, который используется для сравнения фильтров при инициализации (см. «Инициализация фильтров»). Любое изменение пользователем фильтра, созданного по шаблону, ведет к потере этого признака.
Корневым элементом структуры является основной фильтр «На исполнении». Подфильтры могут быть созданы только внутри основного фильтра «На исполнении» либо других подфильтров.
В основной рабочей области (по аналогии с редактированием фильтров и подфильтров в модуле «Потоки работ»):
основному фильтру выбираются поля, которые будут отображены в списке работ при выборе фильтра, а также поле, по которому будет осуществляется сортировка по умолчанию;
подфильтрам задаются название и иконка, условия фильтрации, плюс выбираются поля, которые будут отображены в списке работ при выборе подфильтра, а также поле, по которому будет осуществляется сортировка по умолчанию.
В случае создания вложенного в подфильтр подфильтра к дочернему
подфильтру применяются условия родительского подфильтра
(замечание: таким образом можно создать
структуру подфильтров, не соответствующих ни одной работе, и это не
будет являться ошибкой в Synergy
).
Удаление подфильтра. Корневой основной фильтр
«На исполнении» удалять нельзя (кнопка крестика
неактивна). Любой подфильтр можно удалить, нажав на кнопку
крестика
. При этом система выдаст предупреждающее
сообщение вида: «Вы действительно хотите удалить фильтр
*'название_фильтра'?*
» —
ОК / Отмена
.
Замечание: после удаления подфильтра из шаблонной структуры необходимо провести инициализацию, чтобы удаление применилось для всех существующих в системе пользователей.
Инициализация фильтров. По нажатию на кнопку «Инициализировать» созданная «шаблонная» структура фильтров применяется к каждому пользователю системы по следующему принципу: пользовательские фильтры (в потоках работ) сравниваются с «шаблонными» (с конфигуратора). Возможные результаты сравнения и выполняемые при этом действия системы:
пользовательские фильтры, параметры которых (будь то название или условия) изменял сам пользователь вручную (т. е. фильтры без признака создания по шаблону), с «шаблонными» не сравниваются и, соответственно, не изменяются и не удаляются;
пользовательские фильтры, параметры которых пользователем не изменялись, сравниваются с «шаблонными» по названию:
для фильтров с совпадающими названиями существующий пользовательский фильтр заменяется копией «шаблонного», заменённый «шаблонный» фильтр с другими пользовательскими фильтрами больше не сравнивается;
если название «шаблонного» фильтра отсутствует среди пользовательских фильтров — вставляется копия «шаблонного» фильтра в конец списка, добавленный «шаблонный» фильтр с другими пользовательскими фильтрами больше не сравнивается;
если название пользовательского фильтра отсутствует среди «шаблонных» фильтров — такой пользовательский фильтр удаляется.
Данные изменения также затрагивают:
создание нового пользователя (при создании пользователя структура фильтров должна браться из Конфигуратора);
функцию сброса фильтров (см. 2.23.6221) в модуле «Потоки работ» (в диалоге «Вернуть настройки» структура фильтров также должна браться из Конфигуратора).
Макет дизайна: