Нет доступных разделов
Роль не даёт прав ни на один раздел панели. Обратитесь к администратору: он включит нужные права на вкладке «Роли».
Проходы
| Время (пояс объекта) | Кто | Карта | Метод | Направление | Терминал | Источник | Фото |
|---|---|---|---|---|---|---|---|
| нет данных | |||||||
Дверь: открытие / закрытие
| Время (пояс объекта) | Событие | Откуда команда | Терминал |
|---|---|---|---|
| нет данных | |||
Время — в часовом поясе того объекта, откуда пришло событие; пояс подписан в каждой строке, потому что объекты стоят в разных зонах (UTC+5 и UTC+7). Часы оператора на это не влияют.
Отдельно от проходов: 3/1024 — дверь открыли с пульта (в колонке «откуда команда» IP рабочего места), 5/21 и 5/22 — створка открылась и закрылась. Волны в начале и в конце смены — это нажатия кнопки «открыть» персоналом, а не проходы людей.
Сводка
Терминалы
В здании сейчас
Кто на объекте прямо сейчас: последняя направленная отметка на терминале — приход. Направление сообщает сама прошивка («Открыть смену» / «Закрыть смену»), а не чередование проходов. Список обновляется вместе с остальными разделами.
«Внутри» — свойство конкретного объекта: вход в Казани и выход в Москве не склеиваются в одну цепочку, и человек, начавший смену на другом терминале, честно виден на каждом. Последний приход старше 26 часов считается забытым выходом — такой сотрудник в списке не висит: иначе одна пропущенная отметка держала бы его «в здании» сутками. Это свой порог, не связанный с длительностью смены в табеле: смена может легально длиться 36 часов, но человек, не приложивший карту на выходе, не должен висеть на экране охраны полтора суток.
Сотрудники
| Фото | Табель | ФИО | Карта | Лиц | Действует до (как на терминале) | Должность | Подразделение | Права | Статус | |
|---|---|---|---|---|---|---|---|---|---|---|
| нет данных | ||||||||||
Справочник наполняется с терминала кнопкой «Считать с терминала»: подтягиваются табель, ФИО, карта, срок действия, число лиц и снимок лица. Данные терминала — источник истины, но вручную введённые поля не стираются: пустое значение прошивки означает «не сообщила».
Карточка сотрудника
Данные с терминала
«Считать с терминала» опрашивает выбранный терминал через ISAPI (только чтение): сотрудники, карты и снимки лиц. Снимки качаются один раз — повторная синхронизация их не перезагружает. «Табели из ленты» добавляет людей, чьи проходы уже есть в базе. Штат целиком (с должностями и подразделениями) подтягивается из iiko кнопкой «Синхронизировать с iiko» над таблицей; то же происходит автоматически раз в час.
Табель · период
Сводка по терминалам
| Терминал | Столовая | Пояс | Смен | Людей | Дней | Часов | Дневных | Ночных | Двухсменных | Нет выхода | Нет входа |
|---|---|---|---|---|---|---|---|---|---|---|---|
| нет данных | |||||||||||
Каждый терминал считается отдельно и в СВОЁМ часовом поясе: объекты стоят в UTC+5 и UTC+7, поэтому сутки «14 октября» на 195-й и на Пасечной — разные моменты времени, и к одному поясу их не приводим. Смена относится к тому терминалу, где ей открыли, а не ко всем, где человек прикладывался, — часы не задваиваются.
Сводка по столовым
| Столовая | Терминалов | Смен | Часов | Дневных | Ночных | Двухсменных | Нет выхода | Нет входа |
|---|---|---|---|---|---|---|---|---|
| нет данных | ||||||||
Сотрудники
| Табель | ФИО | Смен | Часов | Дн | Нч | 2× | Проблемы |
|---|---|---|---|---|---|---|---|
| нет данных | |||||||
Тип смены определяется по тому, какой части суток отработано больше: 08:00–20:00 = дневная, ночь = ночная. Пришли в 19:17 и ушли в 08:26 — смена ночная, хотя вход формально до 20:00. Длительность ≥18 ч («остался на сутки») помечается двухсменной — день+ночь или ночь+день по времени прихода, — но часы всегда фактические (вход → выход) и пополам не режутся: сколько человек отработал, столько и записано. Время показано в часовом поясе объекта (терминала входа), поэтому смены 195-й столовой и остальных объектов сравнимы между собой.
Табель Т-13 · месяц
Табель строится ТОЛЬКО по отметкам терминалов: «Я» — дневная смена, «Н» — ночная, «Я/Н» или «Н/Я» — смена через сутки (≥18 ч, порядок по времени прихода). Рядом с кодом — фактические часы (вход → выход, пополам не режутся). Пустая клетка означает «смены не было»; отпуск, больничный и прогул система не различает — эту отметку ставит кадровик, а не турникет. Клик по клетке открывает все отметки дня и даёт проставить «О» (отпуск), «Б» (больничный) или «В» (выходной). «План» — из планового графика, это НЕ норма производственного календаря.
| нет данных |
Смены · период
| Табель | ФИО | Вход (пояс объекта) | Выход (пояс объекта) | Часов | Тип | Столовая | Терминал | Проблема |
|---|---|---|---|---|---|---|---|---|
| нет данных | ||||||||
Список смен по всем объектам: видно конкретные вход и выход, тип и место. Сводки на вкладке «Табель» отвечают «сколько», эта страница — «когда и где», по ней разбирают спорные случаи (законная двухсменная смена против забытой отметки выхода). Время — в поясе объекта, где смену открыли; тип — по той части суток, которой отработано больше (пришёл 19:17, ушёл 08:26 — смена ночная); длительность всегда фактическая (вход → выход) и пополам не режется.
Зависшие смены · глубина
| Табель | ФИО | Вход (пояс объекта) | Висит, ч | Столовая | Терминал | |
|---|---|---|---|---|---|---|
| нет данных | ||||||
Здесь смены без отметки выхода дольше 40 часов: человек приложил карту на входе, а на выходе — нет. Порог равен самой длинной смене (36 ч день-ночь-день плюс запас), поэтому реальные суточные сюда не попадают. Пока смена висит, часы по ней не считаются. Нажмите «Детали» в строке — откроются соседние отметки и форма закрытия смены.
Восстановить выходы по плану и истории
Для висящих смен предлагается время выхода из двух источников: план iiko на этот день и обычное время ухода самого человека (медиана по его закрытым сменам за 60 дней, нужно минимум три). Если оба согласны в пределах получаса — это самая надёжная часть, её можно закрыть пачкой. Остальное показывается, но требует подтверждения по строке. Всё восстановленное помечается источником и откатывается одной кнопкой, не задевая ручную работу.
| Табель | ФИО | Вход (пояс объекта) | Висит, ч | Предлагаемый выход | Часов | Источник | Почему | |
|---|---|---|---|---|---|---|---|---|
| нажмите «Показать предложения» | ||||||||
Журнал ручных закрытий
| Табель | ФИО | Вход (пояс объекта) | Выход (пояс объекта) | Часов | Кто | Причина | |
|---|---|---|---|---|---|---|---|
| нет данных | |||||||
Автозакрытие старых смен
Массовое закрытие для смен, которые висят без выхода дольше указанного срока и о которых уже никто не помнит фактическое время: выход проставляется формально — вход плюс «считать отработано». Такие закрытия попадают в журнал выше с пометкой «auto» и отменяются той же кнопкой удаления. Сначала нажмите «Посмотреть» — он ничего не пишет и покажет список. Смены, у которых между входом и выдуманным выходом стоит другая отметка, автозакрытие пропускает: их нужно закрыть вручную, иначе часы наедут на следующую смену. Смены, у которых настоящий выход есть позже выдуманного (сутки и больше), не трогаются вовсе — их закроет сама отметка терминала.
Плановый график
| Дата | Табель | ФИО | С (местное, iiko) | До (местное, iiko) | Тип смены | План. часов | Автор | Подразделение | |
|---|---|---|---|---|---|---|---|---|---|
| нет данных | |||||||||
Переработки
| Дата | Табель | ФИО | План. часов | Факт. часов | Переработка |
|---|---|---|---|---|---|
| нет данных | |||||
Терминалы
| Название | Столовая | Пояс | Внешний ID | IP | ISAPI-хост | Логин | Пароль | ISAPI | Статус | |
|---|---|---|---|---|---|---|---|---|---|---|
| нет данных | ||||||||||
Логин и пароль — свои для каждого терминала. Если поле пароля оставить пустым, берётся общий DEVICE_PASSWORD из .env. Терминал появляется здесь и сам, как только пришлёт первое событие; карточка вручную нужна, чтобы задать креды и хост заранее.
Новый терминал
Система
| Открытых файлов | Лимит | Соединений к терминалам | Очередь событий | WS-клиентов | |
|---|---|---|---|---|---|
| загрузка… | |||||
Если «Открытых файлов» больше 70 % от лимита — нажмите «Сбросить соединения», чтобы закрыть висящие TCP-соединения к терминалам без перезагрузки контейнера. События при этом не теряются: поллер на следующем тике докачает буфер заново.
Права доступа
| Табель | Сотрудник | Терминал | Дверь | С (пояс панели) | По (пояс панели) | Статус | |
|---|---|---|---|---|---|---|---|
| нет данных | |||||||
Реестр живёт в базе шлюза: он показывает, кому где положено ходить, и сверяется с терминалом вручную. На прошивку отсюда ничего не отправляется — права на терминале настраиваются в его веб-интерфейсе, а сюда их можно забрать кнопкой «Считать с терминала».
Назначить право
Сотрудники
Учётные записи
| Логин | Имя | Роль | Последний вход (пояс панели) | Статус | |
|---|---|---|---|---|---|
| нет данных | |||||
Пароли хранятся только в виде scrypt-хэша — восстановить забытый нельзя, можно лишь задать новый. Отключённая учётка не входит, но её имя остаётся в журнале действий: история табеля не переписывается. Единственного администратора система не даст отключить или понизить — иначе панель осталась бы без управляющего доступа.
Новая учётка
Роли
| Ключ | Название | Права | Разделы | Учёток | |
|---|---|---|---|---|---|
| нет данных | |||||
Роль — это набор прав; учётке назначается одна роль. Права применяются сразу, перелогин не нужен: сняли право — доступ закрылся на следующем запросе. Роль «Администратор» системная: её нельзя удалить, и нельзя снять управление учётными записями и ролями — иначе панель осталась бы без ключа. Роли, на которой есть учётки, тоже несъёмны.
Новая роль
Право «Просмотр» нужно любой роли, которая должна что-то видеть: без него таблицы останутся пустыми (сервер ответит 403). Разделы — это меню: роль с правом «Просмотр» можно оставить, например, только на «Табеле» и «Сменах». Отметка «все разделы» возвращает меню к набору по правам.
Шаблоны графиков
| Табель | ФИО | Столовая | Дни недели | С | До | Тип смены | План. часов | Активен | |
|---|---|---|---|---|---|---|---|---|---|
| нет данных | |||||||||
Шаблон задаёт постоянный график один раз: «Иванова, 08:00–20:00, пн–пт». Кнопка «Сгенерировать план» создаёт плановые смены на две недели вперёд. Генератор трогает ТОЛЬКО свои строки: ручную правку оператора и импорт iiko он никогда не перезаписывает. Отменённую вручную смену не восстанавливает — для отгула используйте «Отменить смену» ниже.
Отменённые смены
| Дата | Табель | ФИО | Кто отменил | |
|---|---|---|---|---|
| нет данных | ||||
Смена в этом списке не будет создана генератором. Нужно вернуть обычный график — удалите строку отмены и нажмите «Сгенерировать план».
Уведомления о явке
| Дата смены | Тип | Табель | ФИО | Столовая | Причина | Создано | Статус | |
|---|---|---|---|---|---|---|---|---|
| нет данных | ||||||||
«Не вышел» — план на день есть, а на терминал человек не приложился (по умолчанию через 45 минут после планового входа). «Не закрыл» — смена открыта, а плановый выход прошёл больше часа назад. «Нет смены» — сегодня плана нет, но в последние две недели человек работал. Отметки «отпуск / больничный / выходной» в Т-13 глушат ложные срабатывания. Алерт гасится сам, когда человек пришёл или закрыл смену.
Настройки уведомлений
Порог «не закрыл смену» не настраивается: плановый выход + 1 час — по решению руководства.
Push-уведомления в браузер
Разрешение запрашивается у браузера один раз. Уведомления приходят и когда вкладка закрыта (нужен HTTPS). «Все объекты» — получать нарушения со всех столовых; выбранный объект — только с него. Привязка хранится у этого браузера, другие браузеры настраиваются отдельно.