Как настроить индексацию заработка задним числом после переноса данных из ЗУП 2.5 в ЗУП 3.0?

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

Переход с устаревшей конфигурации «1С:Зарплата и управление персоналом» версии 2.5 на современную платформу 3.0 (3.1) часто сопровождается техническими сложностями. Одна из наиболее распространенных и неприятных проблем связана с расчетом среднего заработка для отпусков и командировок, когда на предприятии проводилась индексация окладов. Если в старой базе ЗУП 2.5 индексация не оформлялась специализированным документом, а проводилась простыми кадровыми перемещениями, в новой базе автоматический расчет индексации среднего заработка работать не будет.

В этой статье мы подробно разберем, почему возникает эта проблема, проанализируем логику работы регистров 1С и пошагово настроим корректный расчет среднего заработка «задним числом» без разрушения кадровой истории.

---

Почему программа «не видит» прошлую индексацию? Выясняем причину

Для начала разберем внутренний механизм работы программы. При расчете среднего заработка для отпусков, командировок и других аналогичных событий программа обращается к специальным регистрам накопления, куда при переносе данных записывается вся историческая информация о доходах сотрудников.

Если в программе ЗУП 2.5 индексация оформлялась обычным документом Кадровое перемещение, система фиксировала лишь факт повышения оклада. При переносе данных в ЗУП 3.0 (который обычно выполняется в виде свертки данных за последние годы) программа переносит сведения о начислениях в технические документы Перенос данных с префиксом ЗП_СЗО (Средний заработок общий).

В этих документах для каждой записи о начислении (оклады, тарифные ставки и т.д.) предусмотрен специальный флаг «Индексируется». Так как в старой базе официальной индексации не было, перенос данных устанавливает этот признак в положение Ложь (флажок снят). Из-за этого программа считает, что данные суммы не подлежат коэффициенту индексации при расчете среднего заработка, даже если сам коэффициент будет внесен в систему.

---

Шаг 1. Активация функции индексации в настройках ЗУП 3.0

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

Выполним следующую последовательность действий:

  1. Перейдем в раздел меню Настройка, далее выберем пункт Расчет зарплаты.
  2. В открывшемся окне найдем и установим флажок «Выполняется индексация заработка сотрудников».
  3. Сохраним настройки.

После активации этой опции в программе станут доступны необходимые регистры и документы для регистрации коэффициентов повышения окладов.

---

Шаг 2. Корректировка признака «Индексируется» в документах переноса данных

Теперь нам предстоит решить ключевую техническую задачу — указать программе, что исторический заработок сотрудников за прошлые периоды (например, 2016–2017 гг.) подлежит индексации. Делать это вручную через интерфейс для каждого сотрудника за каждый месяц — колоссальный труд. Рассмотрим, как автоматизировать этот процесс.

Все исторические данные для расчета среднего заработка хранятся в регистре накопления Данные о начислениях для расчета среднего заработка (общий). Записи в этот регистр производятся документами Перенос данных с кодом ЗП_СЗО.

Для того чтобы массово установить признак Индексируется = Истина, программист может воспользоваться внешней обработкой, написав несложный код для изменения движений документов. Рассмотрим пример программного кода, который решает эту задачу:


ВыборкаДокументов = Документы.ПереносДанных.Выбрать();
Пока ВыборкаДокументов.Следующий() Цикл
    // Нас интересуют только документы переноса данных по среднему заработку
    Если Найти(ВыборкаДокументов.Номер, "ЗП_СЗО") > 0 Тогда
        ОбъектДок = ВыборкаДокументов.ПолучитьОбъект();
        
        // Создаем набор записей для изменения регистра накопления
        НаборЗаписей = РегистрыНакопления.ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий.СоздатьНаборЗаписей();
        НаборЗаписей.Отбор.Регистратор.Установить(ОбъектДок.Ссылка);
        НаборЗаписей.Прочитать();
        
        Модифицирован = Ложь;
        Для Каждого Запись Из НаборЗаписей Цикл
            // Проверяем, относится ли запись к основному заработку, который должен индексироваться
            Если Запись.Индексируется = Ложь Тогда
                Запись.Индексируется = Истина;
                Модифицирован = Истина;
            КонецЕсли;
        КонецЦикла;
        
        // Записываем измененный набор в базу данных
        Если Модифицирован Тогда
            НаборЗаписей.Записать();
            ВызватьИсключение "Документ " + ОбъектДок.Ссылка + " успешно обработан.";
        КонецЕсли;
    КонецЕсли;
КонецЦикла;

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

---

Шаг 3. Заполнение регистра «Коэффициенты индексации заработка»

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

Заполнить этот регистр «задним числом» правильнее всего также через документ Перенос данных:

  1. Перейдите в раздел Администрирование — Переносы данных.
  2. Создайте новый документ или откройте существующий технический документ за нужный период (например, на дату проведения индексации в 2017 году).
  3. Нажмите кнопку Настройка состава регистров на панели документа.
  4. На вкладке Регистры сведений найдите и отметьте флажком регистр Коэффициенты индексации заработка.
  5. Заполните открывшуюся таблицу: укажите сотрудников, дату индексации (дата, с которой повысились оклады) и сам коэффициент индексации (отношение нового оклада к старому).

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

---

Шаг 4. Обновление данных для расчета среднего заработка

После внесения изменений в регистры накопления и сведений нам необходимо заставить программу пересчитать вспомогательные таблицы среднего заработка. В ЗУП 3.0 для этого предусмотрен специальный встроенный механизм.

Рассмотрим, как его запустить:

  1. Перейдите в раздел меню Зарплата.
  2. В блоке сервисных функций найдите и откройте обработку Обновить данные для расчета среднего заработка (в некоторых интерфейсах она может находиться в сервисных функциях раздела Администрирование или запускаться автоматически при расчете документов).
  3. Выберите необходимый период перерасчета (в нашем случае — с даты переноса данных по текущий момент) и запустите процесс обновления.

Этот процесс пересчитает данные во вспомогательных регистрах с учетом вновь введенных коэффициентов индексации и флагов индексируемого заработка.

---

Анализ проблемы с НДФЛ за прошлые периоды

Часто бухгалтеры замечают странное поведение программы: в расчет отпуска за 2017 год суммы попадают корректно (с учетом проведенной нами индексации), однако при формировании справок 2-НДФЛ или отчетов по НДФЛ за этот же 2017 год данные полностью отсутствуют.

Проанализируем эту ситуацию. Такое поведение программы является абсолютно нормальным и обусловлено особенностями «рекомендованного» переноса данных из ЗУП 2.5 в ЗУП 3.0:

---

Подведем итоги

Для успешного отражения индексации заработка «задним числом» после перехода на ЗУП 3.0 мы выполнили совместную работу по настройке системы:

  1. Включили функционал индексации в настройках расчета зарплаты.
  2. Установили признак Индексируется = Истина для исторических начислений в технических регистрах среднего заработка документов ЗП_СЗО.
  3. Внесли исторические коэффициенты индексации в регистр сведений Коэффициенты индексации заработка через механизм переноса данных.
  4. Обновили вспомогательные данные для расчета среднего заработка.

Выполнение этих шагов гарантирует, что при оформлении очередных отпусков или командировок в ЗУП 3.0 программа автоматически и корректно проиндексирует заработок сотрудников за прошлые периоды, избавляя бухгалтеров от ручного пересчета сумм среднего заработка.

← На главную