При формировании отчета «Расчетный листок» в программе «1С:Зарплата и управление персоналом» редакции 3.1 пользователи часто сталкиваются с крайне неприятной ситуацией: сальдо на начало и конец месяца отображается некорректно. Ошибка выглядит плавающей — в одном месяце долг за предприятием или сотрудником выводится правильно, а при формировании за квартал, полугодие или год суммы «разъезжаются» и не соответствуют реальному положению дел. При этом, если сформировать ведомость на выплату зарплаты, программа подтягивает абсолютно верные суммы к выплате.
В этой статье мы подробно разберем причины возникновения данной проблемы, изучим внутренние механизмы работы регистров программы, а также рассмотрим все возможные способы решения проблемы — как с помощью обновления конфигурации, так и с использованием обходных путей, если обновить базу по каким-то причинам невозможно.
Для того чтобы понять, почему программа искажает итоговое сальдо в отчете, давайте заглянем «под капот» механизма взаиморасчетов «1С:ЗУП 3.1». При формировании расчетных листков и других отчетов по заработной плате система обращается к трем ключевым регистрам накопления:
ВзаиморасчетыССотрудниками — здесь учитывается так называемый расчетный долг (сальдо по месяцам начисления зарплаты).БухгалтерскиеВзаиморасчетыССотрудниками — отвечает за сальдо по бухгалтерскому учету (привязка идет к датам фактической выплаты).ЗарплатаКВыплате — управляет суммами, которые попадают в платежные ведомости.В релизах ветки 3.1.5 (до версии 3.1.5.212) и ветки 3.1.6 (до версии 3.1.6.37) присутствовала зарегистрированная техническая ошибка № 30160453. Суть ее заключалась в некорректной работе запроса в Схеме компоновки данных (СКД) самого отчета «Расчетный листок».
Когда мы формируем отчет ровно за один месяц, СКД делает запрос к виртуальным таблицам остатков и оборотов за этот узкий интервал времени, и расчет происходит верно. Но стоит нам выбрать период, превышающий один месяц (например, с января по март), как алгоритм СКД начинает неверно группировать промежуточные итоги и границы периодов внутри выбранного интервала. В результате конечный остаток по регистру ВзаиморасчетыССотрудниками задваивался или уменьшался на суммы промежуточных выплат, хотя физически в самой базе данных (в регистрах) движения записаны абсолютно корректно. Именно поэтому в ведомостях на выплату суммы всегда оставались правильными — ведомости используют другие механизмы запросов к регистру ЗарплатаКВыплате, минуя проблемную СКД отчета.
---
Если ваша организация имеет действующий договор информационно-технологического сопровождения (ИТС), самым надежным и правильным решением будет обновление конфигурации. Ошибка расчета задолженности за период была официально устранена разработчиками фирмы «1С».
Проанализируем, какие релизы конфигурации гарантированно содержат исправление данной ошибки:
Важное примечание по последовательности обновлений: Если ваша текущая версия программы сильно устарела (например, вы работаете на релизе 3.1.5.99), крайне не рекомендуется обновляться сразу на актуальный релиз «в один шаг» (например, сразу на 3.1.6.6 или 3.1.6.38). При перепрыгивании через несколько промежуточных релизов могут некорректно отработать обработчики обновления данных, из-за чего ошибка в отчете не исчезнет, а база приобретет дополнительные сбои. Обновление нужно выполнять строго последовательно, соблюдая цепочку релизов, рекомендованную фирмой «1С» в таблице обновлений на портале техподдержки.
---
Что делать, если ваша компания находится, например, в стадии банкротства, подписка ИТС отсутствует, ИТ-специалиста в штате нет, а сдавать отчетность и выдавать сотрудникам корректные расчетные листки за год необходимо прямо сейчас? Рассмотрим несколько эффективных обходных путей.
Поскольку ошибка в запросе СКД проявляется только при выборе периода более одного месяца, самым простым решением будет формировать расчетные листки строго помесячно. Если выбрать в поле «Период» один конкретный месяц (например, Январь), сальдо на начало и конец периода рассчитается идеально.
Если у вас в штате более 100 или 600 сотрудников, формировать и печатать листки вручную за каждый из 12 месяцев по каждому работнику отдельно физически невозможно. Чтобы автоматизировать этот процесс без обновления базы, мы можем изменить настройки структуры самого отчета:
Период регистрации (Месяц) (или Месяц начисления) внутрь группировки по сотрудникам.В программе «1С:ЗУП 3.1» алгоритм вывода задолженности в расчетных листках можно переключить. Давайте посмотрим, как это сделать:
---
Иногда даже после обновления конфигурации до нужного релиза долг в расчетном листке продолжает отображаться неверно. Это сигнализирует о том, что проблема кроется не в ошибке отчета, а в реальном искажении данных внутри регистров накопления. Часто это происходит из-за ручных правок сумм и дат в ведомостях на выплату зарплаты.
Выясним, как диагностировать и исправить такую пересортицу с помощью технических инструментов программы.
Чтобы понять, за какие месяцы тянется неверное сальдо, проанализируем движения в регистрах:
ВзаиморасчетыССотрудниками, выберем таблицу Остатки и обороты.Физическое лицо и Месяц взаиморасчетов.Проводить документы прошлых закрытых периодов крайне опасно — это может привести к искажению учета НДФЛ и страховых взносов, а также поплывут данные в сданных отчетах 6-НДФЛ. Мы можем закрыть эту пересортицу в текущем периоде с помощью «нулевой» ведомости:
Это техническое проведение «схлопнет» зависшие остатки по разным месяцам взаиморасчетов в регистре ЗарплатаКВыплате и ВзаиморасчетыССотрудниками. После этого в расчетных листках за последующие месяцы сальдо будет рассчитываться без искажений.
---
Мы подробно разобрали проблему неверного расчета долга за предприятием в расчетных листках ЗУП 3.1. Для исправления этой ситуации в первую очередь необходимо проверить релиз вашей конфигурации. Если обновиться нет возможности, используйте механизм пакетной печати с группировкой по месяцам или переключите настройки вывода задолженности в параметрах расчета зарплаты. В случае застарелых ошибок взаиморасчетов обязательно проведите аудит регистров с помощью Универсального отчета и устраните пересортицу технической нулевой ведомостью.