Режим посещения офиса и норма посещения
Режим посещения офиса — настройка в карточке сотрудника, которая говорит, как он работает: из офиса, удалённо, смешанно или по свободному графику. От неё зависят счётчик на странице расписания, блок контроля нормы в аналитике и два отдельных отчёта. Эта статья — о том, какие бывают режимы, откуда берётся норма посещения, как задать её сразу всем через CSV и по каким формулам она считается.

Четыре режима работы
Режим работы описывает, как сотрудник распределяет неделю между офисом и удалённой работой. Режимов четыре, и у каждого своя норма посещения офиса.
| Режим | Норма посещения | Для кого |
|---|---|---|
| «Свободный» | не задана | Сотрудник сам решает, когда приходить. Норма не считается, контроль по ней не ведётся |
| «Удаленный» | 0 % | Работает вне офиса постоянно |
| «Гибридный» | от 1 до 99 % | Часть недели в офисе, часть вне его. Долю задаёт администратор |
| «Офисный» | 100 % | Работает из офиса все рабочие дни |
Режим — это способ прочитать одно число. Хранится только процент посещения офиса, а название режима вычисляется из него при каждом сохранении: пусто — «Свободный», ноль — «Удаленный», сто — «Офисный», всё, что между, — «Гибридный». Поэтому отдельно «поменять режим, не трогая процент» невозможно: это одно и то же действие.
Где задаётся
Основное место — карточка сотрудника: «Администрирование» → «Управление персоналом» → «Сотрудники», карточка сотрудника, блок «Режим работы».
- Выберите один из четырёх режимов.
- Для «Гибридного» укажите значение в поле «Процент посещения, %» — допустимы значения от 1 до 99.
- Под полем показывается пересчёт: «Ожидаемое количество дней в офисе:» и далее «в неделю: …» и «в месяц: …».
- Сохраните карточку.
Второе место — окно «Рабочий график сотрудника» на странице «Рабочий график»: блок «Режим работы» там тот же самый, и правится он вместе с шаблоном сотрудника.
В своём профиле режим работы виден, но недоступен для изменения — сотрудник не может назначить норму себе сам.
| Роль | Может ли менять режим и норму |
|---|---|
| Владелец | Любому сотруднику |
| Администратор пользователей | Любому сотруднику |
| Руководитель | Только своим подчинённым |
| Сотрудник | Нет — поле только для чтения |
Подсказка «X из 5 рабочих дней» и «X из 22 рабочих дней» под полем считается по круглым числам — пяти дням в неделе и двадцати двум в месяце. Фактическая норма считается по реальному календарю за вычетом нерабочих дней, поэтому число в подсказке и число в счётчике на странице расписания могут отличаться. Ориентироваться следует на счётчик.
Массовая простановка через CSV
Норму посещения можно задать сразу всем сотрудникам через файл импорта пользователей. За неё отвечает колонка «Office attendance rate, %» в шаблоне CSV.
| Значение в ячейке | Результат |
|---|---|
| Целое число от 0 до 100 | Записывается как норма, режим пересчитывается автоматически |
| Число со знаком процента, например 50 % | Знак отбрасывается, значение записывается |
| Дробное число | Округляется до целого |
| Число вне диапазона 0–100 | Норма очищается, режим становится «Свободный» |
| Нечисловое значение | Норма очищается, режим становится «Свободный» |
| Пустая ячейка | Норма очищается, режим становится «Свободный» |
⚠️ Три последние строки этой таблицы — самая частая причина потери настройки. Пустая или неразобранная ячейка не пропускается, а стирает норму, и в таблицу ошибок импорта такая строка не попадает: импорт отчитается об успехе. Единственный способ загрузить файл и не тронуть норму — полностью убрать колонку из файла.
Отдельная ловушка при обратной загрузке: в выгрузке сотрудников колонка называется «Work mode», но содержит не название режима, а число — тот самый процент. При подготовке файла для импорта её нужно переименовать в «Office attendance rate, %».
Полное описание формата файла — в статье «Импорт пользователей из CSV».
Как считается норма
Норма посещения превращается в число рабочих дней в трёх местах продукта, и формулы там разные. Это не ошибка: у них разные задачи.
| Где | Формула | Что исключается из расчёта |
|---|---|---|
| Счётчик на странице «Рабочий график» | Процент × число дней месяца за вычетом нерабочих, с округлением вверх | Выходные и праздники, дни со статусом «Не работаю» |
| Аналитика «По сотруднику», блок контроля нормы | Процент × (рабочие дни − дни «Не работаю»), с округлением вверх | Выходные, праздники и дни «Не работаю» |
| Отчёт, колонка «Норма посещения офиса (базовая)» | Процент × (офис + удалённо + не работал + не заполнено) | Только выходные и праздники |
| Отчёт, колонка «Норма посещения офиса (фактическая)» | Процент × (офис + удалённо + не заполнено) | Выходные, праздники и дни «Не работаю» |
Отсюда и две колонки «разницы» в отчёте: «Разница базовая» и «Разница фактическая» — это фактическое число офисных дней минус соответствующая норма. Отрицательное значение означает недобор офисных дней.
При норме 0 % и при незаданной норме расчёт не ведётся вовсе: недобор всегда нулевой, а счётчик на странице расписания не показывается.
Два отчёта по посещаемости
В разделе «Отчеты», группа «Расписание», есть два отчёта, целиком построенных вокруг нормы посещения.
| Отчёт | Чем отличается |
|---|---|
| «Отчет по посещаемости» | В ячейке каждого дня — статус сотрудника |
| «Отчет по посещаемости (детализированный)» | В ячейке дня — короткое название офиса либо короткое название уточняющего статуса. Дополнительно добавляется по колонке на каждый уточняющий статус |
Общее у обоих: одна строка на сотрудника, по колонке на каждый день периода, затем итоговые колонки.
- «Кол-во дней в Офисе», «Кол-во дней Удаленно», «Кол-во незаполненных дней», «Кол-во выходных и праздничных дней»;
- «Норма посещения офиса (%)» — процент из карточки сотрудника;
- «Норма посещения офиса (базовая)» и «Норма посещения офиса (фактическая)»;
- «Разница базовая» и «Разница фактическая».
Ограничения обоих отчётов:
- период не длиннее трёх месяцев — более длинный запрос отклоняется;
- руководителю отчёт строится только по его подчинённым и по нему самому, администратору — по всем;
- выгрузка — CSV, формируется на стороне браузера;
- если период захватывает будущие даты, в файл добавляется предупреждение о том, что бронирования ещё могут измениться.
Подробное описание колонок и фильтров — в статье «Отчеты».
На что ещё влияет режим работы
| Где | Что зависит от режима и нормы |
|---|---|
| Страница «Рабочий график» | Счётчик «забронировано / норма» и подсказка, сколько дней осталось запланировать |
| Карточка сотрудника у коллег | Строка «Режим работы» — видна любому сотруднику |
| Строка участника команды | Чип с названием режима рядом с рабочими часами |
| Аналитика «По сотруднику» | Блок «Контроль нормы посещения» и сегмент недостатка офисных дней |
| Отчёты | Два отчёта по посещаемости, описанные выше |
| Синхронизация | Норму передают импорт из CSV и SCIM; в SCIM название режима доступно только для чтения |
На доступ к рабочим местам, на лимиты бронирования и на горизонт бронирования режим работы не влияет — это исключительно плановый показатель.
Ограничения и частые заблуждения
| Заблуждение | Как на самом деле |
|---|---|
| Режим работы — самостоятельная настройка | Это подпись к проценту посещения; отдельно он не хранится |
| Сотрудник может выбрать себе режим | Нет, в профиле поле только для чтения |
| «Свободный» и «Удаленный» — одно и то же | Для расчётов почти одно: норма в обоих случаях нулевая. Различаются подписью в карточке и в отчётах |
| Норма запрещает приходить в офис чаще | Нет, это плановый ориентир, а не ограничение |
| Пустая ячейка в CSV не изменит норму | Изменит: сотрут норму и переведут сотрудника в «Свободный» |
| Числа в подсказке карточки и в счётчике расписания должны совпадать | Не обязаны: подсказка считает по 5 и 22 дням, счётчик — по реальному календарю |