При переходе на конфигурацию 1С:Зарплата и управление персоналом (ЗУП), редакция 3.1 пользователи часто сталкиваются с необходимостью ручной корректировки данных для расчета среднего заработка. Обычно это происходит, когда исторические данные по зарплате за предыдущие 12 месяцев не были перенесены в новую базу в полном объеме. Бухгалтер открывает документ Отпуск или Командировка, нажимает на «зеленый карандаш» (редактирование среднего заработка), вручную заполняет недостающие суммы начислений и календарные дни за прошлые периоды, рассчитывает и успешно проводит документ.
Однако при оформлении следующего отпуска или больничного листа в новом месяце обнаруживается неприятная проблема: ранее введенные вручную данные о календарных днях и суммах заработка бесследно исчезают («слетают») или отображаются некорректно. В этой статье мы подробно разберем внутренние механизмы платформы 1С, выясним причины такого поведения системы и рассмотрим эффективные способы долгосрочного решения данной проблемы.
В программе 1С:ЗУП 3.1 реализован механизм автоматического сохранения («запоминания») изменений, которые пользователь вносит непосредственно в форму калькулятора среднего заработка. Когда вы корректируете строки в этой форме, программа фиксирует отклонения от расчетных данных и сохраняет их в специализированных регистрах. При расчете последующих документов эти сохраненные данные должны автоматически подтягиваться в таблицу.
Но почему этот механизм перестает работать?
Причина кроется в строгом приоритете регистров расчета. Автоматическое сохранение ручных правок функционирует стабильно только до тех пор, пока за соответствующий месяц в информационной базе 1С:ЗУП полностью отсутствуют какие-либо расчетные документы по сотруднику. Как только за скорректированный месяц проводится хотя бы один документ Начисление зарплаты и взносов (даже если он пустой, нулевой или содержит суммы без учета отработанного времени), программа считает данные из регистров расчета приоритетными. Система автоматически пересчитывает средний заработок на основе фактически проведенных начислений и полностью затирает те данные, которые ранее были внесены в калькулятор вручную.
Особенно остро эта проблема встает в организациях, практикующих частичную интеграцию: когда расчеты ведутся во внешней (сторонней) программе, а в 1С:ЗУП загружаются только готовые результаты начислений без детальной информации об отработанном времени и периодах.
Одной из скрытых причин обнуления или уменьшения отработанных календарных дней является накопление некорректных записей в независимом регистре сведений Данные о времени для расчета общего среднего заработка (корректировка) (в конфигураторе он называется ДанныеОВремениДляРасчетаСреднегоОбщийКорректировка).
Рассмотрим подробнее, как это происходит:
Поскольку данный регистр не имеет документов-регистраторов, удалить некорректные записи обычным распроведением документов невозможно. Для исправления ситуации программисту 1С необходимо написать простую обработку по очистке набора записей регистра или использовать стандартную обработку Групповое изменение реквизитов с установленным отбором по конкретному сотруднику и периоду.
Пример программного кода для очистки некорректных записей в регистре корректировок времени:
НаборЗаписей = РегистрыСведений.ДанныеОВремениДляРасчетаСреднегоОбщийКорректировка.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Сотрудник.Установить(ВыбранныйСотрудник);
НаборЗаписей.Отбор.Период.Установить(ВыбранныйПериод);
// Записываем пустой набор записей для удаления существующих данных
НаборЗаписей.Записать();
Если ваша компания только начинает вести учет в 1С:ЗУП 3.1, ручной ввод среднего заработка через калькулятор в документах Отпуск крайне не рекомендуется. Наиболее надежный и методологически верный способ — это использование специального технического документа Перенос данных (доступен в разделе Администрирование — Перенос данных).
Разберем этот процесс по шагам:
Перенос данных. Рекомендуется устанавливать дату документа на день, предшествующий началу эксплуатации программы (например, если учет начинается с 1 января 2024 года, дата документа должна быть 31 декабря 2023 года).Данные о времени для расчета среднего (общий)Данные о начислениях для расчета среднего заработка (общий)Порядок расчета. В ней необходимо выбрать значение «Постановление 2010» (соответствует Постановлению Правительства РФ № 922). Если это поле оставить незаполненным, система не сможет корректно проанализировать отработанное время, и календарные дни при расчете среднего заработка снова отобразятся неверно.Документы Перенос данных создают полноценные движения в регистрах накопления, которые система воспринимает как первичные учетные данные. Эти данные никогда не будут «затерты» или пересчитаны последующими документами начислений.
Выясним причину конфликта при загрузке данных из внешних систем. Если импортировать готовые начисления напрямую в документ Начисление зарплаты и взносов (или использовать аналогичные прямые документы начислений), это ломает логику автоматического вытеснения времени в 1С:ЗУП. Программа пытается сопоставить импортированные суммы со временем, видит пересечения периодов (например, сотрудник часть месяца был в отпуске по документам ЗУП, но внешняя система передала начисление за полный месяц) и блокирует проведение документов либо генерирует некорректный средний заработок.
Проанализируем оптимальную схему загрузки данных, которая исключит конфликты:
РезультатВнешнегоРасчета. Укажите, что он вводится только в месяце расчета.РезультатВнешнегоРасчета. На вкладке Учет времени обязательно настройте корректные виды времени и правила вытеснения.Данные для расчета зарплаты, привязав его к созданному показателю. При интеграции загружайте итоговые суммы из сторонней программы именно в этот документ.Начисление зарплаты и взносов. Он автоматически подтянет данные из документа Данные для расчета зарплаты, самостоятельно учтет все зарегистрированные в ЗУП отсутствия (отпуска, командировки, больничные), применит правила вытеснения и запишет корректные данные о времени и суммах в регистры расчета среднего заработка.Данный подход позволяет полностью автоматизировать расчет среднего заработка без ручного вмешательства бухгалтера, даже если основной расчет зарплаты происходит во внешней сложной системе.