Формулировка проблемы: нужен внешний модуль-компонент, который будет встраиваться в диалоги создания работы/проекта документа (как поле), получать от этого диалога информацию о выбранном сроке/пользователе, и если какой-либо пользователь перегружен в это время, выдавать предупреждение.
Связанные задачи: 0195
Решение: необходимо реализовать пользовательский компонент, который будет встраиваться при помощи ВМК в следующие места размещения:
Стандартный диалог создания работы:
BPM/Workflow/Create/Standard
Кастомные диалоги создания работы (Диалоги создания → Работа, все шаги):
BPM/Workflow/Create/Custom/Work
с типом вставки ADD
.
Компонент должен обрабатывать все изменения в компонентах типа
«Выбор пользователя» в окружающем его диалоге создания и запрашивать
для каждого выбранного пользователя его нагрузку (метод API
rest/person/workload
, см.
0195). Если значение нагрузки
пользователя на текущую дату >= 100, то компонент последней
строчкой в диалоге должен выводить предупреждение со следующим
текстом:
Внимание! Пользователь выбранное-значение перегружен.
Если пользователей с нагрузкой >= 100 выбрано несколько, текст предупреждения должен быть таким:
Внимание! Пользователи выбранное-значение-1, выбранное-значение-2, ..., выбранное-значение-n перегружены.
Если количество перегруженных пользователей составляет более 10, то текст предупреждения должен быть таким:
Внимание! Пользователи выбранное-значение-1, выбранное-значение-2, ..., выбранное-значение-10 и ещё M перегружены.
где M
=
общее количество перегруженных пользователей
-
10
.
Свойства предупреждения:
Шрифт: arial, tahoma, sans-serif
Размер: 10pt
Цвет: #ff0000
Отступ сверху: 16px
Отступ снизу: 16px
Если пользователи с перегрузкой удалены из компонентов выбора, предупреждение должно быть убрано, а диалог - вернуться к своему первоначальному виду.
HTML и JavaScript-код компонента должен снабжён комментариями для облегчения его дальнейшей модификации силами ЦР.