При расчете отпускных, командировочных расходов или других пособий в программе «1С:Зарплата и управление персоналом» (редакция 3.1) пользователи часто сталкиваются с неприятной ситуацией: начисленная сотрудникам ежемесячная премия внезапно перестает учитываться в базе среднего заработка. Чаще всего эта проблема обнаруживается при переходе на новый календарный год или сразу после проведения очередного обновления конфигурации.
Дополнительная сложность заключается в том, что при попытке зайти в настройки начисления на вкладку «Средний заработок» пользователь видит, что все флажки и переключатели заблокированы (отображаются серым цветом), а ручное редактирование недоступно даже для учетной записи с правами Администратора системы. В этой статье мы подробно разберем причины возникновения данной ошибки и рассмотрим практические способы ее решения.
Для начала разберем внутреннюю логику работы программы 1С:ЗУП 3.1. Возможность редактирования настроек вхождения начисления в расчет среднего заработка жестко привязана к реквизиту Назначение начисления на вкладке «Основное».
Разработчики фирмы «1С» заложили в систему автоматические алгоритмы:
Премия, Повременная оплата труда и надбавки или Компенсационные выплаты), программа самостоятельно определяет правила его учета в среднем заработке согласно действующему законодательству РФ. В этом случае ручное изменение настроек блокируется во избежание ошибок пользователя.Прочие начисления и выплаты, программа открывает доступ к ручной настройке на вкладке «Средний заработок». Бухгалтер может самостоятельно установить флажок Включать в базу начислений при расчете среднего заработка и определить порядок учета (полностью, частично, как премия и т. д.).При обновлении конфигурации (особенно на релизах ветки 3.1.13 и более поздних) внутренние идентификаторы и метаданные начислений могут обновиться некорректно. Визуально в базе все выглядит правильно, но на уровне СУБД связь между назначением начисления и правилами его вхождения в средний заработок разрывается. Программа считает, что начисление не должно входить в расчет, и при этом блокирует интерфейс для исправления.
Самый простой и быстрый способ вернуть премию в расчет среднего заработка — заставить форму начисления принудительно перезаписать свои внутренние параметры. Разберем этот процесс по шагам:
Назначение начисления. Запомним или запишем текущее значение (например, там установлено Премия).Прочие начисления и выплаты.Включать в базу начислений при расчете среднего заработка.Назначение начисления (вернем обратно значение Премия).Этот простой алгоритм запускает встроенный обработчик формы 1С, который перезаписывает служебные константы в базе данных. После этого проверим расчет среднего заработка в документе «Отпуск» — премия за спорный период должна появиться в таблице.
Если визуальные настройки в порядке, но премия все равно игнорируется программой при расчете среднего заработка за конкретный месяц (например, за январь), необходимо проверить первичные документы.
В 1С:ЗУП 3.1 все премии (кроме годовых) включаются в средний заработок по месяцу их регистрации (периоду документа), а не по периоду, за который они были начислены. Проанализируем типичную ошибку на примере:
Если премия за работу в январе была начислена отдельным документом Премия, крайне важно обратить внимание на поле Месяц в шапке документа. Если бухгалтер случайно указал там «Февраль», то при расчете отпуска в феврале (где расчетный период включает январь) эта премия не отобразится в строке за январь. Она будет зарегистрирована программой как февральская выплата.
Также проверим заполнение периода в табличной части документа. Если период начисления премии не указан или заполнен некорректно, записи в регистре сведений могут распределиться неверно. Для проверки движения документа по регистрам выполним следующие действия:
ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий.Если вы столкнулись с массовым сбоем после обновления конфигурации, и средний заработок «слетел» у большого количества сотрудников по разным видам начислений, открывать каждую карточку вручную будет слишком трудоемко. В программе предусмотрен специальный инструмент для автоматического пересчета накопленных данных.
Рассмотрим порядок действий для группового исправления данных:
Эта процедура перезапустит механизм сбора данных по регистру ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий. Программа перечитает актуальные настройки всех начислений и обновит исторические записи без необходимости ручного перепроведения документов начисления зарплаты и премий.
Для программистов и системных администраторов, которые хотят убедиться в наличии записей по среднему заработку напрямую через базу данных, приведем пример простого запроса. Его можно выполнить в консоли запросов, чтобы быстро локализовать проблему отсутствия премии в расчете:
ВЫБРАТЬ
ДанныеРегистра.Сотрудник КАК Сотрудник,
ДанныеРегистра.ПериодРегистрации КАК ПериодРегистрации,
ДанныеРегистра.Начисление КАК ВидНачисления,
ДанныеРегистра.Сумма КАК СуммаДляСреднего,
ДанныеРегистра.В ПолноценномРазмере КАК УчитываетсяПолностью
ИЗ
РегистрСведений.ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий КАК ДанныеРегистра
ГДЕ
ДанныеРегистра.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода
И ДанныеРегистра.Начисление.Наименование ПОДОБНО "%Премия%"
Если этот запрос возвращает пустой результат по нужному сотруднику и периоду, значит, проблема кроется либо в проведении первичного документа начисления премии, либо в незаполненных графиках работы и производственном календаре на текущий год, что также может блокировать корректную запись движений в регистры среднего заработка.