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