Почему неверно считается оклад в 1С:ЗУП при расчете нормы по другому графику и как это исправить?

Бухгалтер 1С v8.3 (Управляемые формы)
← На главную

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

Анализ причины: почему стандартная формула дает сбой

Рассмотрим стандартную ситуацию. У сотрудника установлен оклад, и в настройках его графика работы указано: «Считать норму по другому графику» (например, по пятидневке). Основная формула начисления Оплата по окладу обычно выглядит так:

Оклад * ДоляНеполногоРабочегоВремени * ВремяВДнях / НормаДней

Проблема заключается в показателе НормаДней. В программном коде некоторых релизов (в частности, ветки 3.1.10) этот показатель при определенных условиях начинает обращаться не к тому графику, который указан как «нормативный», а к основному графику сотрудника или некорректно интерпретирует данные из документа Табель. Проанализируем пример из практики: в табеле зафиксировано 23 дня, норма по пятидневке — 22 дня. Программа делит оклад на 22 и умножает на 23, из-за чего сотрудник получает сумму, превышающую его фиксированный оклад, хотя фактически он просто выполнял свою норму по сменному графику.

Решение 1: Изменение формулы начисления

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

  1. НормаДней — универсальный показатель, который должен автоматически подставлять норму в зависимости от настроек графика. Однако его «автоматизм» часто дает сбои при сложных сочетаниях графиков и индивидуальных табелей.
  2. НормаДнейПоГрафикуПолногоРабочегоВремени — это «жесткий» показатель. Он напрямую обращается к тому графику, который выбран в поле «График полного рабочего времени» в карточке настройки графика сотрудника.

Чтобы исправить расчет, выполним следующие шаги:

  1. Перейдем в раздел Настройка — Начисления.
  2. Найдем вид расчета Оплата по окладу (или тот, который используется у сотрудника).
  3. На вкладке Основное нажмем Редактировать формулу.
  4. Заменим НормаДней на НормаДнейПоГрафикуПолногоРабочегоВремени.

Итоговая формула будет выглядеть примерно так:


Результат = Оклад * ДоляНеполногоРабочегоВремени * ВремяВДнях / НормаДнейПоГрафикуПолногоРабочегоВремени

Аналогичную замену следует произвести и для часовых показателей, если расчет ведется по часам: заменить НормаЧасов на НормаЧасовПоГрафикуПолногоРабочегоВремени.

Решение 2: Проверка влияния документа «Табель»

Проанализируем ситуацию, описанную в сообщениях форума: «норма — 22, отработано — 23». В 1С:ЗУП 3.1 существует жесткий приоритет документов. Если в системе проведен документ Табель, то программа при расчете зарплаты будет брать данные о факте отработанного времени ТОЛЬКО из него, игнорируя график работы и отклонения.

Рассмотрим подробнее, почему это важно:

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

Решение 3: Переход на «Оплату по окладу (по часам)»

Как отмечалось в обсуждении на форуме, расчет «по дням» часто дает математические погрешности, особенно при суммированном учете рабочего времени. Посмотрим на ситуацию: сотрудник отработал 23 часа, и норма составляет 23 часа, но при этом количество дней различается (22 против 23). Это явный признак того, что учет времени настроен не вполне корректно.

Для более точного расчета рекомендуется использовать начисление Оплата по окладу (по часам). В этом случае расчет будет выглядеть так:

Результат = Оклад * ВремяВЧасах / НормаЧасов

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

Решение 4: Настройка графиков работы

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

  1. В настройках графика (раздел Настройка — Графики работы сотрудников) установлен флаг «Использовать при расчете оклада норму по другому графику».
  2. В поле ниже выбран корректный график (обычно это «Пятидневка»).
  3. Внимание к праздникам: Проанализируем настройки учета праздничных дней. Если в основном графике сотрудника стоит галочка «При заполнении учитывать праздничные дни», а в графике, выбранном как норма, она отсутствует (или наоборот), возникнет разница в 1 день в те месяцы, где есть государственные праздники. Это приведет к тому, что норма будет рассчитана неверно.

Технические нюансы: регистры и ошибки релизов

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

Выясним причину через просмотр регистров:

Подводя итог, можно сказать, что наиболее надежным способом исправления ситуации является ручная корректировка формулы начисления с использованием показателя НормаДнейПоГрафикуПолногоРабочегоВремени. Это исключает двусмысленную интерпретацию данных программой и гарантирует, что в качестве знаменателя всегда будет выступать норма именно того графика, который вы назначили в настройках.

← На главную