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

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

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

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

Как устроен механизм «запоминания» ручного ввода среднего заработка

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

Но почему этот механизм перестает работать?

Причина кроется в строгом приоритете регистров расчета. Автоматическое сохранение ручных правок функционирует стабильно только до тех пор, пока за соответствующий месяц в информационной базе 1С:ЗУП полностью отсутствуют какие-либо расчетные документы по сотруднику. Как только за скорректированный месяц проводится хотя бы один документ Начисление зарплаты и взносов (даже если он пустой, нулевой или содержит суммы без учета отработанного времени), программа считает данные из регистров расчета приоритетными. Система автоматически пересчитывает средний заработок на основе фактически проведенных начислений и полностью затирает те данные, которые ранее были внесены в калькулятор вручную.

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

Влияние технического регистра корректировок времени

Одной из скрытых причин обнуления или уменьшения отработанных календарных дней является накопление некорректных записей в независимом регистре сведений Данные о времени для расчета общего среднего заработка (корректировка) (в конфигураторе он называется ДанныеОВремениДляРасчетаСреднегоОбщийКорректировка).

Рассмотрим подробнее, как это происходит:

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

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

Пример программного кода для очистки некорректных записей в регистре корректировок времени:


НаборЗаписей = РегистрыСведений.ДанныеОВремениДляРасчетаСреднегоОбщийКорректировка.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Сотрудник.Установить(ВыбранныйСотрудник);
НаборЗаписей.Отбор.Период.Установить(ВыбранныйПериод);
// Записываем пустой набор записей для удаления существующих данных
НаборЗаписей.Записать();

Метод 1: Правильный массовый ввод начальных данных через «Перенос данных»

Если ваша компания только начинает вести учет в 1С:ЗУП 3.1, ручной ввод среднего заработка через калькулятор в документах Отпуск крайне не рекомендуется. Наиболее надежный и методологически верный способ — это использование специального технического документа Перенос данных (доступен в разделе Администрирование — Перенос данных).

Разберем этот процесс по шагам:

  1. Создайте новый документ Перенос данных. Рекомендуется устанавливать дату документа на день, предшествующий началу эксплуатации программы (например, если учет начинается с 1 января 2024 года, дата документа должна быть 31 декабря 2023 года).
  2. Нажмите кнопку Настройка состава регистров на панели документа.
  3. Перейдите на вкладку Регистры накопления и отметьте флагами два обязательных регистра:
    • Данные о времени для расчета среднего (общий)
    • Данные о начислениях для расчета среднего заработка (общий)
  4. Заполните вкладку начислений: укажите сотрудника, расчетные месяцы прошлых периодов и фактические суммы заработка.
  5. Важный нюанс при заполнении вкладки времени: Помимо заполнения календарных, рабочих дней и часов, обязательно найдите и заполните колонку Порядок расчета. В ней необходимо выбрать значение «Постановление 2010» (соответствует Постановлению Правительства РФ № 922). Если это поле оставить незаполненным, система не сможет корректно проанализировать отработанное время, и календарные дни при расчете среднего заработка снова отобразятся неверно.

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

Метод 2: Корректная интеграция со сторонними программами расчета

Выясним причину конфликта при загрузке данных из внешних систем. Если импортировать готовые начисления напрямую в документ Начисление зарплаты и взносов (или использовать аналогичные прямые документы начислений), это ломает логику автоматического вытеснения времени в 1С:ЗУП. Программа пытается сопоставить импортированные суммы со временем, видит пересечения периодов (например, сотрудник часть месяца был в отпуске по документам ЗУП, но внешняя система передала начисление за полный месяц) и блокирует проведение документов либо генерирует некорректный средний заработок.

Проанализируем оптимальную схему загрузки данных, которая исключит конфликты:

  1. Создание показателя: В настройках расчетов 1С:ЗУП необходимо создать новый пользовательский показатель, например, РезультатВнешнегоРасчета. Укажите, что он вводится только в месяце расчета.
  2. Настройка начисления: Создайте новое начисление (например, «Оплата по окладу (внешний расчет)»). В формуле этого начисления укажите простую конструкцию: только ваш созданный показатель РезультатВнешнегоРасчета. На вкладке Учет времени обязательно настройте корректные виды времени и правила вытеснения.
  3. Использование документа «Данные для расчета зарплаты»: Настройте шаблон ввода данных для документа Данные для расчета зарплаты, привязав его к созданному показателю. При интеграции загружайте итоговые суммы из сторонней программы именно в этот документ.
  4. Итоговый расчет в ЗУП: В конце месяца создается стандартный документ Начисление зарплаты и взносов. Он автоматически подтянет данные из документа Данные для расчета зарплаты, самостоятельно учтет все зарегистрированные в ЗУП отсутствия (отпуска, командировки, больничные), применит правила вытеснения и запишет корректные данные о времени и суммах в регистры расчета среднего заработка.

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

← На главную