Top.Mail.Ru
Центр помощи / Для администратора / 4. Интеграции / Синхронизация пользователей / Настройка синхронизации статусов из 1С (Schedule Status Adapter)

Настройка синхронизации статусов из 1С (Schedule Status Adapter)

UnSpot Schedule Status Adapter — внешняя обработка 1С, которая ежедневно переносит рабочие статусы сотрудников из 1С:ЗУП в расписание UnSpot. В статье — что подготовить до подключения, где взять адрес и токен, как установить обработку в 1С, что означает каждое поле формы настроек, как включить регулярный запуск и что делать при ошибках. Как устроен обмен, что именно уходит в UnSpot, где хранятся токен и кэш — в статье Синхронизация статусов сотрудников из 1С: как устроен обмен.

Требования

  • 1С 8.3 (работа проверена на версии 8.3.27.1688) с Библиотекой стандартных подсистем (БСП, проверено на 3.1.9.89).
  • Конфигурация «Зарплата и управление персоналом» 3.1 ПРОФ или КОРП (проверено на 3.1.27.51 ПРОФ и 3.1.28.84 КОРП) — для неё выбор данных встроен. Другие конфигурации подключаются в режиме «Нестандартная конфигурация» с собственным кодом выбора данных.
  • Файл внешней обработки 1s-schedule-status-adapter.epf — предоставляет команда UnSpot.
  • У сотрудников в 1С заполнены email, и пользователи с теми же email существуют в UnSpot. Если пользователей ещё нет, сначала настройте синхронизацию пользователей из 1С или другой способ синхронизации.
  • Исходящий доступ с сервера 1С к домену вашего рабочего пространства UnSpot по TCP/443. Входящие правила не нужны — обработка только отправляет запросы.

Шаг 1. Подключение в UnSpot

Обработке нужны адрес API и токен доступа. Их выдаёт карточка «Импорт расписания сотрудника»:

  1. В UnSpot откройте Администрирование → Интеграции → Настройки API.
  2. В блоке «Предоставление информации» найдите карточку «Импорт расписания сотрудника» и нажмите «Подключить». При подключении можно задать срок действия токена: без ограничения или от 1 до 24 месяцев.
  3. Скопируйте URL и токен — они понадобятся в настройках обработки. Токен показывается при подключении: сохраните его в надёжном месте.

Подключать карточку может Владелец или Администратор интеграций. Обратите внимание: это отдельный токен External API — токен SCIM 2.0 от синхронизации пользователей здесь не подойдёт.

Шаг 2. Установка обработки в 1С

  1. Запустите 1С:Предприятие (не Конфигуратор).
  2. Откройте Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Если ссылки нет, включите флажок «Дополнительные отчеты и обработки» на той же странице.
  3. Нажмите «Добавить из файла…» и выберите 1s-schedule-status-adapter.epf.
  4. В списке появится обработка UnSpot Schedule Status Adapter с двумя командами: Settings (форма настроек) и Sync (запуск синхронизации).

Обработка регистрируется с отключённым безопасным режимом — для установки и запуска нужны соответствующие права в 1С (полные права или права на дополнительные обработки). Полный перечень прав, которые нужны обработке в информационной базе, — в разделе «Требования к сети и правам в 1С» статьи Синхронизация статусов сотрудников из 1С: как устроен обмен.

Шаг 3. Настройки обработки

Откройте команду UnSpot Schedule Status Adapter Settings — появится форма «Настройки синхронизации статусов сотрудников в UnSpot». Настройки сохраняются внутри информационной базы, поэтому вводятся один раз.

UnSpot API URL

Полный адрес эндпоинта из карточки «Импорт расписания сотрудника» — вида https://<домен>/api/external/v1/user-schedule. Обработка отправляет запросы ровно по этому адресу: ничего дописывать или сокращать не нужно. Схему https менять нельзя — именно она включает защищённое соединение; номер порта в адресе не указывается.

Токен доступа

Токен из той же карточки. Передаётся в каждом запросе в заголовке Authorization (Bearer). Поле обычное текстовое, значение видно на экране — вводите его так, чтобы монитор не просматривался со стороны. Если при подключении карточки задан срок действия, по его истечении запросы начнут отклоняться с ошибкой 401 «API token has expired» — переподключите карточку и обновите токен в настройках обработки.

Конфигурация 1С

Определяет, каким кодом обработка выбирает данные из информационной базы. Два значения:

  • ЗУП 3.1 (ПРОФ/КОРП) — используется встроенный код выбора данных. Поле «Код выбора данных» показывает его в режиме «только просмотр»; при обновлении обработки встроенный код обновляется вместе с ней.
  • Нестандартная конфигурация — поле «Код выбора данных» становится редактируемым: адаптируйте встроенный скрипт под вашу конфигурацию. Код сохраняется в настройках и выполняется вместо встроенного.

Код выбора данных для синхронизации

Скрипт на встроенном языке 1С. Его контракт: заполнить переменную СотрудникиДляUnSpot (соответствие «идентификатор физлица → структура с полями email и name») и переменную СтатусыСостоянийДляUnSpot (соответствие «дата → идентификатор физлица → код статуса»). Коды статусов возвращает функция обработки ПолучитьСоответствиеСтатусовUnSpot: РабочееВремя, Больничный, Отпуск, Командировка, Отсутствие, УдаленнаяРабота. Схематичный пример структуры данных:

// СтатусыСостоянийДляUnSpot:
// 2026-07-21                                  // дата
//     b0d4ce5d-2757-4699-948c-cfa72ba94f86    // идентификатор физлица
//         1                                   // РабочееВремя
//     550e8400-e29b-41d4-a716-446655440000
//         3                                   // Отпуск
// 2026-07-22
//     b0d4ce5d-2757-4699-948c-cfa72ba94f86
//         4                                   // Командировка

Встроенный ЗУП-скрипт работает так: получает действующих сотрудников через стандартный метод КадровыйУчет.СотрудникиОрганизации с отбором по заполненному email (сотрудники без email не синхронизируются; совместители сводятся к одному месту работы — приоритет у основного, затем большая ставка, затем более поздняя дата приёма); статусы по датам строит через подсистему учёта рабочего времени ЗУП (УчетРабочегоВремениРасширенный) с учётом плановых графиков и документов отклонений; дополнительно учитывает регистр «Дистанционная работа сотрудников» — если день рабочий, но действует период дистанционной работы по договору, статус станет «Удалённая работа».

Собственный код выполняется в информационной базе без безопасного режима и с правами пользователя, под которым идёт синхронизация: относитесь к правке этого поля как к правке кода конфигурации.

Кнопки формы

  • Сохранить — сохраняет настройки. Любое сохранение сбрасывает кэш отправленных статусов: следующий запуск пройдёт полностью. Что именно лежит в кэше, описано в разделе «Что кэшируется и где» статьи о том, как устроен обмен.
  • Сохранить и проверить — сохраняет настройки и выполняет пробный прогон за текущий день: показывает, сколько выбрано сотрудников с email и статусов на сегодня, отправляет один статус в UnSpot и выводит ответ сервера. Кэш при проверке не используется.
  • Сохранить и запустить — сохраняет настройки и запускает полную синхронизацию фоновым заданием. Ход выполнения пишется в Журнал регистрации.

Шаг 4. Проверка и регулярный запуск

Заполните настройки и нажмите «Сохранить и проверить». Успешная проверка выглядит так: «Настройки сохранены» → «Проверка синхронизации..» → «Выбрано сотрудников с email: N» → «Выбрано статусов сотрудников на текущую дату: N» → «Синхронизация статуса сотрудника … на дату …: …» → «OK» → «Синхронизация статуса успешна, проверка завершается» → «Проверка завершена».

Для регулярной синхронизации настройте регламентное задание: на странице обработки в строке фонового задания UnSpot Schedule Status Adapter Sync включите расписание (флажок в колонке с часами) либо запускайте задание вручную кнопкой «Выполнить». Достаточно одного запуска в сутки — например, ночью. Повторный запуск при уже идущей синхронизации не стартует: обработка сообщит «Синхронизация уже выполняется, подождите завершения».

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

Возможные ошибки

СообщениеПричинаЧто делать
401 Invalid API tokenТокен не подходит: опечатка или использован токен другой карточки (например, SCIM 2.0)Скопируйте токен из карточки «Импорт расписания сотрудника» заново
401 API token has expiredИстёк срок действия токенаПереподключите карточку и обновите токен в настройках обработки
400 User not foundВ UnSpot нет активного пользователя с таким emailПроверьте email сотрудника в 1С и наличие пользователя в UnSpot; настройте синхронизацию пользователей
429 Too Many RequestsПревышен лимит 1 запрос/сек — например, запросы к API идут параллельно из другой системы с тем же токеномНе используйте один токен в нескольких интеграциях одновременно
«Синхронизация уже выполняется»Предыдущее фоновое задание ещё не завершилосьДождитесь завершения — ход виден в Журнале регистрации
«Не найдено сотрудников с заполненным email»У сотрудников в 1С не заполнены emailЗаполните email в карточках сотрудников (Главное → Сотрудники → Личные данные)

Подробный журнал каждого запуска — в 1С: Администрирование → Обслуживание → Журнал регистрации, источник вида UnSpotScheduleStatus#дата: там видны выборка, каждая отправка с ответом сервера, пропуски и итог. Полный состав записей журнала перечислен в разделе «Что пишется в журнал регистрации» статьи Синхронизация статусов сотрудников из 1С: как устроен обмен.

Связанные статьи

Оставьте заявку, и мы свяжемся с вами в течение 30 минут.

Loading

Как улучшить работу офиса?

Оставьте контакт - покажем на демо как уйти от таблиц, двойных бронирований и путаницы с рабочими местами.

Loading