Хук, который грузит маршрут согласования отдельно по фазам «Согласование»
и «Исполнение», был в папке «Объяснительной по СКУД». Он понадобился и
заявке на командировку, поэтому перенесён в shared/approval под общим
именем. Поведение СКУД не меняется — поменялись только импорты.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
canEditExecutors: те же люди, что в canEditRoute (в т.ч. gorbenko.pavel), могут править
матрицу «Исполнение» во всех формах с фазой исполнения; блок виден им и пустым.
Остальным исполнители по-прежнему только для чтения. Реестр особых прав обновлён.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Общие useFormExecutors/useViewExecutors и ExecutorsMatrix вместо копирования
в каждой форме. Подключены в формах без фазы исполнения: ConcreteRequest,
Dismissal, EmployeeTransfer, ServiceRequest, Ticket1C, UnpaidLeave, Vacation.
Исполнители теперь пишутся в маршрут при подаче; таблица согласующих
грузит только фазу согласования, чтобы не смешиваться с исполнением.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Редактор маршрута (canEditRoute) теперь может удалить любого согласующего при подаче или
правке заявки во всех формах с маршрутом согласования, а не только в трёх рекрутинговых.
В список редакторов добавлен Павел Горбенко. Реестр особых прав обновлён.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
При доработке и повторной отправке writeRoute раньше удалял все строки
маршрута и создавал заново — кто вернул или отклонил заявку и с каким
комментарием, терялось. Теперь маршрут пересохраняется патчем
(planRoutePatch + ApprovalListService.patchSteps): строки, что остаются в
маршруте, обновляются на месте, и их прошлые решения лежат в истории
версий; недостающие шаги создаются, выпавшие и строки делегатов уходят в
корзину. Всё одним пакетом. Проверено пилотами на увольнении и рабочем
месте (обе фазы, уход в корзину). Аварийный откат для всех форм —
ROUTE_PATCH_ENABLED = false.
Из версий строк маршрута и заявки собирается лента «История
согласования» (shared/approval/history): отправки, решения с
комментариями и временем на шаге, делегирование, замена исполнителя,
у кого заявка сейчас. Свёрнутый раздел в карточке и в форме доработки
всех форм, грузится только при раскрытии.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Печать доступна только после согласования (Отдел рекрутинга); выбор
организации и логотип-шапка для форм с несколькими юрлицами
- «СЗ на перемещение ТМЦ»: заявителя можно выбрать (подача за другого),
маршрут резолвится на выбранного
- «Реферальная рекомендация»: организация вакансии (мультивыбор) и
подразделение/проект вакансии
- Поле «Подразделение» (справочник) — Vacation, UnpaidLeave, Clearance,
WorkplaceSetup, RecruitingHire, RecruitingSelection, TmcTransfer
- Поле «Проект» — Vacation, UnpaidLeave, Clearance