Задача [0035]: Настройка справочника приоритетов

Формулировка проблемы: необходима возможность изменять справочник приоритетов работ.

Используется во всех местах системы, где настраиваются приоритеты работ:

Решение:

Во-первых, в раздел конфигуратора «Документооборот» -> «Настройки потоков работ» необходимо добавить новый подраздел Настройки приоритетов (после раздела «Фильтры потоков работ»).

Новый подраздел Настройки приоритетов должен содержать:

Контекстное меню всегда должно содержать пункт «Редактировать», по нажатию которого должен открыться диалог редактирования параметров приоритета.

Значения из списка нельзя удалять, только скрывать. Для этого в контекстное меню добавляется пункт «Скрыть» («Восстановить» для обратного действия). Данное действие должно быть недоступно для значения по умолчанию. Скрытое значение в таблице должно выделиться серым цветом (#b5b5b5).

Рисунок 93. Новый раздел «Настройки приоритетов» в конфигураторе

Новый раздел «Настройки приоритетов» в конфигураторе

Рисунок 94. Настройка приоритетов

Настройка приоритетов

По нажатию на кнопку «+» должно открываться модальное диалоговое окно Приоритет со следующим набором полей.

Рисунок 95. Добавление/редактирование приоритета

Добавление/редактирование приоритета

По нажатию на кнопку «Сохранить» необходимо валидировать поля диалога на предмет вышеописанных требований. Если не введены обязательные поля - ошибка Заполните все обязательные поля. Если поле номера не соответствует требованиям - ошибка Введите корректный номер. При включении флажка Использовать по умолчанию и успешном сохранении необходимо выдавать сообщение на синем фоне:

Настройки сохранены. Приоритет %название_приоритета% установлен в качестве значения по умолчанию.

При этом предыдущему значению по умолчанию необходимо выставить значение поля Значение по умолчанию в «нет».

Во-вторых, значения из настроек конфигуратора должны использоваться в следующих местах клиентской части:

Альтернативный поток 1. Работы, для которых уже был назначен приоритет, который впоследствии скрыли, сохраняют его значение и цвет до тех пор, пока работу не откроют на редактирование (он все еще должен являться значением компонента, но при этом должен отсутствовать в выпадающем списке). При попытке сохранить работу со скрытым приоритетом, необходимо выделять компонент красным цветом, не выполнять действие и выдавать ошибку:

Выбранный приоритет работы отсутствует в справочнике приоритетов. Выберите другое значение.

Альтернативный поток 2. Фильтры потоков работ, в условии которых используется приоритет, который впоследствии скрыли, сохраняют свои условия до тех пор, пока такой фильтр не откроют на редактирование, при этом он уже не будет являться значением компонента, также должен отсутствовать в выпадающем списке.

Кроме того, необходимо актуализировать метод API rest/api/settings/get, добавив в него параметр priority, который будет возвращать массив со списком настроенных приоритетов.

Действия при обновлении системы

При обновлении системы таблица настроек приоритетов должна принять следующий вид по умолчанию:

Номер Название на русском языке Название на казахском языке Название на английском языке Цвет Значение по умолчанию Идентификатор

1

Не срочно

Шұғыл емес

Nonurgent

#c0de48

Нет

0

2

Плановое

Жоспарлы

Routine

#f6f782

Да

1

3

Срочно

Тығыз

Urgent

#ef7c77

Нет

2

4

Критично

Шұғыл

Critical

#e4302f

Нет

3

Никаких других внешних изменений в системе (в т.ч. в клиентской части) произойти не должно.



[4] Аналогичный компонент используется в редакторе форм для задания цвета фона.