Files
request-portal/src/webparts/requestPortal/forms/RecruitingHire
..

Заявка на прием (recruiting-hire)

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

Маршрут

  • Фазы: согласование + исполнение.
  • Исполнители подтягиваются из Execution-маршрута; если их нет — заявка финиширует на «Согласовано» (блок «Исполнение» не показывается).

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

  • Маска телефона (PhoneInput) на поле «Телефон».
  • Разделитель тысяч (MoneyInput) на окладах (испытательный срок / после).
  • Мультивыбор компаний (Companies) — справочник GET /Dictionary/Companies (CompanyPickerMulti), хранится JSON-массивом {Id,Name} в Note-колонке CompaniesJson.
  • График работы (WorkSchedule) — выпадающий список (набор совпадает с «Заявкой на подбор»); при выборе «Другое» появляется ручной ввод WorkScheduleOther.
  • Испытательный срок (ProbationPeriod) — выпадающий список частых сроков.
  • Рекрутинговое агентство (условный блок, последняя секция) — Toggle RecruitingAgency; при включении показываются «Название компании» (AgencyName) и «Условия» (AgencyTerms), при выключении оба поля очищаются.
  • Условное поле «Взамен кого» (ReplacedEmployee) — показывается только когда тип приёма = замена уволенного (см. HIRE_TYPE_REPLACEMENT в модели).
  • Секция СИЗ (рост, размеры одежды/обуви).
  • Является источником для «Организация рабочего места» — из просмотра этой заявки кнопка «Организация рабочего места на основе этой» открывает форму it-workplace-setup с префиллом (rpsource = id этой заявки).
  • Связь с «Заявкой на подбор» (SelectionRequest*) — необязательное поле в секции «Заявка»: поиск-выбор согласованной заявки на подбор (SelectionRequestField
    • selectionLookup.ts, только статус «Согласовано», ищет по всем партициям серии). Связь хранится тройкой полей SelectionRequestId / SelectionRequestListId / SelectionRequestCode, а НЕ нативным Lookup — списки партиционированы. В форме и в просмотре показывается ссылкой «№ код ↗», которая открывает RecruitingSelectionView в новой вкладке (deep-link через routeUrl, rptype=recruiting-selection, rpid/rplist из сохранённых полей).
  • Вложения по категориям — три зоны загрузки: «Удостоверение», «Резюме» и «Прочие вложения» (в каждую можно несколько файлов). Вложения SP плоские, поэтому категория кодируется префиксом в имени файла «<Категория> — <имя>» (attachmentCategories.ts); при показе группируются и префикс срезается. «Прочие» грузятся БЕЗ префикса — это та же «незакатегоризированная» корзина, куда же попадают и старые файлы, загруженные до разделения (не исчезают).
  • Печать — общий механизм (без «Вложений»).

Секции формы

ApplicationSection · CandidateSection · PpeSection · ConditionsSection · AgencySection

Точки входа

  • rptype: recruiting-hire
  • Режим согласующего (просмотр): есть (RecruitingHireView)
  • «Создать на основе»: эта заявка → источник для it-workplace-setup