bed190835e
Когда последний согласующий согласовывает заявку на отпуск, заявление собирается в браузере как DOCX и отправляется в ЭДО (POST /api/v1/integration/signing-requests). Подписывает сотрудник из заявки, его же почта передаётся как initiator_email. ИИН берётся из Employee/ByEmail, БИН компании — из Dictionary/Companies. Неудача отправки не отменяет согласование и показывается сообщением с кнопкой повтора. Свойство веб-части «С каким ЭДО работать»: стейдж (https://10.0.1.225:8443) или локальный бэкенд (https://localhost:7016). jszip объявлен зависимостью явно (раньше был транзитивным). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
20 lines
1000 B
TypeScript
20 lines
1000 B
TypeScript
/** Ф.И.О. по частям — так их принимает ЭДО. */
|
|
export interface IFioParts {
|
|
lastName: string;
|
|
firstName: string;
|
|
middleName: string;
|
|
}
|
|
|
|
/**
|
|
* «Иванов Иван Иванович» → фамилия, имя, отчество. Справочник отдаёт ФИО одной строкой.
|
|
* Два слова — отчества нет; больше трёх (например, «оглы», двойные фамилии) — всё после
|
|
* имени уходит в отчество, чтобы ничего не потерять. Одно слово → ничего не определить:
|
|
* ЭДО требует и фамилию, и имя.
|
|
*/
|
|
export function splitFio(fio: string): IFioParts | undefined {
|
|
const words = (fio || '').split(/\s+/).filter((w) => w.length > 0);
|
|
if (words.length < 2) return undefined;
|
|
const [lastName, firstName, ...rest] = words;
|
|
return { lastName, firstName, middleName: rest.join(' ') };
|
|
}
|