Формулировка проблемы: при выборе должности в
компоненте «Объекты Synergy
» с настройкой
«Отображать только вакантные должности» (см.
2.37.7088) необходима дополнительная
информация о вакансии — является ли вакансия временной или нет
(например, сотрудник на этой должности ушёл в декрет и т. п.).
Решение: Во-первых, необходимо добавить в справочник статусов пользователя (см.doc.dev) ещё одно значащее поле с кодом ёmake_vacantё и следующими возможными значениями:
0 — пользователь с таким статусом занимает штатную единицу;
1 — пользователь с таким статусом не занимает (освобождает) штатную единицу на период действия статуса.
Для пользователей без статусов или без определённого значения для
поля make_vacant
поведение считать аналогичным
таковому при значении 0
.
Во-вторых, необходимо расширить настройку, описанную в 2.37.7088 «Отображать только вакантные должности»:
Каждая должность в доступном компоненту списке должностей может отображаться в виде нескольких записей в диалоге выбора должностей (и в поисковом списке). Количество записей для одной должности определяется следующим образом:
Если для должности указано N
штатных единиц,
и на неё назначено M>=N
пользователей со
статусом, содержащим значение 0
поля
make_vacant
, то должность не отображается в
списке.
Если для должности указано N
штатных единиц,
и на неё назначено M<N
пользователей со
статусом, содержащим значение 0
поля
make_vacant
, то должность отображается
единственной записью в списке.
Если на должность назначены X
пользователей
со статусом, содержащим значение 1
поля
make_vacant
, то для каждого из
X
отображается собственная запись о должности
со следующей подписью должности: «Временная вакансия: сотрудник
Фамилия И.О.
значение_поля_state_label_статуса_сотрудника
».
Если для должности существует комбинация из двух предыдущих
вариантов, то в списке должностей отобразится одна запись без
подписи должности + X
должностей с
соответствующими подписями.
Подпись должности отображается в диалоге выбора должности, а также
попадает в label выбранной должности в следующем виде:
название_должности (подпись_должности
).
Макет дизайна: