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

Синхронизация пользователей из 1С: как устроена

UnSpot получает сотрудников напрямую из 1С: внешняя обработка «UnSpot SCIM Adapter» выбирает из ЗУП (или другой конфигурации на базе БСП) сотрудников, оргструктуру, руководителей и режим работы и передаёт их в UnSpot по стандарту SCIM 2.0. В этой статье описано, как устроен обмен: кто его инициирует, по какому протоколу и какие именно данные покидают информационную базу, где хранятся токен и настройки, что попадает в журнал регистрации и какие права нужны обработке. Статью можно передать службе информационной безопасности при согласовании интеграции. Пошаговая настройка описана в статье Настройка синхронизации пользователей из 1С (SCIM Adapter).

Как работает синхронизация

Синхронизация выполняется внешней обработкой 1С «UnSpot SCIM Adapter» (файл 1s-to-scim-adapter-bsp.epf). Обработка устанавливается в вашу информационную базу 1С и работает по расписанию или по кнопке. У неё две составляющие:

1. Скрипт выборки данных — код на встроенном языке 1С, который выбирает данные из вашей информационной базы: сотрудников, подразделения, руководителей, графики работы. Для типовой ЗУП 3.1 скрипт уже встроен в обработку; для нестандартных конфигураций его можно написать самостоятельно прямо в форме настроек (поле «Код выбора данных для синхронизации»).

2. Код синхронизации — часть обработки, которая передаёт выбранные данные в UnSpot по SCIM API: читает текущих пользователей UnSpot, сопоставляет их с данными 1С, создаёт, обновляет и удаляет пользователей, обновляет оргструктуру.

Каждый запуск синхронизации проходит по одному и тому же конвейеру: обработка читает настройки → получает по SCIM список всех пользователей UnSpot → выполняет скрипт выборки данных из 1С → сопоставляет два списка и определяет, кого нужно создать, обновить или удалить → отправляет изменения в UnSpot → при включённой оргструктуре передаёт полное дерево подразделений. Все шаги протоколируются в журнале регистрации 1С.

Направление и инициатор обмена

Обмен односторонний по инициативе: соединение всегда устанавливает 1С. Обработка сама подключается к серверу UnSpot и отправляет запросы, а UnSpot к вашей информационной базе не обращается.

  • Инициатор — 1С. Обработка создаёт исходящее соединение с сервером UnSpot в момент запуска: по регламентному заданию либо по кнопке в форме настроек. Постоянного соединения, вебхуков и подписки на события у интеграции нет.
  • Входящих подключений нет. Внешняя обработка не содержит ни одного сервиса, который принимал бы входящие запросы: в БСП она регистрирует только две команды — открытие формы настроек и серверный запуск синхронизации. UnSpot не знает адреса вашей информационной базы и не получает к ней учётных данных.
  • Обратный поток — только чтение. В начале каждого запуска обработка читает из UnSpot список всех пользователей компании, чтобы сравнить его с данными 1С. Прочитанное живёт в оперативной памяти сеанса на время запуска и в информационную базу не записывается.
  • Данные UnSpot в 1С не переносятся. Брони, статусы присутствия, аналитика и любые другие сведения из UnSpot в 1С не попадают: обработка использует карточки пользователей и только для сопоставления.

Протокол, адреса и шифрование

Обработка обращается к единственному внешнему адресу — к SCIM API вашего рабочего пространства UnSpot. Адрес задаётся администратором в поле «UnSpot API URL».

ПараметрКак устроено
ПротоколHTTPS, если адрес в поле «UnSpot API URL» начинается с https://. Соединение устанавливается защищённым, сертификат сервера проверяется по списку удостоверяющих центров платформы 1С. Отключить проверку сертификата в обработке нельзя — такой настройки нет.
Порт443 для адреса, начинающегося с https://, и 80 — для http://. Порт определяется только протоколом: указать в адресе нестандартный порт нельзя.
Адрес назначенияДомен вашего рабочего пространства UnSpot, например ваш-домен.unspot.ru. К нему обработка добавляет пути ресурсов:
• /Users — карточки сотрудников;
• /OrgUnits — дерево подразделений. Других внешних адресов обработка не вызывает.
АутентификацияЗаголовок Authorization: Bearer с токеном подключения SCIM 2.0 — в каждом запросе. Ни пары «логин — пароль», ни клиентского сертификата, ни взаимного TLS обработка не использует.
Формат данныхapplication/scim+json в запросах на создание, обновление и передачу оргструктуры.
Таймаут60 секунд.
ПроксиПоля для прокси в форме настроек нет, и при создании соединения прокси не задаётся.

Что учитывать. Адрес, начинающийся с http://, обработка примет: соединение будет установлено по порту 80 без шифрования, и токен вместе с персональными данными уйдёт открытым текстом. Указывайте адрес только с https://. Адрес без протокола обработка отклонит с ошибкой «Неверный формат URL».

Что передаётся в UnSpot

Наружу уходят только перечисленные ниже поля. Их состав зависит от режима синхронизации и трёх флажков формы настроек — «Оргструктура», «Менеджер» и «Режим работы»; что означает каждый из них, описано в статье Настройка синхронизации пользователей из 1С (SCIM Adapter).

Поле в UnSpotЧто этоОткуда берётся в 1СКогда передаётся
userNameАдрес электронной почты сотрудника, приводится к нижнему региструКадровые данные ЗУП, реквизит EMailПредставлениеВсегда
externalIdУникальный идентификатор физлица (36 символов) — ключ сопоставления, не зависящий от смены адреса почтыИдентификатор элемента справочника «Физические лица»Режим «Полная»
name.familyNameФамилияКадровые данные ЗУП, реквизит ФамилияКроме режима «Только обновление оргструктуры»
name.givenNameИмя. Отчество не передаётсяКадровые данные ЗУП, реквизит ИмяКроме режима «Только обновление оргструктуры»
titleДолжностьНаименование элемента справочника «Должности»Кроме режима «Только обновление оргструктуры»
employeeIdТабельный номерКадровые данные ЗУП, реквизит ТабельныйНомерКроме режима «Только обновление оргструктуры»
orgUnitПолный путь подразделения через «/»Иерархия справочников «Организации» и «Подразделения организаций»Флажок «Оргструктура» включён
departmentНазвание подразделения текстом, без дереваНаименование подразделения сотрудникаФлажок «Оргструктура» выключен
managerАдрес электронной почты руководителяКонтактная информация физлица-руководителя подразделения или организацииФлажок «Менеджер»
attendanceДоля офисных дней, целое от 0 до 100Расчёт по графикам работы за текущий месяцФлажок «Режим работы»
activeПризнак активности учётной записи, всегда истинаНе из 1С — проставляется обработкойРежим «Полная»

При включённой оргструктуре отдельным запросом уходит дерево подразделений. На каждое подразделение передаются три значения: путь, адрес электронной почты руководителя и описание — для организации это её полное наименование, для подразделения — наименование для записей о трудовой деятельности.

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

Что учитывать. Адрес почты руководителя берётся из контактной информации физлица — используется первый элемент с типом «Адрес электронной почты». Если у руководителя в 1С заполнен личный адрес, в UnSpot уйдёт он.

Что не передаётся

Раздел важен именно отрицаниями — обработка не отправляет в UnSpot ничего, кроме полей предыдущего раздела.

  • Пароли и любые аутентификационные данные. Обработка не читает пароли пользователей 1С и не передаёт их; учётные данные для входа в UnSpot создаёт сам UnSpot.
  • Телефоны, фотографии и аватары, дата рождения, паспортные данные, СНИЛС, ИНН, адреса. Список кадровых реквизитов, которые запрашивает встроенный скрипт, закрыт и этих полей не содержит.
  • Сведения о зарплате, начислениях, отпусках, больничных и командировках. В расчёт режима работы попадают только виды учёта времени «Явка» и «Дистанционная работа», остальные не учитываются и наружу не уходят.
  • Дата приёма, количество ставок и вид занятости. Они читаются из 1С, но нужны только для того, чтобы у совместителя выбрать одну позицию, и удаляются из структуры сотрудника до отправки.
  • Ссылки на объекты информационной базы. Служебная ссылка на элемент справочника «Сотрудники» удаляется из структуры перед отправкой; наружу уходит только идентификатор физлица в поле externalId.
  • Уволенные сотрудники и сотрудники без адреса почты. Они не попадают в выборку, а значит и в запросы к UnSpot.
  • Обратный поток в 1С. UnSpot ничего не записывает в информационную базу: ни броней, ни статусов присутствия, ни изменений карточек сотрудников.

Как работает скрипт выборки данных из 1С

Скрипт выборки — это код на встроенном языке 1С, который обработка исполняет в начале каждой синхронизации. Его задача — сформировать массив структур СотрудникиДляUnspot (и, при включённой оргструктуре, массив ОргструктураДляUnspot). Всё, что скрипт положит в эти массивы, код синхронизации передаст в UnSpot. Скрипту доступны настройки формы в виде переменных (СинхронизироватьОргструктуру, СинхронизироватьМенеджера, СинхронизироватьРежимРаботы, СинхронизацияПользователей), поэтому один и тот же скрипт корректно работает во всех режимах.

Встроенный скрипт для ЗУП 3.1 выполняет следующие шаги:

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

2. Дедупликация совместителей. Если одно физлицо занимает несколько позиций (основное место плюс совместительство), в UnSpot нужно передать одну учётную запись. Скрипт выбирает «лучшую» позицию по приоритету вида занятости (основное место работы → внутреннее совместительство → совместительство → подработка), а при равном приоритете — позицию с большей ставкой.

3. Формирование структуры сотрудника. Для каждого физлица собирается структура с полями для UnSpot: уникальный идентификатор физлица (externalId — используется как надёжный ключ сопоставления при полной синхронизации), email в нижнем регистре (userName), фамилия и имя, наименование должности (title), табельный номер (employeeId), подразделение — полным путём (orgUnit) или названием (department), в зависимости от флажка «Оргструктура».

4. Руководители. При включённом флажке «Менеджер» скрипт собирает руководителей: для организаций — из настроек ответственных лиц (функция ПодписиДокументов.ОтветственныеЛицаОрганизации), для подразделений — из данных руководителей подразделений (РуководителиПодразделений.ДанныеРуководителей по структуре предприятия; заполняется в ЗУП КОРП). Email руководителя определяется по контактной информации физлица. Каждому сотруднику в поле manager записывается email руководителя его подразделения.

5. Режим работы. При включённом флажке «Режим работы» вызывается встроенная функция ЗаполнитьРежимРаботыСогласноГрафикуРаботы, которая по регистрам графиков (ГрафикРаботыСотрудников, ГрафикиРаботыПоВидамВремени, ДанныеИндивидуальныхГрафиковСотрудников) и регистру «Дистанционная работа сотрудников» вычисляет attendance каждого сотрудника за текущий месяц. Как именно считается показатель, описано в разделе «Режим работы» статьи о настройке.

6. Оргструктура. При включённом флажке «Оргструктура» скрипт обходит справочники «Организации» и «Подразделения организаций», строит для каждого элемента полный путь (функции ПолучитьИерархиюПодразделенийВСтроке и ПолучитьИерархиюОрганизацийВСтроке), исключает расформированные подразделения и добавляет руководителя и описание. Результат кладётся в массив ОргструктураДляUnspot.

Для нестандартной конфигурации вы пишете аналогичный код сами. Контракт простой: заполнить массив СотрудникиДляUnspot структурами со следующими полями (и ОргструктураДляUnspot — структурами с полями path, manager, description, если оргструктура включена):

ПолеОбязательностьЧто это в UnSpot
userNameобязательноEmail сотрудника — ключ сопоставления учётных записей
externalIdдля режима «Полная»Уникальный идентификатор физлица (до 36 символов) — ключ сопоставления, не зависящий от смены email
familyName, givenNameдля режима «Полная»Фамилия и имя
titleнетДолжность
employeeIdнетТабельный номер
departmentнетНазвание отдела (текст, без дерева подразделений)
orgUnitнетПолный путь подразделения через «/», от корневого к дочернему
managerнетEmail руководителя (должен быть активным пользователем UnSpot)
attendanceнетРежим работы: целое от 0 (удалённый) до 100 (офисный) или Неопределено

Пример формирования одной записи на встроенном языке 1С:

// каждый элемент массива СотрудникиДляUnspot — это Структура
Сотрудник = Новый Структура;
Сотрудник.Вставить("userName", "i.petrov@company.ru");
Сотрудник.Вставить("externalId", "f81d4fae-7dec-11d0-a765-00a0c91e6bf6");
Сотрудник.Вставить("familyName", "Петров");
Сотрудник.Вставить("givenName", "Иван");
Сотрудник.Вставить("title", "Менеджер по продажам");
Сотрудник.Вставить("employeeId", "0000-00042");
Сотрудник.Вставить("orgUnit", "Компания/Департамент продаж/Отдел продаж");
Сотрудник.Вставить("manager", "a.sidorov@company.ru");
Сотрудник.Вставить("attendance", 75);
СотрудникиДляUnspot.Добавить(Сотрудник);

В коде выборки доступны вспомогательные функции обработки: ПолучитьКонтактФизическогоЛица (email физлица), ПолучитьИерархиюПодразделенийВСтроке и ПолучитьИерархиюОрганизацийВСтроке (построение пути), ПолучитьКоличествоЭлементовСправочника, а также ЗаполнитьРежимРаботыСогласноГрафикуРаботы для расчёта attendance по графикам (требует, чтобы в структуре сотрудника было служебное поле entity со ссылкой на элемент справочника «Сотрудники»).

Что учитывать. Код выбора данных исполняется без ограничений безопасного режима — подробности в разделе Где хранятся токен и настройки.

Как работает синхронизация выбранных данных с UnSpot

После того как скрипт выборки сформировал данные, код синхронизации сопоставляет их с UnSpot и применяет изменения по SCIM API (подробное описание API — в справочнике SCIM API UnSpot).

Чтение. Обработка постранично загружает всех пользователей компании (GET /Users, по 20 записей за запрос), включая деактивированных. Для каждого запоминаются идентификатор, email, ФИО, должность, подразделение, руководитель и режим работы — это «текущее состояние», с которым сравниваются данные 1С.

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

Создание (только режим «Полная»). Для сотрудников 1С, не найденных в UnSpot, выполняется POST /Users. Новый пользователь получает роль «Сотрудник»; если в UnSpot включён тумблер приветственных писем, ему уходит приглашение. Если email принадлежит ранее удалённому (архивированному) пользователю, UnSpot восстанавливает его вместо создания дубля. Пример запроса:

POST /api/scim/Users
{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
              "urn:ietf:params:scim:schemas:extension:Unspot:2.0:User"],
  "externalId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
  "userName": "i.petrov@company.ru",
  "name": { "familyName": "Петров", "givenName": "Иван" },
  "active": true,
  "title": "Менеджер по продажам",
  "extensionUser": { "employeeId": "0000-00042",
                     "orgUnit": "Компания/Департамент продаж/Отдел продаж",
                     "attendance": 75 },
  "enterpriseUser": { "manager": { "value": "a.sidorov@company.ru" } }
}
HTTPS

Обновление. Изменившиеся пользователи обновляются точечными операциями PATCH /Users/{id} (стандарт SCIM PatchOp): заменяются email, фамилия и имя, должность, табельный номер, подразделение, руководитель, режим работы; в режиме «Полная» дополнительно проставляются externalId и active=true. Пустое подразделение передаётся операцией Remove — привязка сотрудника к отделу снимается. Пример запроса:

PATCH /api/scim/Users/6d1a...c204
{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
  "Operations": [
    { "op": "Replace", "path": "title", "value": "Руководитель отдела продаж" },
    { "op": "Replace",
      "path": "urn:ietf:params:scim:schemas:extension:Unspot:2.0:User:orgUnit",
      "value": "Компания/Департамент продаж" },
    { "op": "Replace",
      "path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager",
      "value": "d.ivanov@company.ru" },
    { "op": "Replace",
      "path": "urn:ietf:params:scim:schemas:extension:Unspot:2.0:User:attendance",
      "value": 100 }
  ]
}
HTTPS

Отложенное назначение руководителей. Руководителем в UnSpot может стать только активный пользователь. Если руководитель сотрудника сам создаётся в этом же запуске, обработка сначала создаёт всех пользователей, а затем вторым проходом назначает руководителей тем, у кого назначение было отложено.

Удаление (только режим «Полная»). Пользователи UnSpot с заполненным externalId, не сопоставленные ни с одним сотрудником 1С, удаляются запросом DELETE /Users/{id}. Удаление в UnSpot — это архивация, а не безвозвратное стирание: пользователь исчезает из активных списков, все его брони отменяются, закреплённые столы, парковочные места и ячейки локеров освобождаются; если сотрудник вернётся, синхронизация восстановит учётную запись по email. Пользователь, деактивированный через active=false, отличается от удалённого: он сохраняет externalId и восстанавливается простой активацией. Особый случай: пользователя с календарём, привязанным к переговорной, UnSpot удалить не даст — сначала отвяжите календарь.

Пользователи, добавленные в UnSpot вручную или каталожной синхронизацией (AD/LDAP), при этом не удаляются: у них не заполнен externalId.

Оргструктура. При включённом флажке «Оргструктура» обработка передаёт полное дерево подразделений одним запросом PUT /OrgUnits. Это полная замена синхронизируемой части дерева: недостающие подразделения создаются, изменившиеся руководители и описания обновляются, а синхронизированные ранее подразделения, отсутствующие в новой выгрузке, удаляются вместе с вложенными. Руководитель подразделения указывается email’ом и назначается, только если такой пользователь существует и активен в UnSpot. Пример запроса:

PUT /api/scim/OrgUnits
{
  "items": [
    { "path": "Компания", "manager": "ceo@company.ru", "description": "ООО Компания" },
    { "path": "Компания/Департамент продаж", "manager": "d.ivanov@company.ru", "description": null },
    { "path": "Компания/Департамент продаж/Отдел продаж", "manager": "a.sidorov@company.ru", "description": null }
  ]
}
HTTPS

Сводка запросов, которые выполняет обработка (все — с заголовком Authorization: Bearer и Content-Type: application/scim+json):

ЗапросКогда выполняется
GET /UsersКаждый запуск — постраничное чтение всех пользователей компании
POST /UsersСоздание сотрудника (режим «Полная»)
PATCH /Users/{id}Обновление изменившихся полей и отложенное назначение руководителя
DELETE /Users/{id}Удаление пропавших из 1С сотрудников (режим «Полная»)
PUT /OrgUnitsПолная синхронизация дерева подразделений (флажок «Оргструктура»)

Где хранятся токен и настройки

Все настройки обработки — адрес API, токен доступа, режим синхронизации, состояния флажков и ваш код выборки данных — хранятся внутри информационной базы 1С. Ни файлов на диске, ни ключей в реестре Windows обработка не создаёт.

  • Место хранения. Элемент справочника «Файлы» с наименованием UnSpotSettings в папке «Шаблоны», тип хранения — «В информационной базе». Это штатный механизм хранения файлов БСП.
  • Форма хранения. Значение записывается как хранилище значения со сжатием. Сжатие — это не шифрование: токен лежит в информационной базе в открытом виде. Любой пользователь 1С, которому доступен этот элемент справочника «Файлы», может получить токен, а вместе с ним — доступ к SCIM API вашего рабочего пространства UnSpot.
  • Что с этим делать. Ограничьте доступ к справочнику «Файлы» и папке «Шаблоны» ролями 1С, а резервные копии информационной базы храните как носитель секрета. При компрометации пересоздайте подключение SCIM 2.0 в UnSpot: старый токен перестанет действовать сразу.
  • Поле ввода. «Токен доступа» в форме настроек — обычное текстовое поле, без режима пароля: значение видно на экране целиком.
  • Журнал. Токен в журнал регистрации не записывается — туда попадает только адрес API.

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

Безопасный режим выключен. Обработка регистрируется в БСП с выключенным безопасным режимом, потому что исполняет код выборки данных методом Выполнить. Это значит, что содержимое поля «Код выбора данных» выполняется с полными правами того сеанса, в котором запущена синхронизация. Тот, кто может редактировать этот код, фактически может выполнить в вашей информационной базе любой код 1С, поэтому доступ к форме настроек должен быть только у администратора.

Что попадает в журнал регистрации и что кэшируется

Единственное, что обработка сохраняет за пределами оперативной памяти, — это записи журнала регистрации 1С и элемент настроек UnSpotSettings. Имя события в журнале имеет вид «UnSpot#ггммдд».

Что записываетсяСостав записи
Чтение пользователей UnSpotАдрес API и количество прочитанных записей. Сами прочитанные карточки в журнал не пишутся
Итог сопоставленияСколько записей отобрано на создание, обновление и удаление и сколько подразделений выбрано
Создание и обновление пользователяПолное тело отправленного запроса в формате JSON: email, фамилия и имя, должность, табельный номер, путь подразделения, email руководителя, режим работы. Отдельной записью — код ответа и тело ответа UnSpot
Назначение руководителяТело запроса с адресом почты руководителя, код и тело ответа
Удаление пользователяИдентификатор пользователя в UnSpot, код и тело ответа
Передача оргструктурыКоличество переданных подразделений, код и тело ответа

Что учитывать. Журнал регистрации становится вторым местом, где хранятся персональные данные, уходящие в UnSpot: тела запросов пишутся в него целиком. Срок хранения журнала и доступ к нему настраиваются штатными средствами 1С — учтите это при определении сроков хранения персональных данных. Токен доступа в журнал не попадает.

Кэша у обработки нет. Список пользователей UnSpot, выборка из 1С и промежуточные соответствия существуют только в памяти рабочего процесса на время одного запуска и после его завершения не сохраняются. Временных файлов, служебных справочников и таблиц обработка не создаёт. Единственная её запись в базу — элемент UnSpotSettings: чтобы стереть сохранённый токен, удалите этот элемент справочника «Файлы».

Требования к правам в 1С и к сети

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

Что нужноЗачем
Подключение обработокПраво администратора на добавление дополнительных отчётов и обработок: обработка регистрируется механизмом БСП «Дополнительные отчеты и обработки» с выключенным безопасным режимом
Кадровые данныеЧтение сотрудников организаций: сотрудник, физлицо, подразделение, должность, количество ставок, вид занятости, фамилия, имя, email, табельный номер, дата приёма
Справочники оргструктурыЧтение справочников «Организации», «Подразделения организаций», «Структура предприятия» — построение дерева подразделений и поиск руководителей
Контактная информацияЧтение контактной информации физических лиц — адреса почты руководителей
Регистры графиковЧтение регистров графиков работы сотрудников, графиков по видам времени, данных индивидуальных графиков и регистра «Дистанционная работа сотрудников» — расчёт режима работы
Справочник «Файлы»Чтение и запись элемента UnSpotSettings — хранение настроек и токена
Исходящее соединениеРазрешение на исходящее соединение по HTTPS (TCP 443) к домену вашего рабочего пространства UnSpot. Соединение устанавливает сервер 1С:Предприятия (в файловом варианте — машина, на которой запущено 1С:Предприятие). Входящие правила для UnSpot не нужны

Принцип минимальных привилегий. Заведите для регулярного запуска отдельного пользователя 1С с правами только на перечисленные объекты. Учитывайте при этом, что безопасный режим у обработки выключен: единственным ограничителем служат права роли 1С, под которой она работает, поэтому давать ей роль полного администратора для регулярных запусков не следует.

Совместная работа с синхронизацией из Active Directory

Синхронизацию из 1С можно использовать одновременно с синхронизацией пользователей из корпоративного каталога — AD LDAP, OpenLDAP, Entra ID (Azure AD) или Google Workspace. Типовой сценарий: каталог отвечает за сами учётные записи (кто имеет доступ), а 1С обогащает их кадровыми данными, которых в каталоге нет — табельными номерами, должностями, оргструктурой, руководителями и режимом работы.

Как UnSpot различает источники: пользователи, созданные каталожной синхронизацией, помечаются как «синхронизируемые» — их основные поля и email нельзя редактировать вручную в консоли, ими управляет каталог. Пользователи, созданные из 1С по SCIM, такой блокировки не имеют (их можно править вручную), а признаком их принадлежности к 1С служит заполненный externalId. Каталожная синхронизация может быть подключена только одна (AD LDAP, OpenLDAP, Entra ID или Google Workspace — на выбор), SCIM-подключение для 1С работает параллельно с любой из них.

Правила и ограничения совместной работы:

СитуацияПоведение и рекомендация
Каталог создаёт учётные записи, 1С дополняетРекомендуемая схема. В обработке 1С включите режим «Только обновление»: 1С найдёт пользователей по email и дополнит их должностями, табельными номерами, оргструктурой, руководителями и режимом работы, не создавая и не удаляя никого. Email в 1С и в каталоге должны совпадать.
Один сотрудник есть и в AD, и в 1СОба источника обновляют одну и ту же учётную запись (сопоставление по email). Общие поля (имя, фамилия, должность, отдел, руководитель) перезаписываются тем источником, который синхронизировался последним. Чтобы данные не «мигали», настройте пересекающиеся поля только в одном источнике: например, отключите синхронизацию должности и руководителя в настройках AD-синхронизации, если их ведёт 1С. Поля, которых в AD-синхронизации нет (табельный номер, режим работы), всегда остаются за 1С.
Режим «Полная» в 1С при подключённом каталогеДопустимо, но осторожно: 1С не удалит пользователей каталога (удаляются только учётные записи с externalId, а каталожная синхронизация его не заполняет), однако будет создавать в UnSpot сотрудников, которых нет в каталоге, и повторно активировать деактивированных вручную пользователей (полная синхронизация проставляет active=true при каждом обновлении). Уволенных сотрудников при такой схеме нужно убирать из обеих систем.
Удаление и блокировкаКаталожная синхронизация архивирует пользователей, пропавших из каталога или заблокированных в нём, — включая пользователей, созданных 1С, если их email попал в выборку каталога. Команда удаления из 1С для «каталожного» пользователя выполняет деактивацию, а не удаление. Восстановить архивированного пользователя SCIM-активацией нельзя — он восстанавливается при следующем появлении в своём источнике.
Оргструктура из двух источниковНе включайте синхронизацию оргструктуры одновременно в 1С и в каталожной синхронизации: дерево подразделений в UnSpot общее, и каждый источник при своём запуске удаляет синхронизированные подразделения, отсутствующие в его собственной выгрузке, — источники будут перетирать друг друга. Выберите один источник оргструктуры (обычно 1С, где она полнее).
1С вместе с Entra ID (Azure AD) SCIM-провижинингомНе рекомендуется совмещать два SCIM-источника в режиме «Полная»: оба записывают externalId в одно и то же поле (Entra ID — objectId, 1С — идентификатор физлица) и будут перетирать его друг у друга, а несопоставленные пользователи другого источника могут удаляться. Если Entra ID уже провижинит пользователей по SCIM, используйте для 1С режим «Только обновление» или «Только обновление оргструктуры».

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

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

Loading

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

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

Loading