Как убрать пустые строки в начислениях и вернуть отображение дней в расчетном листке 1С:ЗУП 3.1

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

В процессе работы с программой 1С:Зарплата и управление персоналом 3.1 часто возникают ситуации, когда для сотрудников настраиваются несколько видов начислений за отработанное время (например, стандартная «Явка» и специфический код времени «ЯН» — явка в ночное время, оплачиваемая по полной ставке). Это приводит к двум неприятным последствиям: появлению лишних пустых строк в документе Начисление зарплаты и взносов и «исчезновению» отработанных дней из расчетных листков и сводов. Рассмотрим подробно, почему это происходит и как настроить систему правильно.

Причина проблемы: Регистр «Отработанное время по сотрудникам (корректировка)»

Проанализируем механизм работы программы. Когда в системе назначено два плановых начисления, которые оба претендуют на учет отработанного времени (вид времени с признаком Рабочее время), программа сталкивается с конфликтом. Чтобы в статистических отчетах один и тот же день не посчитался дважды (как 2 дня за одни сутки), ЗУП использует технический регистр накопления Отработанное время по сотрудникам (корректировка).

Если за определенный период по одному начислению (например, по дневной явке) результат равен нулю, а по второму (явка ночная) начислена сумма, программа делает сторнирующую запись по дням в этот регистр. В итоге:

  1. Сумма и часы в расчетном листке отображаются верно.
  2. Колонка Оплачено дней оказывается пустой, так как корректировка «схлопнула» эти дни, чтобы избежать завышения нормы.

Разберем по шагам, как решить эту задачу двумя основными способами.

Способ 1: Настройка приоритетов начислений (Вытеснение)

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

Рассмотрим порядок действий:

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

Важный нюанс: Когда мы устанавливаем такой приоритет, программа при расчете документа Начисление зарплаты и взносов будет автоматически «вытеснять» периоды основного начисления периодами специального. В те дни, когда стоит код «ЯН», основная «Явка» не будет даже пытаться рассчитаться с нулевым результатом. Это уберет запись из регистра корректировки, и дни в расчетном листке появятся.

Однако проанализируем ситуацию, возникающую при таком подходе: в документе начисления строка со спец. временем может «раздробиться» на множество мелких периодов. Это происходит из-за того, что вытеснение работает только в рабочие дни по графику, а выходные дни разрывают сплошной период начисления. С точки зрения учета это верно, хотя и выглядит непривычно в документе.

Способ 2: Изменение способа выполнения начисления

Если вы хотите полностью избавиться от пустых строк в документах, когда у сотрудника нет соответствующего вида времени, следует изменить саму логику назначения начисления. Рассмотрим, как это сделать:

В настройках начисления на вкладке Основное установим переключатель Начисление выполняется в положение Только если введен вид учета времени. В поле ниже выберем соответствующий код (например, ЯН).

Разберем последствия этой настройки:

  1. ФОТ: Начисление перестанет отображаться в плановом ФОТ сотрудника в кадровых документах. Для многих расчетчиков это критично. Чтобы вернуть начисление в ФОТ, можно включить флаг Поддерживает несколько одновременно действующих начислений, но это потребует переназначения начисления сотрудникам через кадровые приказы.
  2. Автоматизация: Теперь строка в документе Начисление зарплаты и взносов будет появляться только тогда, когда в табеле или индивидуальном графике действительно зафиксирован этот вид времени. Нет времени — нет строки.

Способ 3: Использование доплаты вместо основного начисления

Посмотрим на ситуацию с другой стороны. Если «ночная явка» или «замена» — это по сути та же работа, но с другой оплатой, можно настроить одно основное начисление на весь период, а разницу или специфическую часть оплаты вынести в Доплату.

В 1С:ЗУП 3.1 это реализуется через категорию начисления Прочие начисления в пределах нормы времени. Настройка выглядит так:

  1. Вид времени — Дополнительное значение к основному времени.
  2. Формула — ТарифнаяСтавка * ВремяВЧасах (или иная логика).

В этом случае основным начислением остается обычная явка, которая регистрирует Дни. Доплата же просто начисляет Сумму за определенные часы, не пытаясь корректировать отработанное время. Это самый стабильный вариант для корректного формирования расчетного листка без вмешательства в технические регистры корректировок.

Резюме и рекомендации

Подводя итог, выделим ключевые правила настройки:

Проанализировав эти методы, мы видим, что наиболее гибким является сочетание правильной настройки приоритетов и корректного выбора вида времени. Это гарантирует, что бухгалтер увидит в расчетном листке полную картину: и верные суммы, и правильно посчитанные дни.

← На главную