Вопрос автоматизации учета рабочего времени встает перед каждой растущей компанией. Руководство часто ставит задачу: «Хочу, чтобы сотрудник приложил карту к турникету, и в 1С:ЗУП автоматически заполнился табель». В данной статье мы подробно разберем, как реализовать такую связку, какое оборудование выбрать и с какими техническими сложностями придется столкнуться.
Прежде чем приступать к кодингу, проанализируем доступное оборудование. На рынке СНГ выделяются несколько ключевых игроков, которые уже имеют готовые наработки для интеграции с 1С:
Рассмотрим подробнее способы получения данных из системы контроля и управления доступом (СКУД) в 1С:ЗУП.
1. Прямое подключение к базе данных СКУД (ADO/SQL)
Большинство систем хранят логи проходов в базах MS SQL Server или PostgreSQL. Мы можем настроить регламентное задание в 1С, которое будет раз в час или раз в сутки подключаться к этой базе и забирать новые записи. Проанализируем примерный код для такого подключения:
// Пример подключения к внешней БД SQL через ADO
Connection = Новый COMОбъект("ADODB.Connection");
ConnectionString = "Driver={SQL Server};Server=SERVER_NAME;Database=SCS_BASE;Uid=user;Pwd=password;";
Попытка
Connection.Open(ConnectionString);
Command = Новый COMОбъект("ADODB.Command");
Command.ActiveConnection = Connection;
Command.CommandText = "SELECT TOP 100 EmployeeID, EventTime, Direction FROM Events WHERE Processed = 0";
RecordSet = Command.Execute();
// Обработка полученных строк...
Исключение
Сообщить("Ошибка подключения: " + ОписаниеОшибки());
КонецПопытки;
2. Использование HTTP-сервисов (API)
Более современный метод, когда СКУД сама отправляет данные в 1С или предоставляет REST API. Разберем ситуацию: в момент прикладывания карты контроллер обращается к HTTP-сервису 1С, передавая номер карты. 1С проверяет права сотрудника и возвращает ответ «Разрешить» или «Запретить», попутно фиксируя время входа в регистре сведений.
3. Файловый обмен
Самый простой, но наименее оперативный метод. ПО проходной выгружает за сутки текстовый файл (CSV, XML), а 1С через Обработка.ЗагрузкаДанных считывает его. Для реализации такого сценария можно применить обработку для загрузки табеля учета рабочего времени в ЗУП из Excel.
Не рекомендуется записывать данные сразу в типовой документ Табель. Проанализируем правильную архитектуру:
Табель. Важно помнить, что если сотрудник был в отпуске или на больничном (что уже зафиксировано в ЗУП), данные проходной не должны перекрывать эти кадровые события.При внедрении системы мы обязательно столкнемся с человеческим фактором. Разберем, как программно обрабатывать ошибки:
Проблема "Забытый выход": Сотрудник зашел утром, но вечером вышел вместе с коллегой, не приложив карту. Система увидит вход, но не увидит выхода. В этом случае проанализируем алгоритм: если в течение суток нет парного события, система должна либо закрывать день по графику работы сотрудника, либо помечать такой день в отчете для ручного исправления кадровиком.
Проблема "Множественные проходы": Курильщики или сотрудники, часто выходящие по рабочим делам, создают десятки записей в день. Рекомендуется использовать логику «Первый вход — последний выход» для расчета общего времени, но при этом иметь возможность детализации всех перемещений для контроля дисциплины. Для детального контроля присутствия сотрудников можно использовать отчет для проверки времени работы в ЗУП по проходам СКУД «Орион».
Биометрия и внешние факторы: Как отмечалось на форуме, сканеры отпечатков пальцев могут давать сбои зимой или при работе с химикатами. В таких случаях рассмотрим внедрение терминалов распознавания лиц (FaceID) — они работают быстрее и бесконтактно, что значительно снижает очередь на проходной в часы пик.
Подводя итог, можно сказать, что типового «волшебного» решения «из коробки», которое сразу идеально заполнит табель, не существует. Однако, используя оборудование с открытым API (например, Sigur) и возможности 1С по созданию HTTP-сервисов, можно построить эффективную систему.
Основные этапы внедрения:
ТабельныйНомер или уникальный ID карты, прописанный в справочнике ФизическиеЛица).Такой подход позволит не просто собирать статистику, а создать реальный инструмент контроля дисциплины и автоматизации расчета заработной платы.