Переход с устаревших конфигураций (УПП 1.3 или ЗУП 2.5) на современную ЗУП 3.1 — процесс трудоемкий, даже при использовании штатных механизмов. Часто возникают ситуации, когда документы Перенос данных созданы, суммы в них видны, но типовые отчеты, такие как «Полный свод начислений, удержаний и выплат», упорно показывают пустоту за определенные периоды. Разберем детально, почему так происходит и как исправить ситуацию.
Для начала проанализируем важную техническую особенность ЗУП 3.1. В отличие от старых программ, где отчеты могли строиться напрямую по регистрам расчета, в новой редакции архитектура разделена:
Начисления): отвечают за сам процесс расчета, хранение периодов действия и связь с вытесняющими видами расчета.НачисленияУдержанияПоСотрудникам): именно из этого регистра «растут ноги» у большинства зарплатных отчетов (Свод, Расчетный листок, Анализ зарплаты).Если при переносе данных информация попала в регистр расчета, но не отразилась в регистре накопления, вы столкнетесь с ситуацией: в форме документа данные есть, а в Своде — нет. Рассмотрим, как это проверить.
Рассмотрим конкретный документ Перенос данных за проблемный месяц. Откроем его и перейдем к просмотру движений. Нам необходимо убедиться, что заполнены вкладки, соответствующие регистру накопления НачисленияУдержанияПоСотрудникам.
Выясним причину отсутствия записей. При «полном» переносе (вариант «Использовать начисления предыдущей программы») система пытается эмулировать движения документов начисления. Если в исходной базе (УПП) были ручные корректировки или специфические настройки видов расчета, алгоритм переноса может «потерять» часть данных для регистров накопления, ограничившись только записями расчета.
Проанализируем ситуацию с помощью Универсального отчета. Это самый быстрый способ понять, «видит» ли платформа данные в принципе. Настроим отчет следующим образом:
Если в Универсальном отчете данные за январь-апрель отсутствуют, значит, проблема в самом заполнении документа Перенос данных. Если же данные там есть, но в Свод они не попадают — проанализируем настройки отчета «Свод».
Посмотрим на структуру данных. Отчет «Свод» часто имеет жесткие группировки по организации и подразделению. Проанализируем следующие моменты:
Подразделение в регистре накопления. Если в документе Перенос данных в табличной части регистра подразделение не указано, отчет может отсекать эти строки при наличии отбора по подразделениям.Если мы выяснили, что регистр накопления пуст, а регистр расчета заполнен, можно воспользоваться обработкой для «дозаполнения» движений. Рассмотрим пример логики, которую можно применить (условно):
// Пример логики анализа записей
Выборка = РегистрыРасчета.Начисления.Выбрать(НачалоПериода, КонецПериода);
Пока Выборка.Следующий() Цикл
// Проверяем наличие соответствующей записи в НачисленияУдержанияПоСотрудникам
// Если записи нет — формируем её на основании данных расчета
КонецЦикла;
Однако, прежде чем писать код, попробуйте перепровести документ Перенос данных. Несмотря на то, что это статичные записи, иногда повторная запись документа с корректно настроенными правилами (если они менялись) может помочь.
Это классическая ситуация. НДФЛ в ЗУП 3.1 живет в своих регистрах (РасчетыНалогоплательщиковСБюджетомПоНДФЛ и др.). При переносе данные по налогам могут лечь корректно, так как их структура проще и правила переноса для них более стабильны. Начисления же завязаны на сложную иерархию видов расчетов и настроек учета, что чаще приводит к сбоям при «не рекомендованном» способе переноса.
Рассмотрим варианты решения, если данные так и не появились:
Перенос данных.НачисленияУдержанияПоСотрудникам с отбором по регистратору. Это окончательно снимет вопрос — есть записи в базе или их нет.Резюме: Отсутствие данных в Своде при их наличии в документе переноса — это почти всегда признак пустого регистра накопления НачисленияУдержанияПоСотрудникам. Работайте с движениями документа Перенос данных, проверяйте заполнение аналитик (Подразделение, Организация) и используйте Универсальный отчет для локализации проблемы.