Перенос кадрового и расчетного учета из конфигурации «1С:Бухгалтерия предприятия 3.0» (БП) в специализированную программу «1С:Зарплата и управление персоналом 3.1» (ЗУП) — это технически сложный процесс. Очень часто после автоматического переноса данных пользователи сталкиваются с некорректным расчетом среднего заработка (для отпускных и больничных), а также с «разлëтами» в учете НДФЛ. Программы имеют принципиально разную архитектуру проведения документов и регистров накопления, из-за чего стандартные механизмы переноса могут искажать данные.
В этой статье мы подробно разберем причины возникновения основных ошибок при переходе и дадим практические пошаговые инструкции по их устранению.
---
Суть проблемы: Если сотрудник был принят на работу в середине месяца, при расчете отпуска в ЗУП 3.1 программа учитывает весь этот месяц как полностью отработанный. Вместо пропорционального расчета календарных дней (исходя из среднемесячного коэффициента 29.3) система подставляет полные дни за весь месяц. В результате средний заработок сотрудника искусственно занижается.
Выясним причину этой ошибки. При переносе данных из БП в ЗУП создается документ Перенос данных с префиксом ЗП_СЗО (данные для расчета общего среднего заработка). Программа переносит информацию в регистр накопления Данные о времени для расчета среднего заработка (общий). При этом часто игнорируется реальная дата приема сотрудника, и в регистр записывается полное количество календарных дней за месяц.
Пошаговое решение проблемы:
Перенос данных (ЗП_СЗО), ЗУП 3.1 может автоматически создать корректировочные записи в регистре сведений Данные о времени для расчета общего среднего заработка (корректировка). Из-за этого при расчете отпуска данные снова исказятся.Чтобы окончательно выровнять учет, необходимо программно очистить этот корректировочный регистр. Для этого мы можем воспользоваться простой обработкой или запустить следующий код в режиме внешнего соединения/групповой обработки:
НаборЗаписей = РегистрыСведений.ДанныеОВремениДляРасчетаОбщегоСреднегоЗаработкаКорректировка.СоздатьНаборЗаписей();
// При необходимости можно установить отбор по конкретному сотруднику:
// НаборЗаписей.Отбор.Сотрудник.Установить(ВыбранныйСотрудник);
НаборЗаписей.Записать(Истина);
После очистки этого регистра система будет обращаться напрямую к корректным записям из документа переноса данных.
---
Суть проблемы: При попытке рассчитать больничный лист в ЗУП 3.1 программа «не видит» отработанные дни за прошлые периоды (перенесенные из БП), из-за чего расчет среднего заработка ФСС приравнивается к нулю или выполняется неверно.
Проанализируем техническую сторону вопроса. Расчет пособий по временной нетрудоспособности в ЗУП 3.1 опирается на три основных регистра, которые заполняются документами переноса с префиксом ЗП_СЗФСС:
Данные о начислениях для расчета среднего заработка (ФСС);Данные страхователей для расчета среднего заработка (ФСС);Данные о времени для расчета среднего (ФСС).Очень часто при переносе данных из «1С:Бухгалтерии» в регистре сведений Данные о времени для расчета среднего (ФСС) сбивается время записи. Вместо стандартного начала дня (00:00:00) программа записывает транзакции со временем 12:00:00, 18:00:00 и т.д. Из-за этого механизмам ЗУП не удается сопоставить данные, и система считает, что отработанных дней за этот период нет.
Как исправить ошибку со временем в регистре ФСС:
Для исправления времени всех записей регистра на начало дня воспользуемся следующим кодом:
Выборка = РегистрыСведений.ДанныеОВремениДляРасчетаСреднегоФСС.Выбрать();
Пока Выборка.Следующий() Цикл
Если НачалоДня(Выборка.Период) <> Выборка.Период Тогда
Набор = РегистрыСведений.ДанныеОВремениДляРасчетаСреднегоФСС.СоздатьНаборЗаписей();
Набор.Отбор.Период.Установить(Выборка.Период);
Набор.Отбор.Сотрудник.Установить(Выборка.Сотрудник);
Набор.Прочитать();
Для Каждого Запись Из Набор Цикл
Запись.Период = НачалоДня(Запись.Период);
КонецЦикла;
Попытка
Набор.Записать(Истина);
Исключение
Сообщить("Ошибка записи для сотрудника: " + Выборка.Сотрудник);
КонецПопытки;
КонецЕсли;
КонецЦикла;
Важный нюанс: Если у вас есть сотрудники, которые были уволены и приняты на работу повторно, данные по их прошлым периодам работы в этой же организации могут не перенестись автоматически. Для таких сотрудников необходимо вручную создать документ Справка для расчета пособий (входящая) за предшествующие два года.
---
Суть проблемы: В БП 3.0 в феврале у сотрудника было начислено 14 000 руб., а также проведено сторно на сумму -12 000 руб. Итоговый доход составил 2 000 руб. Однако после переноса в ЗУП 3.1 программа видит только доход в размере 14 000 руб., полностью игнорируя сторнирование.
Разберем причину этого явления. В «1С:Бухгалтерии 3.0» учет НДФЛ значительно упрощен. Корректировки доходов и налога часто регистрируются непосредственно в платежных документах (например, в документе Списание с расчетного счета). В ЗУП 3.1 действует строгая архитектурная модель: «Начисление — Выплата». ЗУП не воспринимает отрицательные доходы или сторно НДФЛ, если они не привязаны к первичному документу-основанию (такому как Сторнирование начислений или Перерасчет НДФЛ). При переносе банковские документы из БП просто отсекаются правилами конвертации и не делают движений по регистрам НДФЛ в ЗУП.
Решение проблемы расхождений по НДФЛ:
Чтобы выровнять учет НДФЛ, нам придется вручную скорректировать перенесенные данные с помощью документа Перенос данных с префиксом НДФЛ. Нам необходимо одновременно внести исправления в два регистра:
Учет доходов для исчисления НДФЛ:
Дата получения дохода должно строго соответствовать фактической дате выплаты этого сторнируемого дохода в исходном периоде (например, дате выплаты зарплаты за февраль в начале марта).Расчеты налогоплательщиков с бюджетом по НДФЛ:
После проведения скорректированного документа Перенос данных сформируем отчет Анализ НДФЛ по месяцам и убедимся, что суммы доходов и исчисленного налога полностью сошлись с данными из бухгалтерии.
---
Еще одна скрытая проблема перехода связана с тем, что в перенесенных документах выплаты (Ведомости в банк, Ведомости в кассу) по умолчанию не устанавливается флаг НДФЛ перечислен вместе с зарплатой. В БП 3.0 факт перечисления регистрируется отдельным документом, а в ЗУП 3.1 без этой галочки программа считает, что удержанный налог не был перечислен в бюджет. Это приводит к колоссальным расхождениям в регламентированной отчетности (форма 6-НДФЛ).
Чтобы не заходить в каждую ведомость прошлых периодов вручную, выполним следующие шаги:
Ведомость в банк и Ведомость в кассу.Налог перечислен (или Перечисление НДФЛ выполнено) и установим для него значение Да.После проведения этой операции ЗУП автоматически сформирует корректные движения по регистру уплаты НДФЛ, и баланс между удержанным и перечисленным налогом будет восстановлен.