Каждый бухгалтер и кадровик, работающий в программе «1С:Зарплата и управление персоналом 8» (редакция 3.1), хотя бы раз сталкивался с ситуацией, когда программа начинает вести себя непредсказуемо при заполнении регламентированной отчетности и документов учета времени. Одна из наиболее запутанных проблем — автоматический сброс фактически введенных часов неявок (например, по больничному листу или отпуску) на стандартные 8 часов в документе Табель и самопроизвольное изменение данных в проведенном документе Индивидуальный график при его обычном открытии.
В этой статье мы подробно разберем, почему возникает эта техническая коллизия, как восстановить корректные данные в информационной базе и как избежать подобных ошибок при ведении учета времени сотрудников со сменными графиками работы.
Для того чтобы понять природу этой ошибки, нам необходимо проанализировать внутреннее устройство и логику работы программы. В 1С:ЗУП 3.1 учет рабочего времени строится на двух ключевых понятиях: плановое время (норма) и фактическое время (явки и отклонения).
Когда вы вводите документ Индивидуальный график, вы задаете для сотрудника индивидуальный план работы на месяц (например, смены по 4 часа вместо стандартных 8). Однако за фиксацию отсутствия сотрудника отвечают документы отклонений — такие как Больничный лист или Отпуск. При проведении этих документов программа производит расчет и запись часов неявок в специальные регистры накопления и сведения.
Рассмотрим, что происходит при нарушении последовательности (хронологии) ввода документов:
Больничный лист программа обращается к действующему на тот момент плановому графику сотрудника. Если у сотрудника в кадровом учете назначена обычная пятидневка, программа «видит» плановую норму в 8 часов. Соответственно, в регистры записывается неявка (код Б) продолжительностью именно 8 часов.Индивидуальный график. Этот документ меняет плановые показатели, но он не умеет автоматически перепроводить ранее созданные документы отклонений. В базах данных возникает конфликт: план требует 4 часа работы, а в регистре зарегистрированного отсутствия уже жестко закреплены 8 часов неявки.Табель программа анализирует данные из первичных документов отклонений. Видя проведенный больничный на 8 часов, табель игнорирует настройки планового ИГ и заполняет строку значением Б 4 (если это было в планах) пересчитывая его в Б 8, подтягивая фактические данные из проведенного ранее больничного.Многих пользователей пугает поведение программы, когда сохраненный и проведенный документ Индивидуальный график меняет свои данные (часы смен пересчитываются обратно на 8 часов) прямо в момент его открытия. Это не является сбоем платформы или признаком доработки конфигурации.
Дело в том, что при открытии формы документа 1С:ЗУП выполняет динамическую проверку актуальности данных. Программа сопоставляет плановые строки табличной части с фактическими записями в регистрах, созданными документами Табель или Больничный лист. Если в системе уже зарегистрирован и проведен факт отсутствия на 8 часов, форма документа Индивидуальный график пытается подстроиться под фактические данные и перезаполняет строки по основному графику работы сотрудника, сбрасывая ручные настройки пользователя. Это защитный механизм программы от рассинхронизации плановых и фактических данных, который в данном случае работает против пользователя из-за нарушенной последовательности действий.
Если вы столкнулись с описанной ситуацией, не нужно вручную исправлять часы в самом табеле или пытаться заново перебивать индивидуальный график. Проблему необходимо решать через восстановление правильной последовательности проведения документов. Разберем по шагам, как это сделать:
Табель за проблемный месяц и все проведенные документы отклонений по данному сотруднику (документы Больничный лист, Отпуск, Командировка и др.).Индивидуальный график. Убедитесь, что в нем установлены верные плановые часы (например, смены по 4 часа). Проведите этот документ. Теперь в системе зафиксирована правильная плановая норма времени.Больничный лист (или другой документ отсутствия). Внутри документа пересчитайте его (кнопка с круговыми стрелками или перезаполнение данных) — теперь программа увидит новую норму из индивидуального графика и рассчитает часы отсутствия правильно (в нашем примере — 4 часа неявки вместо 8). Проведите документ.Табель, обновите или перезаполните данные по сотруднику. Вы увидите, что код неявки (например, Б) встал в соответствии с плановыми часами из индивидуального графика (Б 4). Проведите табель.Соблюдение этого простого алгоритма гарантирует, что данные во всех регистрах учета времени будут согласованы между собой, а отчетные формы (такие как печатная форма Т-13) заполнятся без ошибок.
Проанализируем еще один важный аспект, упомянутый в обсуждении. Ситуация, когда индивидуальные графики вводятся для «сотен сотрудников» ежемесячно, является грубой методологической ошибкой администрирования 1С:ЗУП.
Документ Индивидуальный график в концепции решений 1С предназначен исключительно для крайних, единичных случаев, когда конкретному работнику в конкретном месяце необходимо изменить индивидуальную норму времени (например, при разовом переносе смен или замещении). Постоянное и массовое использование этого документа приводит к следующим негативным последствиям:
Как сделать правильно? Если у вас большое количество сотрудников работает посменно, необходимо один раз настроить в справочнике Графики работы сотрудников (раздел «Настройка») полноценные сменные графики работы с заполнением «По циклам произвольной длины» (например, «Сутки через трое», «Два через два» и т.д.). Сотрудники должны переводиться на эти графики кадровыми документами (Прием на работу, Кадровый перевод или массовым документом Изменение графиков работы списка). В этом случае система будет автоматически и без ошибок рассчитывать любые отклонения и заполнять табель учета рабочего времени.