Files
request-portal/src/webparts/requestPortal/forms/Ticket1C
gorbenko.pavel cc2efd8771
Tests / frontend-test (push) Successful in 1m15s
Заявка на услуги (#18)
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/18
2026-09-01 12:48:41 +00:00
..
2026-08-13 04:45:02 +00:00
2026-08-11 10:39:04 +05:00
2026-08-11 10:39:04 +05:00
2026-08-11 10:39:04 +05:00
2026-08-19 09:07:53 +00:00
2026-08-17 13:19:43 +05:00
2026-08-11 10:39:04 +05:00

Заявка в отдел 1С (it-1c-ticket)

Назначение: тикет в отдел 1С — доработки, доступы, ошибки, блокировки. Категория: IT Списки SP: «Заявка в отдел 1С — данные» / «Заявка в отдел 1С — согласование» RequestTypeId (внешний API маршрутов): 10

Маршрут

  • Фазы: только согласование. Отдельной фазы исполнения нет — после того как согласование пройдено (или если для вида работ оно не требуется), заявка сразу уходит не исполнителю из матрицы, а в Microsoft Planner (см. «Особое поведение»).
  • Особенности: маршрут условный — набор шагов зависит от поля «Виды работ» (WorkType), которое передаётся в resolveRoute/getPlannedMatrix через параметр fieldValues: [{ fieldName: 'WorkType', value: data.WorkType }] (см. IResolveFieldValue в shared/approval/models/IApprovalRouteApi.ts). Для части видов работ маршрут пуст — согласование не требуется вовсе.
  • Матрица нередактируема заявителем (в отличие от WorkplaceSetup/RecruitingHire): раз маршрут однозначно определён видом работ, у заявителя нет ни UserPicker'а, ни кнопок добавить/удалить/переставить шаг — useMatrixEditor вызывается с editable=false даже в форме подачи, не только в просмотре. Если шаг маршрута не разрешился в конкретного человека — отправка блокируется с просьбой обратиться к администратору маршрутов (сам заявитель это не чинит).

Особое поведение

  • Контакты заявителя предзаполняются через Microsoft Graph (/me): ФИО, email, телефон, отдел, должность — единственная форма портала, которая это делает (services/profile.service.ts, только для новой заявки, при ошибке Graph — просто остаётся пусто, без ошибки формы).
  • Planner вместо фазы исполнения. Когда маршрут согласования полностью пройден (или изначально пуст) — Ticket1CForm/Ticket1CView создают карточку в Microsoft Planner через services/plannerTicket.service.ts (api.tnsu.kz/Planner/CreateTask): рабочий бакет — при согласовании, отдельный бакет «Отклонённые» — при отклонении (с указанием, кто отклонил и по какой причине). Id созданной карточки сохраняется в колонку PlannerTaskId — это защита от повторного создания карточки, если решение применяется из нескольких вкладок/сессий одновременно.
  • Ошибку резолва маршрута (например, если в админке маршрутов ещё не настроен маршрут для этого вида работ) форма не путает с «согласование не требуется» — отправка блокируется с понятным сообщением, а не молча уходит в Planner в обход согласования.
  • Условные шаги маршрута в SharePoint-списке согласования не хранятся отдельно — это функциональность внешнего approval-route API (настраивается в его собственной админке, вне этого репозитория).

Секции формы

RequestSection · ContactSection

Точки входа

  • rptype: it-1c-ticket
  • Режим согласующего (просмотр): есть (Ticket1CView)
  • «Создать на основе»: нет