feat: этап исполнения в заявке 1С (исполнитель из маршрута + Planner)
Tests / frontend-test (push) Successful in 1m20s

В маршруте №8 есть шаг «Исполнение», но форма 1С запрашивала только
согласование и записывала пустой список исполнителей: после согласования
заявка навсегда оставалась «Согласовано», без исполнителя и даты исполнения.
Теперь исполнитель берётся из маршрута с теми же условиями, заявка идёт
«Выполнение» → «Закрыта», а карточка Planner создаётся при переходе в
исполнение (в т.ч. сразу при отправке, если согласование не требуется).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Тимур Городецкий
2026-10-02 10:09:04 +05:00
parent 4c851b4892
commit 4c8410bdcc
8 changed files with 247 additions and 112 deletions
@@ -241,8 +241,8 @@ export class ApproverService {
// 2) согласование завершено: нет исполнителей → «Согласовано» (финал);
// исполнители есть и не все выполнили → «Выполнение»;
// все выполнили → «Закрыта».
// Строка «выполнена» исполнителем помечается тем же статусом «Согласовано»
// (действие «Выполнено» в DecisionPanel), фазы различаются колонкой Phase.
// Строка исполнителя после действия «Выполнено» (DecisionPanel) получает
// статус «Выполнено»; фазы различаются колонкой Phase.
private computeRequestStatus(rows: IApprovalRow[]): string {
const execRows = rows.filter((r) => r.phase === APPROVAL_PHASE.execution);
const approvalRows = rows.filter((r) => r.phase !== APPROVAL_PHASE.execution);