diff --git a/src/webparts/ctFormsPortal/forms/ct/services/CtService.ts b/src/webparts/ctFormsPortal/forms/ct/services/CtService.ts index 2329851..6297d79 100644 --- a/src/webparts/ctFormsPortal/forms/ct/services/CtService.ts +++ b/src/webparts/ctFormsPortal/forms/ct/services/CtService.ts @@ -577,6 +577,9 @@ export class CtService { for (const m of chain) { if (!m.spApprovalId) continue; const status = m.role === "Инициатор" ? "Рекомендую" : "На согласовании"; + // Пишем order0 = позиция участника у инициатора. Удаление/добавление согласующих + // пересчитывает порядок только локально; здесь фиксируем его в SP, иначе согласующий + // при свежей загрузке (сортировка по order0) увидит другой порядок и не ту очередь. const res = await this.http.fetch( this._liById(LISTS.APPROVAL_CHAIN, m.spApprovalId), SPHttpClient.configurations.v1, @@ -587,7 +590,7 @@ export class CtService { "IF-MATCH": "*", "X-HTTP-Method": "MERGE", }, - body: JSON.stringify({ status }), + body: JSON.stringify({ status, order0: m.order, Title: String(m.order) }), }, ); if (!res.ok)