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