Переход с устаревшей конфигурации «1С:Зарплата и управление персоналом 2.5» на современную «1С:ЗУП 3.1» — это сложный процесс, который часто сопровождается методологическими нестыковками. Одна из самых распространенных и неприятных проблем, с которой сталкиваются расчетчики и программисты после переноса данных, — некорректный учет премий при расчете среднего заработка (например, для отпусков, командировок или больничных).
В этой статье мы подробно разберем, почему возникает данная проблема, как на нее влияет перенос исторических данных, и рассмотрим эффективные варианты ее решения — от административной настройки до точечной программной доработки.
Для того чтобы понять, почему программа ведет себя подобным образом, проанализируем разницу в архитектуре двух конфигураций. Нам необходимо обратиться к законодательной базе и настройкам программных продуктов.
В программе 1С:ЗУП 2.5 существовала очень удобная опция: флажок «При расчете среднего не уменьшать премии, начисленные пропорционально отработанному времени». Если этот флажок был установлен, система игнорировала тот факт, что базовый период премии (период, за который она начислена) выходит за рамки расчетного периода для среднего заработка. Премия учитывалась в среднем заработке в полном объеме.
В программе 1С:ЗУП 3.1 разработчики полностью отказались от этой настройки. Свое решение они мотивировали строгим следованием Письму Минздравсоцразвития РФ от 26.06.2008 № 2337-17. Согласно этому документу:
Именно поэтому при расчете среднего заработка в калькуляторе мы можем видеть премию, но в итоговый расчет она попадает лишь частично или не попадает вовсе.
Рассмотрим подробнее, как именно старые данные оказываются в новой базе. При осуществлении переноса данных (особенно при рекомендуемом «кратком» переносе) вся историческая информация о начислениях за предыдущие периоды записывается специальными документами Перенос данных. Как правило, они имеют буквенный код ЗП_СЗ (данные общего среднего заработка).
Эти документы напрямую делают записи в регистр накопления Данные о начислениях для расчета среднего заработка (общий). При переносе премий из ЗУП 2.5 в этот регистр записывается не только итоговая сумма, но и сведения о базовом периоде (дата начала и окончания периода, за который была начислена премия, а также количество месяцев базового периода).
Если при переносе эти даты сместились, заполнились некорректно или избыточно (например, для разовой премии базовый период зафиксировался как целый год, хотя должен быть равен одному месяцу), программа 1С:ЗУП 3.1 фиксирует выход базового периода за рамки расчетного и принудительно урезает премию.
Поскольку вручную править базовые периоды для сотен и тысяч сотрудников в документах начисления среднего заработка невозможно, разберем системные методы исправления ситуации.
Если на вашем предприятии принято решение сохранить логику расчета, которая использовалась в ЗУП 2.5 (то есть не уменьшать премии, начисленные пропорционально времени), то оптимальным вариантом будет создание небольшого расширения. Это позволит не снимать конфигурацию с поддержки и без проблем устанавливать последующие обновления.
Для реализации этого поведения нам нужно переопределить работу одной ключевой функции в общем модуле. Разберем по шагам, что нужно сделать:
УчетСреднегоЗаработкаКлиентСервер.УменьшатьПремииПроцентомНачисленныеЗаВремяНеВходящееВРасчетныйПериод().Ложь.Пример кода, который необходимо поместить в расширение:
&Вместо("УменьшатьПремииПроцентомНачисленныеЗаВремяНеВходящееВРасчетныйПериод")
Функция Расш_УменьшатьПремииПроцентомНачисленныеЗаВремяНеВходящееВРасчетныйПериод()
// Отключаем принудительное уменьшение премий, выходящих за рамки расчетного периода
Возврат Ложь;
КонецФункции
После подключения и активации этого расширения система перестанет пропорционально уменьшать премии, чей базовый период выходит за рамки расчетного, и они начнут учитываться в среднем заработке в полном объеме, как это было в ЗУП 2.5.
Если вы хотите решить проблему исключительно стандартными средствами программы, без внесения изменений в конфигурацию, вам придется скорректировать перенесенную информацию в регистрах. Рассмотрим, как это сделать:
ЗП_СЗ за те периоды, в которых начислялись проблемные премии.Данные о начислениях для расчета среднего заработка (общий).После проведения скорректированных документов перерасчет среднего заработка в документах отпусков и командировок будет выполняться корректно, без урезания сумм.
Для того чтобы проблема с базовым периодом не повторялась при начислении новых премий непосредственно в базе 1С:ЗУП 3.1, важно правильно настроить сами виды начислений. Выполним следующие настройки:
Премия. Это позволяет фиксировать точные периоды и суммы начисления в регистре сведений.Проанализировав все три способа, мы можем сделать вывод, что выбор конкретного решения зависит от методологических стандартов, принятых в вашей организации. Если бухгалтерия настаивает на неизменности алгоритмов ЗУП 2.5, лучшим выбором будет использование расширения конфигурации (Способ 1). Если же вы стремитесь к полному соответствию типовой методологии 1С, то необходимо скорректировать исторические данные (Способ 2) и правильно настроить новые начисления (Способ 3).