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