Почему при переходе с ЗУП 2.5 на ЗУП 3.1 данные для расчета среднего заработка переносятся не полностью

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом
← На главную

Переход с конфигурации «Зарплата и управление персоналом», редакции 2.5, на современную редакцию 3.1 — это сложный процесс, сопровождающийся изменением не только интерфейса, но и коренной перестройкой архитектуры хранения данных. Одной из наиболее частых претензий со стороны бухгалтерской службы является «неполный» перенос данных для расчета среднего заработка. Бухгалтеры привыкли видеть всю историю начислений за многие годы, однако в новой базе документы Перенос данных с кодами ЗП_СЗО часто содержат информацию только за последние три года. Разберем детально, почему так происходит, и как мы можем решить эту задачу, если полная история всё же необходима.

Анализируем стандартный алгоритм переноса данных

При использовании стандартного помощника перехода 1С предлагает два варианта: рекомендованный («краткий») перенос и «полный» перенос. Однако важно понимать, что даже при выборе «полного» переноса система применяет определенные фильтры к расчетным данным. Основная причина отсутствия данных ранее 2017 года (при переходе в 2020-х годах) заключается в жестко запрограммированном ограничении периода в правилах обмена.

Рассмотрим, как 1С обосновывает это ограничение:

  1. Законодательная целесообразность. Для расчета обычных отпусков и командировок требуется расчетный период в 12 месяцев. Для расчета пособий по временной нетрудоспособности (больничных) — 2 года. 1С переносит данные с запасом (3 года), чтобы покрыть стандартные потребности и исключить ошибки при расчете «переходящих» событий.
  2. Изменение структуры регистров. В ЗУП 2.5 средний заработок собирался на лету из различных регистров расчета. В ЗУП 3.1 для этого созданы специализированные регистры накопления: Данные о начислениях для расчета среднего заработка (общий) и Данные о времени для расчета среднего заработка (общий).
  3. Оптимизация производительности. Перенос данных за 10-15 лет может привести к критическому увеличению размера базы и созданию тысяч документов Перенос данных, которые никогда не будут востребованы в текущей работе.

Разбор механизмов хранения данных: ЗП_СЗО и ЗП_СЗФ

Проанализируем ситуацию: почему начисления с 2010 года видны в отчетах, а в расчете среднего их нет? Дело в том, что обычные начисления попадают в регистры учета доходов (например, для НДФЛ или взносов), а для среднего заработка используются отдельные таблицы. При переносе создаются документы:

Если в документе Перенос данных с кодом ЗП_СЗО нет записей за 2010-2016 годы, то программа «не увидит» этот заработок при создании документа Отпуск, даже если в базе есть документы начисления зарплаты за те периоды.

Как изменить период выгрузки: техническое решение

Если руководство или бухгалтерия настаивают на переносе всей истории, нам потребуется внести изменения в инструменты миграции. Выясним, как это сделать по шагам.

Для выгрузки данных используется внешняя обработка, которая обычно встроена в состав конфигурации или поставляется отдельно (файл с расширением .epf). В последних релизах это может быть обработка V3_Pr_ZUP25_ZUP30.epf. Чтобы расширить период, проанализируем следующие действия:

1. Использование «нерекомендуемого» режима.
В некоторых релизах помощника перехода при выборе режима «Полный перенос» появляется возможность ручной настройки даты начала эксплуатации. Посмотрим, позволяет ли ваша версия изменить дату начала выгрузки среднего заработка непосредственно в интерфейсе. Если поле заблокировано, переходим к следующему шагу.

2. Редактирование правил обмена (XML).
Правила выгрузки содержат алгоритмы на языке 1С, которые определяют выборку данных. Нам нужно найти параметр, отвечающий за глубину поиска данных для среднего заработка. Обычно это переменная, вычисляемая как ДатаНачала - 3 года. Нам нужно найти функцию, подобную этой:


// Пример логики в правилах обмена
ДатаНачалаВыгрузкиСреднего = ДобавитьМесяц(Параметры.ДатаНачалаЭксплуатации, -36);
// Мы можем изменить это значение на нужное нам количество месяцев
ДатаНачалаВыгрузкиСреднего = '20100101';

3. Внесение изменений в обработку выгрузки.
Откроем обработку выгрузки в конфигураторе. Проанализируем модуль объекта или формы на предмет формирования запросов к регистрам расчета ОсновныеНачисления и ДополнительныеНачисления. Ищем фрагменты кода, где устанавливается период выборки для узлов, отвечающих за средний заработок.

Особые случаи: отпуска по уходу за ребенком

Проанализируем ситуацию, упомянутую на форуме: расчет среднего после выхода из декрета. Согласно законодательству, если сотрудница последние годы находилась в отпуске по уходу за ребенком, она имеет право заменить годы расчетного периода на более ранние. В этом случае 3 лет истории действительно может не хватить.

Однако, как показывает практика, таких случаев в организации немного. Рассмотрим альтернативный подход: вместо того чтобы перегружать базу данными за 10 лет ради двух-трех сотрудников, расчетчик может внести данные вручную непосредственно в документе Больничный лист или Отпуск. Для этого в форме расчета среднего заработка предусмотрена кнопка «Изменить данные для расчета среднего заработка». Введенные один раз вручную данные сохранятся в базе 3.1 и будут использоваться в дальнейшем.

Проблема индексации и корректности данных

Важно предупредить коллег-бухгалтеров о рисках. Выясним, почему старые данные могут быть «опасными»:

Подводим итоги и формируем рекомендации

Рассмотрим оптимальный алгоритм действий при переходе:

  1. Выполняем перенос за стандартный период. Это обеспечит стабильную работу базы и корректность актуальных расчетов.
  2. Сохраняем копию ЗУП 2.5 как архив. Это обязательное условие. Все исторические справки и сложные пересчеты за старые периоды должны выполняться с опорой на первоисточник.
  3. Разъясняем бухгалтерии принцип работы ЗУП 3.1. Данные для среднего — это не просто «записи в журнале», это записи в специализированных регистрах накопления, которые имеют ограниченный срок актуальности.
  4. При необходимости — корректируем правила. Если специфика предприятия (например, сезонные работы с длинными циклами или массовые декретные отпуска) требует глубокой истории, привлекаем программиста для модификации файла V3_Pr_ZUP25_ZUP30.epf или изменения даты в режиме «Полного переноса».

Таким образом, отсутствие данных ранее 2017 года — это не ошибка программы, а реализованная методология фирмы 1С. Понимая техническую сторону вопроса, мы можем либо адаптировать систему под нужды пользователя, либо предложить более эффективный способ работы с архивными данными без ущерба для производительности новой информационной системы.

← На главную