переименование столбцов

This commit is contained in:
gorbenko.pavel
2026-08-10 15:18:00 +05:00
parent bba75b5ddd
commit 4cfb9a545d
12 changed files with 60 additions and 45 deletions
@@ -12,12 +12,18 @@ import { APPROVAL_PHASE, REQUEST_STATUS } from './models/statuses';
// Внутренние имена колонок списка согласования (создаются провижинингом).
const FIELDS = {
// Внутренние имена с префиксом группы колонок сайта (TansuSite) и «Request» —
// так они заведены в SharePoint. Из них SharePoint выводит имена managed
// properties для поиска: TansuSiteApproverOWSUSER и RequestStatusOWSCHCS
// (см. MP_APPROVER/MP_STATUS в features/myRequests/myRequests.service.ts).
// Внутренние имена с префиксом группы колонок сайта (TansuSite) там, где он
// есть, — так они заведены в SharePoint. Из них SharePoint выводит имена
// managed properties для поиска: TansuSiteApproverOWSUSER и
// ApprovalStatusOWSCHCS (см. MP_APPROVER/MP_STATUS в
// features/myRequests/myRequests.service.ts).
//
// ВАЖНО: колонка называется ApprovalStatus, а не Status и не RequestStatus —
// это статус СТРОКИ маршрута (список «— согласование»); статус ЗАЯВКИ в
// списке «— данных» лежит в отдельной колонке RequestStatus (см.
// models/statuses.ts — там оба набора значений сведены в одну картину).
approver: 'TansuSiteApprover', // «Согласующий» (User) → TansuSiteApproverId
status: 'RequestStatus', // «Статус» (Choice)
status: 'ApprovalStatus', // «Статус» (Choice) строки маршрута
ticket: 'Ticket', // «Заявка» (Lookup) → TicketId
date: 'Date', // «Дата» (DateTime)
comment: 'Comment', // «Комментарий» (Text)
@@ -127,7 +127,7 @@ export class ApproverService {
private async updateRequestStatus(id: number, status: string): Promise<void> {
await getSP().web.lists.getByTitle(this.dataListTitle).items.getById(id).update({
Status: status,
RequestStatus: status,
});
}
}
@@ -45,16 +45,21 @@ export function isEditableStatus(status: string | undefined): boolean {
// Наборов значений ДВА, и они не совпадают — это разные сущности:
//
// 1) статус ЗАЯВКИ — колонка Status в списке «… — данные». Пишется формой
// (Черновик/На согласовании) и computeRequestStatus после каждого решения.
// «Ждёт очереди»/«На исполнении»/«Выполнено» здесь не бывают: это состояния
// отдельного шага маршрута, а не заявки целиком.
// 1) статус ЗАЯВКИ — колонка RequestStatus в списке «… — данные». Пишется
// формой (Черновик/На согласовании) и computeRequestStatus после каждого
// решения. «Ждёт очереди»/«На исполнении»/«Выполнено» здесь не бывают: это
// состояния отдельного шага маршрута, а не заявки целиком.
//
// 2) статус СТРОКИ МАРШРУТА — колонка RequestStatus в списке «… — согласование».
// 2) статус СТРОКИ МАРШРУТА — колонка ApprovalStatus в списке «… — согласование».
// Пишется createSteps/activateNextQueued/setDecision. «Выполнение»/«Закрыта»
// здесь не бывают: это агрегатные состояния заявки, у отдельного шага
// смысла не имеют.
//
// Обе колонки переименованы (были Status в списке данных и RequestStatus в
// списке согласования соответственно) — переименование внутреннего имени в
// SharePoint не трогает уже сохранённые значения, отдельная миграция данных
// не нужна.
//
// Держать их в синхроне с forms/*/provisioning.json и forms/*/approval/provisioning.json.
export const REQUEST_STATUS_CHOICES: string[] = [
REQUEST_STATUS.draft,