Почему в ЗУП 3.1 не уменьшаются календарные дни для расчета среднего заработка при отсутствии сотрудника?

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

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

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

Разбор механизма регистрации времени для среднего заработка

Для начала проанализируем, как система 1С записывает данные в регистры. Важно понимать, что документ Отсутствие (болезнь, прогул, неявка) сам по себе не делает записей в регистр накопления Данные о времени для расчета среднего (общий). Этот регистр заполняется документом Начисление зарплаты и взносов в момент расчета основных начислений (оклада, надбавок).

Процесс выглядит следующим образом:

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

Причина №1: Использование документа «Табель»

Одной из самых частых причин проблемы является «силовой» ввод документа Табель. В ЗУП 3.1 реализован метод отклонений: если вы ввели документ Отсутствие, программа уже знает, что сотрудника нет. Ввод Табеля поверх документов отклонений часто приводит к тому, что автоматические механизмы сторнирования и вытеснения перестают работать корректно.

Рассмотрим ситуацию: вы ввели Отсутствие по невыясненной причине, а затем создали Табель. Если в Табеле вручную или автоматически зафиксированы дни «НН», но при этом документ Начисление зарплаты и взносов был проведен с ошибками или до ввода отсутствия, данные в регистре среднего не обновятся.

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

Причина №2: Настройки приоритетов (вытеснения) начислений

Если вы перезаполнили начисление зарплаты без Табеля, но оклад все равно начисляется полностью, а дни не вырезаются, значит, проблема в настройках видов расчета. Проанализируем настройки вашего основного начисления (например, Оплата по окладу).

Выполните следующие шаги для проверки:

  1. Перейдите в меню Настройка — Начисления.
  2. Найдите ваше основное начисление (Оплата по окладу, Оплата по окладу (по часам)).
  3. Откройте вкладку Приоритет.
  4. В правой колонке («Начисления, приоритет которых выше») обязательно должны присутствовать все виды отсутствий: Отсутствие по невыясненной причине, Больничный, Отпуск основной и другие.

Если Отсутствие по невыясненной причине отсутствует в этом списке, то программа не «вычтет» эти дни из рабочего времени сотрудника при расчете зарплаты. Следовательно, в регистр среднего запишется полный месяц, так как вытеснение не сработало.

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

Причина №3: Хронология проведения документов и сторнирование

Рассмотрим случай, когда отсутствие регистрируется «задним числом». Например, в феврале сотрудник не вышел, вы ввели Отсутствие по невыясненной причине. В марте сотрудник принес больничный за эти дни февраля.

Ситуация в регистрах может выглядеть так:

В феврале документ Начисление зарплаты зафиксировал рабочее время за вычетом «НН». Но если в марте в Больничном листе не произошло автоматического сторнирования (потому что суммы не начислялись, ведь «НН» — это неоплачиваемый период), записи в регистр среднего могут не скорректироваться автоматически.

Выясним причину через проверку регистра сведений Данные о времени для расчета общего среднего заработка (корректировка). Если документ отклонения (больничный или отпуск) вводится в следующем периоде за предыдущий, он должен делать корректирующие записи именно в этот регистр. Если записей нет, попробуйте пересчитать сотрудника в текущем месяце или воспользоваться сервисной функцией Обновить данные для расчета среднего заработка (раздел Обслуживание — Корректировка данных).

Практические советы по исправлению данных

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

  1. Проверка логической целостности: Иногда ошибки в регистрах возникают из-за сбоев в базе данных. Выполнение процедуры «Тестирование и исправление» в конфигураторе (пункт «Проверка логической целостности») может помочь восстановить связи между документами.
  2. Пересчет документов: Если период еще не закрыт (или вы можете его открыть), последовательно отмените проведение Табеля, перезаполните Начисление зарплаты и снова проведите его. Следите за тем, чтобы в расчетном листке сумма оклада уменьшилась пропорционально дням отсутствия.
  3. Анализ отчетом: Используйте отчет «Проверка расчета среднего заработка». Он позволяет наглядно увидеть, какие периоды система считает «полностью отработанными», а какие — нет.

Итоги

Для корректного отражения календарных дней в расчете среднего заработка в ЗУП 3.1 придерживайтесь правил:

Разберем типичный пример в кодовом представлении структуры данных (условно):


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

// Если в записи:
// ОтработаноДней = 11
// ОтработаноДнейПоПятидневке = 20 (норма)
// ОтработаноДнейКалендарных = 28 (норма)
// Это означает, что механизм вытеснения отработал только по дням явки, 
// но не «вырезал» период из общего календарного времени.

Помните, что правильная настройка Вида использования рабочего времени для начисления (например, код «НН» для отсутствия) также критична. Если в карточке начисления Оплата по окладу на закладке Учет времени неверно указаны дополнительные виды времени, вытеснение может сработать некорректно.

← На главную