Манифесты провижининга разошлись с живыми списками и кодом #2

Open
opened 2026-10-27 06:23:20 +00:00 by timur.gorodetskiy · 0 comments
Owner

Источник

  • Кто: Тимур (найдено при работе над #1)
  • Когда: 2026-10-27
  • Где: сам нашёл; полная сверка манифестов с живыми списками /sites/sed — 2026-10-27 (только чтение)

Суть

Манифесты provisioning/manifests снимались с живых списков, но с тех пор колонки добавлялись руками и кодом. Если пересоздать списки по манифестам (тест, новый сайт), часть функций сломается.

1. Код пишет колонки, которых нет в манифестах — пересоздание сломает функции

  • СТ, «Позиции СТ»: requestPositionId (Text) — связь позиции СТ с потребностью (шаг 1)
  • СТ, «Оценка поставщиков»: offerFileId (Number) — файл КП колонки, список КП у согласующего
  • СТ, «Поставщики»: address, contactPerson, contactInfo (Note), email, website (Text) — контакты из «Базы данных поставщиков»
  • ОИД, «Позиции СТ ОИД»: RequestCode, RequestUrl (Text) — заявка-источник позиции

п.1 дописан в манифесты 2026-10-27. Остальное (п.2–5) — генеральная чистка после выпуска рабочей версии, которой начнут пользоваться (решение Тимура, 2026-10-27).

2. Варианты Choice: в манифесте есть, в живом нет

SP REST принимает значения вне списка вариантов, поэтому код работает, но фильтры и представления SP этих значений «не знают».

  • «Согласование СТ» / «… ОИД»: status без «Ждёт очереди» (код пишет его при отправке на согласование, shared/approval/models/statuses.ts)
  • «Согласование СТ КПС»: status без «Черновик», «Ждёт очереди», «Отклонено» (в данных уже есть «Отклонено», «Рекомендую»)
  • «Сравнительная таблица ОИД»: status без «Отклонено» (в данных 18 шт.), а «Сформирована» (13 шт.) нет ни в живом, ни в манифесте

3. Лишние колонки не на своих списках (код их не использует)

  • «Позиции СТ КПС» и «Позиции СТ ОИД»: delegatedBy, allowReassign — поля согласования, видимо созданы не на том списке
  • «Согласование СТ» и «… ОИД»: allowReassign — код использует canAddApprover / canAddAproover

4. Не расхождение, а странность модели

  • «Оценка поставщиков ОИД»: лукап offer и в живом списке смотрит на «Коммерческие предложения» (библиотека СТ), а не «… ОИД». Манифест верен — проверить, как ОИД пишет КП.

5. Экспорт

  • sources.json снимает схему КПС со старого /sites/kps — перевести на /sites/sed, иначе повторный экспорт потеряет «Исключённые предложения КПС» и колонки из п.1.

Как проверить

Повторная сверка provisioning/Compare-Manifests.ps1 не показывает расхождений из п.1–3.

## Источник - Кто: Тимур (найдено при работе над #1) - Когда: 2026-10-27 - Где: сам нашёл; полная сверка манифестов с живыми списками `/sites/sed` — 2026-10-27 (только чтение) ## Суть Манифесты `provisioning/manifests` снимались с живых списков, но с тех пор колонки добавлялись руками и кодом. Если пересоздать списки по манифестам (тест, новый сайт), часть функций сломается. ### 1. Код пишет колонки, которых нет в манифестах — пересоздание сломает функции - [x] СТ, «Позиции СТ»: `requestPositionId` (Text) — связь позиции СТ с потребностью (шаг 1) - [x] СТ, «Оценка поставщиков»: `offerFileId` (Number) — файл КП колонки, список КП у согласующего - [x] СТ, «Поставщики»: `address`, `contactPerson`, `contactInfo` (Note), `email`, `website` (Text) — контакты из «Базы данных поставщиков» - [x] ОИД, «Позиции СТ ОИД»: `RequestCode`, `RequestUrl` (Text) — заявка-источник позиции > п.1 дописан в манифесты 2026-10-27. Остальное (п.2–5) — генеральная чистка **после выпуска рабочей версии**, которой начнут пользоваться (решение Тимура, 2026-10-27). ### 2. Варианты Choice: в манифесте есть, в живом нет SP REST принимает значения вне списка вариантов, поэтому код работает, но фильтры и представления SP этих значений «не знают». - [ ] «Согласование СТ» / «… ОИД»: `status` без «Ждёт очереди» (код пишет его при отправке на согласование, `shared/approval/models/statuses.ts`) - [ ] «Согласование СТ КПС»: `status` без «Черновик», «Ждёт очереди», «Отклонено» (в данных уже есть «Отклонено», «Рекомендую») - [ ] «Сравнительная таблица ОИД»: `status` без «Отклонено» (в данных 18 шт.), а «Сформирована» (13 шт.) нет ни в живом, ни в манифесте ### 3. Лишние колонки не на своих списках (код их не использует) - [ ] «Позиции СТ КПС» и «Позиции СТ ОИД»: `delegatedBy`, `allowReassign` — поля согласования, видимо созданы не на том списке - [ ] «Согласование СТ» и «… ОИД»: `allowReassign` — код использует `canAddApprover` / `canAddAproover` ### 4. Не расхождение, а странность модели - [ ] «Оценка поставщиков ОИД»: лукап `offer` и в живом списке смотрит на «Коммерческие предложения» (библиотека **СТ**), а не «… ОИД». Манифест верен — проверить, как ОИД пишет КП. ### 5. Экспорт - [ ] `sources.json` снимает схему КПС со старого `/sites/kps` — перевести на `/sites/sed`, иначе повторный экспорт потеряет «Исключённые предложения КПС» и колонки из п.1. ## Как проверить Повторная сверка `provisioning/Compare-Manifests.ps1` не показывает расхождений из п.1–3.
Sign in to join this conversation.