Почему в 1С:ЗУП 3.1 возникает ошибка «Начисленный оклад превышает размер планового» и как её исправить?

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

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

Суть проблемы и причины её возникновения

Данная ошибка является следствием работы механизма «Мониторинг учета». Это встроенная система самодиагностики, которая призвана помогать бухгалтеру находить ошибки в начислениях. Однако в ряде релизов (например, 3.1.14.55) алгоритм проверки содержал программную ошибку (баг), из-за чего система выдавала ложноположительные результаты.

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

Дополнительные факторы, которые могут провоцировать эту ошибку:

  1. Индексация заработка: Проверка может некорректно отрабатывать в месяце проведения индексации.
  2. Совмещение должностей: Наличие доплат, которые алгоритм ошибочно пытается сравнить с основным ФОТ.
  3. Изменение графиков: Переводы сотрудников внутри месяца на другие режимы работы.

Решение 1: Отключение проверки (Пользовательский метод)

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

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

Однако простого отключения правила иногда недостаточно: индикатор ошибки может продолжать висеть на главной панели. Чтобы окончательно очистить «хвосты», проделаем следующее:

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

Решение 2: Обслуживание данных (Пересчет ФОТ)

Иногда проблема кроется в «рассинхроне» регистров планового ФОТ и фактических начислений. Попробуем обновить данные без правки конфигурации. Рассмотрим шаги:

  1. Перейдем в раздел Зарплата — Сервис — Пересчет планового ФОТ.
  2. Запустим обработку для проблемных сотрудников. Это обновит записи в регистре Плановый ФОТ.
  3. Также полезно перепровести документы, установившие текущий оклад (например, Изменение плановых начислений или Кадровый перевод). Это заставит систему переписать значения в регистре Значения показателей начислений.

Решение 3: Программное исправление (Для разработчиков)

Если вы хотите устранить саму причину ошибки, не дожидаясь обновления от 1С, необходимо внести правки в программный код. Выясним причину технического сбоя. Ошибка локализована в общем модуле ПлановыеНачисленияСотрудниковПроверки, в функции РезультатПроверкиПревышенияПлановогоОкладаСотрудников.

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

Рассмотрим пример исправленного запроса, который можно внедрить через расширение:


// В общем модуле ПлановыеНачисленияСотрудниковПроверки
// Находим функцию РезультатПроверкиПревышенияПлановогоОкладаСотрудников

Запрос.Текст = "ВЫБРАТЬ
|    КадровыеДанныеСотрудников.Сотрудник КАК Сотрудник,
|    КадровыеДанныеСотрудников.ФизическоеЛицо КАК ФизическоеЛицо
|ИЗ
|    ВТКадровыеДанныеСотрудников КАК КадровыеДанныеСотрудников
|    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрРасчета.Начисления КАК Начисления
|    ПО КадровыеДанныеСотрудников.Период = Начисления.ПериодРегистрации
|    И КадровыеДанныеСотрудников.Сотрудник = Начисления.Сотрудник
|    И КадровыеДанныеСотрудников.ОсновноеНачисление = Начисления.ВидРасчета
|    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияПоказателейНачислений КАК ЗначенияПоказателейНачислений
|    ПО (Начисления.Регистратор = ЗначенияПоказателейНачислений.РегистраторИзмерение)
|    И (Начисления.ИдентификаторСтроки = ЗначенияПоказателейНачислений.ИдентификаторСтроки)
|    И КадровыеДанныеСотрудников.ПоказательТарифнойСтавки = ЗначенияПоказателейНачислений.Показатель
|    И КадровыеДанныеСотрудников.ТарифнаяСтавка < ЗначенияПоказателейНачислений.Значение
|УПОРЯДОЧИТЬ ПО
|    ФизическоеЛицо";

Важные замечания по коду:

Алгоритм действий после внесения исправлений

После того как мы внесли правки в код (через расширение) или изменили настройки, необходимо принудительно обновить результаты проверки. Проанализируем, как это сделать быстро:

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

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

Резюме

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

← На главную