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