Задача [0435]: Возможность сортировки по прогрессу в фильтрах потоков работ

Формулировка проблемы: работы, которые уже завершены пользователем и ждут подтверждения от руководителя, и работы, по которым прогресс еще не начинался, часто смешиваются в одном списке, из-за чего пользователи часто пропускают новые задачи. Это особенно актуально для большого количества работ (когда на исполнении находится по сто и более работ).

В связи с этим, в фильтрах потоков работ необходима возможность сортировки списка таким образом, чтобы работы с прогрессом 100% находились в начале либо конце списка.

Используются:

Решение.

Во всех местах настройки фильтров потоков работ:

и их дочерних подфильтров необходимо расширить возможности сортировки работ новым пунктом Прогресс.

"Прогресс по возрастанию" сортирует работы в порядке увеличения их прогресса от 0% до 100%. Соответственно, "Прогресс по убыванию" - от 100% до 0%.

Для сортировки используется текущее значение прогресса работ. Для тех элементов потоков работ, где значение прогресса явным образом (ручным вводом, справочником, слайдером) не задается, определим значение прогресса так:

Частный случай.

Отсутствие прогресса у работы тождественно прогрессу 0%. Пример: завершили родительскую работу, дочерняя автоматически завершилась, у нее вместо прогресса отображается "-".

Рисунок 128. Сортировка по прогрессу

Сортировка по прогрессу

При обновлении системы все существующие фильтры не затронутся: в их настройках всего лишь добавится возможность нового варианта сортировки по прогрессу.

Пример использования.

Условие: наличие у Пользователя1 следующего набора работ на исполнении:

Формулировка работы Текущий прогресс работы

Работа 1

50%

Ознакомление 2

ожидание

Работа 3

90%

Работа 4

0%

Работа 5

90%

Работа 6

100% (требуется подтверждение автора)

Согласование 7

ожидание

Данный список отсортированы по дате изменения, по убыванию (т.е. новее - выше). У данных работ срок исполнения включает сегодняшний день, у остальных — не включает (работы просроченные либо будущие).

  1. Пользователь1 переходит в модуль «Потоки работ», в фильтре «На исполнении» создает новый «Подфильтр1» со следующими условиями:

    • Условие «Период» = «Сегодня», «Все»

    • «Сортировать по полю» = «Прогресс», «По возрастанию»

  2. Пользователь1 переходит в Подфильтр1, в нем отображается следующий набор работ:

Формулировка работы Текущий прогресс работы

Ознакомление 2

ожидание

Работа 4

0%

Согласование 7

ожидание

Работа 1

50%

Работа 3

90%

Работа 5

90%

Работа 6

100% (требуется подтверждение автора)

  1. Пользователь1 редактирует Подфильтр1:

    • «Сортировать по полю» = «Прогресс», «По убыванию»

  2. Пользователь1 переходит в Подфильтр1, в нем отображается следующий набор работ:

Формулировка работы Текущий прогресс работы

Работа 6

100% (требуется подтверждение автора)

Работа 3

90%

Работа 5

90%

Работа 1

50%

Ознакомление 2

ожидание

Работа 4

0%

Согласование 7

ожидание