Почему в 1С:ЗУП 3.1 больничный лист сторнирует сдельную оплату и как это исправить?

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

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

Выясним причину: почему происходит сторнирование?

Основная причина кроется в механизме вытеснения. В системе 1С начисления конкурируют за время сотрудника. Если вид расчета настроен как «оплата за отработанное время» (например, имеет вид времени Явка), то любое отсутствие (больничный, отпуск, прогул) будет «вытеснять» это начисление из периода болезни. Однако для сдельной оплаты ситуация осложняется способом ее регистрации.

Проанализируем основные факторы, влияющие на расчет:

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

Решение 1: Изменение даты регистрации сдельного заработка

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

Разберем по шагам:

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

Решение 2: Настройка шаблона ввода данных для распределения по дням

Чтобы избежать ручной правки дат, мы можем изменить настройки того, как программа принимает данные о сделке. Рассмотрим подробнее настройку шаблона:

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

Решение 3: Изменение параметров «Вида времени» в начислении

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

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

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

Важно: Если вы попытаетесь удалить больничный из приоритетов, оставив вид времени Явка, система выдаст ошибку, так как два начисления за одно и то же рабочее время конфликтовали бы в учете. Именно переключение на «Дополнительную оплату» снимает этот конфликт.

Решение 4: Разделение видов расчета

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

В формуле такого начисления можно использовать стандартный показатель СдельныйЗаработок:

Результат = СдельныйЗаработок

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

Почему удаление из приоритетов без изменения времени — это ошибка?

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

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

Заключение

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

← На главную