fix: в колонке «Автор» только создатель заявки
В «Все заявки», «Моих заявках» и «Поиске» ФИО бралось из поискового свойства Author, где SharePoint перечисляет через «;» всех, кто правил элемент. У заявки, которую поправил согласующий, в «Авторе» оказывалось «Инициатор;Согласующий». Теперь ФИО берётся из AuthorOWSUSER — того же поля «Создано», откуда и почта. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -101,9 +101,9 @@ const MP_CODE = 'RequestUniqueCodeOWSTEXT';
|
|||||||
// (см. комментарий у MP_REQUEST_STATUS), пришлось перепроверять отдельно на
|
// (см. комментарий у MP_REQUEST_STATUS), пришлось перепроверять отдельно на
|
||||||
// то, что значение вообще приходит в ответе. Пришло — все поля, что нужны для
|
// то, что значение вообще приходит в ответе. Пришло — все поля, что нужны для
|
||||||
// строки таблицы «Мои заявки» (title/created — стандартные MP 'Title'/'Created',
|
// строки таблицы «Мои заявки» (title/created — стандартные MP 'Title'/'Created',
|
||||||
// их так же безусловно отдаёт любой список). 'Author' (без суффикса) отдаёт
|
// их так же безусловно отдаёт любой список). 'Author' (без суффикса) — только
|
||||||
// готовое отображаемое имя — короче и надёжнее выковыривать его из
|
// запасной источник ФИО: в нём через «;» все, кто правил элемент, а не один
|
||||||
// MP_AUTHOR/parseAuthorOwsUser, там он нужен только ради почты.
|
// создатель (см. toMyRequestFromSearch); основной — MP_AUTHOR/parseAuthorOwsUser.
|
||||||
const OWN_SELECT_PROPERTIES = ['ListItemID', 'Path', 'Title', 'Created', 'Author', MP_AUTHOR, MP_REQUEST_STATUS, MP_CODE];
|
const OWN_SELECT_PROPERTIES = ['ListItemID', 'Path', 'Title', 'Created', 'Author', MP_AUTHOR, MP_REQUEST_STATUS, MP_CODE];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1176,9 +1176,12 @@ function toMyRequestFromSearch(entry: ISearchEntry, kind: 'own' | 'other' = 'own
|
|||||||
title: (r.Title as string) || '',
|
title: (r.Title as string) || '',
|
||||||
status: (r[MP_REQUEST_STATUS] as string) || '',
|
status: (r[MP_REQUEST_STATUS] as string) || '',
|
||||||
authorEmail: author.email,
|
authorEmail: author.email,
|
||||||
// 'Author' без суффикса — готовое отображаемое имя (см. OWN_SELECT_PROPERTIES);
|
// ФИО — из MP_AUTHOR, того же поля «Создано», откуда и почта. Встроенное
|
||||||
// из MP_AUTHOR парсим только как запасной вариант, если 'Author' пуст.
|
// свойство 'Author' НЕ годится основным источником: Search собирает в нём
|
||||||
authorName: ((r.Author as string) || author.name || '').trim(),
|
// через «;» всех, кто правил элемент, и у заявки, которую поправил
|
||||||
|
// согласующий, в колонке «Автор» оказывалось «Инициатор;Согласующий».
|
||||||
|
// 'Author' — только запасной вариант, и из него берём первое имя.
|
||||||
|
authorName: (author.name || ((r.Author as string) || '').split(';')[0] || '').trim(),
|
||||||
created: (r.Created as string) || '',
|
created: (r.Created as string) || '',
|
||||||
requestTypeId: entry.type.id,
|
requestTypeId: entry.type.id,
|
||||||
requestTypeName: entry.type.name,
|
requestTypeName: entry.type.name,
|
||||||
|
|||||||
Reference in New Issue
Block a user