Почему после перехода с ЗУП 2.5 на ЗУП 3 некорректно считается средний заработок?

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

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

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

Проблема 1: Неверный расчет среднего заработка для отпуска

Рассмотрим типичную ситуацию. Вы перешли на ЗУП 3, и при расчете отпуска сотруднику в 2022 году программа берет данные за 2021 год. При проверке расчета вы видите, что данные о времени за прошлые месяцы выглядят странно — например, за один месяц учтено 58 календарных дней, хотя в ЗУП 2.5 все было корректно. В результате средний заработок получается заниженным, а количество учтенных дней — завышенным.

Основная причина — ошибка при переносе данных.

Чаще всего такие аномалии, как удвоенное количество дней, возникают из-за того, что данные за прошлые периоды были загружены в систему несколько раз. Это могло произойти, если документы Перенос данных были созданы или проведены повторно.

Как найти и исправить ошибку?

  1. Проанализируйте регистры накопления.

    Ключевые данные для расчета среднего хранятся в регистрах накопления. В первую очередь нас интересует регистр Данные о времени для расчета среднего (общий). Сформируйте по нему отчет (например, через "Все функции" -> "Отчеты" -> "Универсальный отчет") с отбором по проблемному сотруднику и периоду, который неверно учитывается. Если вы увидите задвоенные строки за один и тот же месяц, это подтвердит гипотезу о некорректном переносе.

  2. Проверьте документы переноса.

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

  3. Поймите методологию расчета в ЗУП 3.

    Важно помнить, что логика расчета в ЗУП 3 отличается от ЗУП 2.5. Если сотрудник отработал месяц полностью (не было больничных, отпусков, прогулов), то для расчета среднего заработка для отпуска этот месяц будет учтен как 29,3 дня. Это константа, и она не зависит от фактического количества календарных или рабочих дней в месяце.

    Если же в ЗУП 2.5 за тот же месяц получалось иное значение (например, 25,52), это значит, что в старой системе были зарегистрированы какие-то отсутствия, которые не перенеслись или некорректно перенеслись в ЗУП 3. Из-за этого ЗУП 3 считает месяц полностью отработанным.

Проблема 2: Расчет среднего для командировок по дням вместо часов

После того как вы разобрались с отпусками, может возникнуть вторая проблема. Вы рассчитываете командировку сотруднику с суммированным учетом рабочего времени и ожидаете, что средний заработок будет рассчитан по часам. Однако ЗУП 3 упорно считает его по дням. Пытаясь найти причину, вы можете наткнуться в конфигураторе на такой код:


Функция ДополнительныеПараметрыРасчетаСреднегоЗаработка() Экспорт
    
    ДополнительныеПараметры = Новый Структура(
        "НачалоПериода, 
        |ОкончаниеПериода, 
        |ДатаНачалаСобытия, 
        |Индексации, 
        |ПоЧасам, 
        |Начисление, 
        |СпособРасчетаОтпуска,
        |ПоСтатьямФинансирования,
        |ПорядокРасчета");
            
    ДополнительныеПараметры.ПоЧасам = Ложь;
    ДополнительныеПараметры.ПоСтатьямФинансирования = Ложь;
            
    Возврат ДополнительныеПараметры;
    
КонецФункции

Видя строку ДополнительныеПараметры.ПоЧасам = Ложь, можно ошибочно предположить, что расчет по часам в программе жестко отключен. Но это не так.

Причина кроется в настройках графика работы сотрудника, а не в коде.

Приведенный выше код — это всего лишь функция инициализации структуры. Она задает значения по умолчанию. Реальное значение параметра ПоЧасам определяется системой позже, в момент расчета, на основе кадровых данных сотрудника.

Как включить расчет по часам?

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

  1. Откройте график работы сотрудника.

    Зайдите в раздел Настройка -> Графики работы сотрудников. Найдите и откройте график, который назначен сотруднику (уточнить его можно в кадровых документах или в карточке сотрудника).

  2. Проверьте настройки суммированного учета.

    В форме графика нажмите на ссылку "Изменить свойства графика". В открывшемся окне убедитесь, что установлен флаг "Суммированный учет рабочего времени". Если он снят, установите его.

  3. Сохраните изменения и пересчитайте документ.

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

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

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

Эти два шага помогут решить большинство проблем с расчетом среднего заработка после перехода на ЗУП 3 и обеспечат корректность начислений вашим сотрудникам.

← На главную