Формулировка проблемы: дальнейшая реализация функциональности «Приказы отдела кадров».
Решение: необходимо реализовать новую сущность — статус пользователя, который определяется значением статуса и периодом его действия. Значение статуса по умолчанию — пустое, с бессрочным периодом (= без периода). Другие значения, которые может принимать статус пользователя, определяется справочником «Статусы пользователей» (с помощью имеющейся функциональности «Справочники»). Поля справочника:
Название статуса — строка с поддержкой локализации (пример: «Отпуск»);
Текст статуса для отображения — строка с поддержкой локализации (пример: «В отпуске»). Также в этом тексте должны обрабатываться следующие подстановки:
${date.start}
— заменяется на дату начала
действия статуса;
${date.finish}
— заменяется на дату
окончания действия статуса;
Тип периода — рабочий/нерабочий (пока никак не обрабатывается, зарезервировано для использования в дальнейшем);
Цвет статуса — используется при отображении статуса в интерфейсе, может быть пустым, задаётся в виде HTML-кода цвета;
После окончания периода действия статуса его значение вновь становится по умолчанию.
Кроме этого, для реестров необходимо реализовать процесс действия «Установка статуса», который может устанавливать значение статуса в одно из справочных значений. Этот процесс извлекает из формы следующие данные:
Учётная запись пользователя;
Дата начала действия статуса;
Дата окончания действия статуса;
Процесс также имеет одну собственную настройку — значение из справочника «Статусы пользователей», которое требуется установить.
Текст статуса и дата окончания его действия отображается в профиле пользователя и в интерфейсе отдела кадров: