Интеграция СКУД «С2000-2» (Болид) или PERCo с 1С:Управление торговлей через REST API
Оглавление
- 1. Зачем интегрировать СКУД с 1С:УТ
- 2. Что такое REST API СКУД и какие данные он отдаёт
- 3. Требования и подготовка для «С2000-2» (Болид)
- 4. Настройка и использование API «С2000-2»
- 5. Требования и подготовка для PERCo
- 6. Настройка и использование API PERCo
- 7. Интеграция с 1С:Управление торговлей
- 8. Типовые ошибки и способы их устранения
- 9. Заключение
1. Зачем интегрировать СКУД с 1С:УТ
Система контроля и управления доступом (СКУД) фиксирует все проходы сотрудников и посетителей. При интеграции с 1С:Управление торговлей (1С:УТ) эти данные можно использовать для:
- Автоматического учёта рабочего времени кассиров и продавцов;
- Контроля присутствия сотрудников на рабочих местах во время смены;
- Синхронизации списка сотрудников между 1С и СКУД (единая база);
- Формирования отчётов по посещаемости склада или торгового зала.
Для этого требуется, чтобы СКУД поддерживала REST API — современный стандарт передачи данных через HTTP-запросы.
2. Что такое REST API СКУД и какие данные он отдаёт
REST API — это набор HTTP-адресов (эндпоинтов), по которым можно получать или отправлять данные в формате JSON. Для СКУД типичные данные:
- Список сотрудников (ФИО, табельный номер, ID карты);
- Журнал событий (проходы, открытия дверей, тревоги) с датой, временем, точкой доступа и статусом;
- Список точек доступа (турникеты, двери, шлагбаумы).
Для интеграции с 1С нам чаще всего нужен **журнал проходов** и **список сотрудников**.
3. Требования и подготовка для «С2000-2» (Болид)
Контроллер «С2000-2» сам по себе не имеет встроенного веб-сервера. Для работы с API требуется ПО «Орион ПРО» или «S2000-Ethernet» с поддержкой веб-интерфейса.
Минимальные условия:
- ПО «Орион ПРО» версии 2.15 или выше (лицензия «Сетевой клиент» не подходит — нужна «Сервер»);
- Компьютер с Windows, на котором установлено «Орион ПРО» и запущена служба «Web Server»;
- Сетевое подключение между сервером «Орион ПРО» и 1С;
- Учётная запись в «Орион ПРО» с правами «Просмотр событий» и «Просмотр сотрудников».
Как проверить наличие API?
Откройте в браузере: http://[IP_сервера_Орион]/api/v1/status. Если видите JSON с версией — API работает.
Что такое IP_сервера_Орион?
Это IP-адрес компьютера, на котором установлено ПО «Орион ПРО». Узнать его можно в свойствах подключения к сети на этом компьютере или через ipconfig в командной строке.
4. Настройка и использование API «С2000-2»
API «Орион ПРО» требует аутентификации по логину/паролю. Все запросы — через HTTP POST с телом в JSON.
Шаг 1. Получение токена авторизации
POST /api/v1/login
Content-Type: application/json
{
"login": "operator",
"password": "secret123"
}
Если учётные данные верны, сервер вернёт:
{
"token": "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"
}
Этот токен действует 30 минут и должен передаваться в заголовке всех последующих запросов:
Authorization: Bearer a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8
Шаг 2. Получение журнала проходов
POST /api/v1/events
Content-Type: application/json
Authorization: Bearer a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8
{
"from": "2025-11-06T00:00:00",
"to": "2025-11-06T23:59:59",
"event_types": [1, 2]
}
Где:
event_types: [1, 2]— 1 = вход, 2 = выход (согласно документации Болид);- Формат даты — ISO 8601.
Ответ содержит массив событий с полями: id, timestamp, employee_id, point_id, direction.
Шаг 3. Получение списка сотрудников
GET /api/v1/employees Authorization: Bearer a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8
Ответ включает employee_id, full_name, card_number — эти данные можно сопоставить с карточками сотрудников в 1С.
5. Требования и подготовка для PERCo
Системы PERCo (например, PERCo-S-20, PERCo-WEB) имеют встроенный веб-сервер и REST API начиная с версии 6.0.
Что нужно:
- Контроллер PERCo с прошивкой ≥6.0;
- Включённая опция «Веб-сервер» в настройках;
- Пользователь с ролью «Оператор» или «Администратор»;
- IP-адрес контроллера (например,
192.168.1.50).
Как узнать IP PERCo?
— На дисплее контроллера в меню «Сеть»;
— Через ПО PERCo-Configurator → «Сетевые параметры»;
— В логах DHCP-сервера по MAC-адресу (начинается на 00:1A:2B).
6. Настройка и использование API PERCo
PERCo использует простую базовую аутентификацию (Basic Auth).
Пример: получение журнала проходов
GET /api/v1/events?from=2025-11-06T00:00:00&to=2025-11-06T23:59:59 Authorization: Basic base64(логин:пароль)
Если логин admin, пароль 12345, то заголовок будет:
Authorization: Basic YWRtaW46MTIzNDU=
Значение YWRtaW46MTIzNDU= — это Base64-кодировка строки admin:12345. Сгенерировать можно онлайн или через PowerShell:
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("admin:12345"))
Ответ PERCo содержит события с полями: employee_uid, event_time, device_name, direction (IN/OUT).
Получение списка сотрудников:
GET /api/v1/employees Authorization: Basic YWRtaW46MTIzNDU=
7. Интеграция с 1С:Управление торговлей
В 1С создаётся регламентный задание, которое раз в час опрашивает СКУД и обновляет данные.
Шаг 1. Настройка в 1С
- Создайте справочник «Сотрудники СКУД» с полями: UID, ФИО, Номер карты;
- Создайте регистр сведений «Проходы СКУД» с измерениями: Сотрудник, Дата, Точка доступа, Направление.
Шаг 2. Код для «С2000-2» (Болид)
// Получение токена
Запрос = Новый HTTPЗапрос("/api/v1/login", "POST");
Запрос.УстановитьТелоИзСтроки(JSONЗапись.ПолучитьРезультат(), КодировкаТекста.UTF8);
Запрос.Заголовки.Вставить("Content-Type", "application/json");
Ответ = HTTPСоединение.ОтправитьДляОбработки(Запрос);
Если Ответ.КодСостояния = 200 Тогда
Токен = ПрочитатьJSON(Ответ.ПолучитьТелоКакСтроку()).token;
КонецЕсли;
// Получение событий
Запрос = Новый HTTPЗапрос("/api/v1/events", "POST");
Запрос.Заголовки.Вставить("Authorization", "Bearer " + Токен);
// ... тело с датами
// ... парсинг и запись в регистр
Шаг 3. Код для PERCo
HTTPСоединение = Новый HTTPСоединение("192.168.1.50", 80);
ЛогинПароль = "admin:12345";
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "Basic " + Base64Строка(ЛогинПароль));
Ответ = HTTPСоединение.Получить("/api/v1/events?from=2025-11-06T00:00:00&to=2025-11-06T23:59:59", , , , Заголовки);
Если Ответ.КодСостояния = 200 Тогда
// Парсинг JSON и запись в регистр
КонецЕсли;
Важно: в 1С включите разрешение на HTTP-соединения: «Администрирование» → «Параметры безопасности» → «Разрешить HTTP-соединения».
Для сопоставления сотрудников используйте табельный номер или UID карты, который должен совпадать в 1С и СКУД.
8. Типовые ошибки и способы их устранения
| Ошибка | Причина | Решение |
|---|---|---|
| 401 Unauthorized | Неверный логин/пароль или просроченный токен (Болид) | Проверьте учётные данные, получите новый токен |
| Соединение не устанавливается | Брандмауэр блокирует порт 80/443 | Разрешите входящие/исходящие подключения к IP СКУД |
| Пустой ответ | В «Орион ПРО» не включён Web Server | В консоли «Орион ПРО»: «Сервис» → «Параметры» → «Web Server» → «Включить» |
| Ошибка в 1С: «Недопустимый JSON» | Сервер возвращает HTML (например, страницу ошибки) | Проверьте URL и статус ответа перед парсингом |
| Нет событий за вчера | В PERCo не настроена архивация событий | В PERCo-Configurator: «Архив событий» → включите сохранение на 30+ дней |
9. Заключение
Интеграция СКУД с 1С:Управление торговлей позволяет автоматизировать учёт рабочего времени и повысить контроль за персоналом. Ключевые рекомендации:
- Для «С2000-2» обязательно используйте «Орион ПРО» с включённым Web Server;
- Для PERCo убедитесь, что прошивка ≥6.0 и включён веб-сервер;
- Всегда проверяйте API через Postman или cURL перед внедрением в 1С;
- Синхронизируйте идентификаторы сотрудников (табельный номер, UID карты) между системами;
- Настройте регламентное задание в 1С на получение данных не чаще чем раз в 5–10 минут, чтобы не нагружать СКУД.
При корректной настройке интеграция работает стабильно годами без вмешательства.
