Контроль доступа и автоматизация учета рабочего времени — темы, традиционно вызывающие живой интерес у руководителей. Потеря контроля над этой системой может обернуться серьезными сбоями. В нашем случае речь идет об ошибках при интеграции между программным обеспечением «1С: Зарплата и управление персоналом» и системой контроля и учета доступа Timex. Спойлер: как часто бывает, в ошибках виноваты рептилоиды. Ошибки мы нашли и исправили, рептилоидов — нет.
О заказчике и используемом ПО
Наш заказчик — Набережночелнинский трубный завод (НЧТЗ), один из крупнейших отечественных производителей оборудования для заканчивания нефтяных и газовых скважин. Штат компании насчитывает более 1000 сотрудников. Для кадрового учета, расчета заработной платы и планирования затрат на оплату труда используется типовое решение «1С:Зарплата и управление персоналом» (1С:ЗУП).
1С:ЗУП интегрирован с Timex — гибким программным обеспечением для построения систем контроля доступа и учета рабочего времени. Благодаря модульной архитектуре, Timex позволяет наращивать функциональность без необходимости доработки основного кода.
У Timex есть SDK — программный модуль, расширяющий возможности системы и обеспечивающий взаимодействие с внешними решениями через SOAP-веб-сервисы и API. Однако, как показала практика, в реализации были допущены упущения, особенно в части взаимодействия с 1С.
Интеграция может быть настроена двумя способами:
Экспорт данных из 1С в Timex — передаются списки сотрудников, их должности, подразделения. В Timex уже назначаются уровни доступа, рабочие зоны и графики.
Импорт данных из Timex в 1С — сотрудники и их атрибуты заносятся непосредственно в Timex, после чего система фиксирует события и передает их в 1С.
Плюс второго подхода — автономность Timex. Минус — риск появления дублирующихся записей и ошибок в учете. Об этом расскажу подробнее.
Суть проблемы
При синхронизации между 1С и Timex начали появляться сбои. Основные ошибки касались:
1. Дублирования сотрудников и должностей
Сотрудник приходил на работу, но данные о его посещении отсутствовали. Выяснилось, что в базе Timex для одного и того же физлица могли существовать две записи:
одна — корректная, выгруженная из 1С, например, с должностью «Главный специалист»;
вторая — созданная вручную в Timex с другой должностью, например, «Ведущий специалист».
Если в 1С:ЗУП сотрудник оказывался связанным с неверной записью из Timex, табель оставался пустым — события не фиксировались. Timex позволяет переопределить связи между сотрудниками и их идентификаторами вручную, но этот процесс трудоемкий, а ошибки обнаруживаются уже постфактум, при возникновении проблем в табелях.
2. Неверное отображение кода отпуска по уходу за ребенком (ОЖ)
Ошибка проявлялась, когда сотрудник досрочно возвращался из отпуска по уходу за ребенком. В 1С оформлялся документ «Возврат из отпуска…», однако в Timex состояние отпуска сохранялось. В результате в табеле отражалось, что сотрудник одновременно на работе и в отпуске. Особенно нелепо это выглядело, когда человек, по данным системы, «прерывал отпуск», чтобы прийти поработать в выходной.
Такое поведение приводило к ошибкам в расчетах заработной платы и некорректному учету рабочего времени.

В первом случае проблема могла быть решена наведением порядка в системах с последующей регулярной синхронизацией данных. Есть два способа наведения порядка: вручную и с помощью автоматической обработки. Второй способ предпочтительнее, т.к. от повторения ошибок никто не застрахован.
Во втором случае ошибки были вызваны недостатками в коде обработки Timex при определении сотрудника, если их создано несколько для одного физлица. Такое может быть, если сотрудник был уволен, а потом опять принят на работу.
Решение проблемы: создаем обработку в 1С для корректировки данных Timex
Чтобы устранить ошибки синхронизации между 1С:ЗУП и системой Timex, было принято решение разработать специализированную обработку в 1С. Она помогает:
находить дубли сотрудников;
корректно переопределять связи между 1С и Timex;
устранять ошибки в табелях и документах, таких как «Возврат из отпуска по уходу за ребенком».
Ниже — обзор основных возможностей и механики работы готового решения.
Поиск и переопределение дубликатов сотрудников
На вкладке «Сотрудники (дубли)» реализован функционал для поиска дублирующих записей сотрудников в базе Timex.
Сначала необходимо обновить список — это делается через кнопку «Обновить данные» на вкладке «Мастера настройки связей».
После загрузки отобразятся сотрудники, у которых в Timex зафиксированы несколько записей. Группировка осуществляется по ФИО.
В таблице все данные подгружаются из Timex, за исключением колонки «Сотрудник 1С» — в нее вручную указывается связанный сотрудник из 1С.
Чтобы переопределить связь, необходимо установить флажок напротив нужной строки и выполнить запись изменений.

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

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

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

Также доступна кнопка «Сопоставление Timex», открывающая полный список всех текущих связей. Через строку поиска можно быстро найти нужного сотрудника и удалить лишнюю или некорректную запись.
Результаты внедрения
В ходе работы мы:
выявили ключевые причины ошибок при обмене данными между системой контроля доступа Timex и 1С:ЗУП;
предложили способы диагностики и устранения возникающих сбоев;
-
разработали и внедрили специализированные обработки в 1С, которые позволяют:
обнаруживать дубли сотрудников в базе Timex и удалять их;
настраивать и корректировать соответствия между сотрудниками в 1С и Timex;
анализировать и вручную исправлять некорректные должности, указанные в базе Timex;
корректно формировать табель при досрочном выходе сотрудника из отпуска по уходу за ребёнком;
управлять связями между записями сотрудников в обеих системах.
Результат: интеграция между Timex и 1С стала надёжным инструментом для отдела кадров и бухгалтерии. Это позволило повысить точность учета рабочего времени, упростить обработку данных и снизить риски ошибок в начислении заработной платы. В конечном счёте — повысилась операционная эффективность ООО «Набережночелнинский трубный завод».
Столкнулись с ошибками в 1С или нарушением в интеграции? Заполните форму на нашем сайте — мы поможем выявить причины и настроим корректную, стабильную работу ваших бизнес-систем.
Roland21
Обычные проблемы интеграции 2х система учета - разные ИД ключевых данных и двоение/несоответствие.
В чем суть статьи-то? )