Обзор

Три веб-части Vitextra Absence & Coverage — My Absences, Team Absence Calendar и Substitutions — хранят все свои данные в шести стандартных списках SharePoint на одном сайте — сайте продукта. Этот сайт принадлежит вашему собственному тенанту Microsoft 365, поэтому заявки на отсутствие, остатки и замещения не покидают его: никакой внешний сервис их не хранит. Единственное обращение к внешнему сервису — проверка лицензии.

Статья — справочник для администраторов, сотрудников HR и владельцев сайтов: какие списки существуют, что хранит каждый из них, что означают важные столбцы, кто должен редактировать какой список и какие правила сохраняют данные в целости.


Шесть списков кратко

Списки создаются автоматически, когда сайт выбирается впервые (см. KB10324. Как добавить веб-части Absence & Coverage на страницу и выбрать сайт). Это обычные настраиваемые списки, которых нет в навигации сайта, поэтому открывайте их через Содержимое сайта.

СписокЧто хранитНужен веб-частямКто редактирует
AbsenceTypesКаталог типов отсутствий: название, цвет, согласование, конфиденциальность, полдня, годовой лимитДаHR или владелец сайта, прямо в списке
AbsencesОдна строка на заявку на отсутствие: статус, согласующий и число рабочих днейДаСотрудники и согласующие, через веб-части
SubstitutionsОдна строка на замещение: временное или передача обязанностейДаСотрудники и руководители, через веб-части
BalancesГодовой лимит и дни переноса по сотруднику и типу отсутствияНеобязателенHR, прямо в списке
HolidaysГосударственные и корпоративные праздники, которые не считаются рабочими днямиНеобязателенHR, прямо в списке
SettingsНастройки продукта в виде пар «ключ — значение»НеобязателенВладелец сайта, прямо в списке

Если списка Balances, Holidays или Settings нет или он пуст, веб-части используют значения по умолчанию и продолжают работать. Если нет одного из трёх обязательных списков, веб-части не могут загрузить свои данные.

📝 Заметка
Если на сайте уже есть список с таким же именем, продукт использует его и не перезаписывает и не исправляет. Столбцы добавляются только при создании списка, поэтому список, созданный вручную с недостающими столбцами, остаётся неполным.

Шесть списков сайта продукта на странице «Содержимое сайта»

Шесть списков сайта продукта на странице «Содержимое сайта»

Список Absences

Каждая заявка, созданная в My Absences, становится одной строкой. Сотрудники изменяют её только через веб-части.

СтолбецЧто содержит
TitleЧитаемая подпись из имени сотрудника и типа отсутствия
EmployeeСотрудник (поле «Пользователь»). My Absences не использует этот столбец для поиска «моих заявок»
EmployeeEmailАдрес электронной почты сотрудника в виде текста. По этому столбцу веб-части ищут записи, поэтому он должен оставаться заполненным
TypeIdИдентификатор элемента типа отсутствия в списке AbsenceTypes
TypeNameКопия названия типа, сделанная в момент отправки заявки
StartDate, EndDateПервый и последний день (только дата)
StartHalf, EndHalfДа/Нет: первый или последний день считается за полдня
WorkingDaysЧисло рабочих дней, подсчитанное в момент отправки заявки
AbsenceStatusPending, Approved, Rejected или Cancelled
ApproverЧеловек, который принимает решение по заявке
SubstituteЗамещающий, указанный в заявке, если он есть
RequestCommentКомментарий сотрудника
DecisionComment, DecisionDateОтвет согласующего и дата решения

Список Substitutions

СтолбецЧто содержит
TitleЧитаемая подпись «отсутствующий → замещающий»
AbsentUser, SubstituteОтсутствующий сотрудник и тот, кто его замещает
StartDate, EndDateПериод; дату окончания при передаче обязанностей можно не заполнять
KindTemporary или Handover
SubstitutionStatusPending, Accepted, Declined или Cancelled
ScopeТекст обязанностей (в веб-части называется «Обязанности»)
AbsenceIdИдентификатор связанной заявки; 0 для замещения, не привязанного к заявке

Столбцы трёх справочных списков описаны в статьях о том, как их вести: AbsenceTypes — в KB10352. Как добавить и настроить типы отсутствий, Balances — в KB10353. Как задать годовые лимиты и дни переноса, Holidays — в KB10354. Как добавить праздничные дни, а ключи Settings — в KB10355. Как задать рабочую неделю, KB10356. Как задать запасного согласующего и KB10357. Как разрешить отрицательные остатки.

Список Absences с несколькими заявками

Список Absences с несколькими заявками

Кто что редактирует

  • Списки Absences и Substitutions заполняют веб-части с правами вошедшего пользователя. Создание, согласование, отклонение, отмена, принятие и отказ — всё это делается в My Absences и Substitutions. Не редактируйте эти строки в представлении списка; см. KB10358. Почему отсутствия нужно редактировать в веб-частях, а не в представлении списка.
  • AbsenceTypes, Balances, Holidays и Settings — справочные данные. В этой версии нет веб-части администрирования, поэтому HR или владелец сайта редактируют их прямо в списках.

Права доступа и расположение данных

Каждому сотруднику, который пользуется веб-частями, нужен доступ уровня Member (edit) к сайту продукта, потому что веб-части читают и пишут списки с собственными правами вошедшего пользователя. Разрешение Microsoft Graph User.Read.All, которое администратор тенанта одобряет один раз, используется только для данных о людях — профиля, руководителя, подчинённых и фотографий, — но не для списков.

❗ Важно
Все, у кого есть право редактирования сайта, могут открыть списки и прочитать строки, в том числе строки типов отсутствий, помеченных как частные. Правило конфиденциальности календаря скрывает подробности только в веб-частях; разрешения на уровне элементов в этой версии не предусмотрены. Если важна строгая конфиденциальность, ограничьте круг лиц, имеющих доступ к сайту продукта. См. KB10345. Приватные типы отсутствий: что коллеги видят в календаре.


Сохраняйте внутренние имена

Веб-части читают и записывают столбцы по их внутренним именам — тем, что указаны в таблицах выше. Поэтому:

  • не переименовывайте и не удаляйте эти столбцы, не меняйте их тип и не переименовывайте сами списки;
  • можно добавлять собственные столбцы — веб-части их игнорируют, — но не делайте их обязательными: веб-части создают строки без них, и SharePoint отклонит такие строки;
  • можно расширять варианты выбора собственных столбцов, но не столбцов Category, AbsenceStatus, Kind и SubstitutionStatus, значения которых интерпретирует продукт.

💡 Совет
Прежде чем что-либо менять в списке, экспортируйте его или сделайте копию сайта. Чтобы понять, как списки работают вместе, прочитайте KB10350. Как заявки на отсутствие и замещения работают вместе.


Лимиты чтения

Веб-части загружают за один запрос ограниченное число строк. При обычной работе эти лимиты намного выше потребностей компании, но о них полезно знать в крупных установках.

ДанныеЛимит
Типы отсутствий200
Строки остатков одного сотрудника за один год200
Праздники в запрошенном периоде500
Строки настроек100
Собственные заявки в My Absences500
Заявки в окне календаря2000
Заявки, ожидающие согласования200

Рекомендуемые статьи

Как указать замещающего при запросе отпуска

Как выбрать замещающего в заявке на отсутствие в веб-части My Absences из Vitextra: когда создаётся замещение, почему коллега должен его подтвердить, что происходит при отклонении или отмене заявки и чем это отличается от назначения замещающего в веб-части Substitutions.

18 4 мин
Query Builder в List Filter Online: условия, группы и CAML-запрос, который за ними стоит

Справочник по конструктору запросов (Query Builder) веб-части Vitextra List Filter Online: где его найти, как работают условия и группы И/ИЛИ, какие операторы доступны для каждого типа столбца, как вычисляются динамические условия «Текущий пользователь» и «Последние X Лет», как предустановленный фильтр сочетается с фильтрами пользователя и как посмотреть сгенерированный CAML-запрос.

46 9 мин
List Filter Online: обзор решения

Что такое веб-часть Vitextra List Filter Online и что она предлагает: фильтруемое представление любого списка или библиотеки SharePoint Online с настраиваемой областью фильтра, конструктором запросов для администратора, форматами столбцов, группировкой и итогами, папками, сохранёнными фильтрами и ссылками на фильтр, каскадными фильтрами, экспортом в Excel и командой «Открыть в List Filter».

47 7 мин

Поделиться