Почему сотрудники исчезают из документа «Разовое начисление» при наличии отпусков или больничных и как это исправить?

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

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

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

Причина 1: Механизм вытеснения и настройки приоритетов

Проанализируем работу системы расчетов. В 1С:ЗУП реализован жесткий механизм контроля периодов. Если для конкретного вида начисления настроено вытеснение другими видами расчетов, программа считает, что в период отсутствия сотрудник не может получать данную доплату. Как только даты в документе Разовое начисление пересекаются с датами документа Отпуск или Больничный лист, срабатывает алгоритм исключения.

Для решения этой проблемы выполним следующие шаги:

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

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

Причина 2: Настройка вида времени в карточке начисления

Выясним, как настройки учета времени влияют на поведение документа. Даже если начисление задано фиксированной суммой, у него все равно есть параметры учета времени. Рассмотрим вкладку Учет времени в настройках начисления.

Если в поле Вид времени выбрано значение Явка или иное рабочее время, программа сопоставляет этот параметр с графиком сотрудника и его фактическим состоянием. В период отпуска у сотрудника нет Явки, поэтому система аннулирует строку. Чтобы избежать этого, попробуем изменить настройки:

Причина 3: Период начисления и «Месяц» в шапке документа

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

Посмотрим на пример: если сотрудник был в отпуске с 1 по 25 августа, а мы пытаемся ввести разовое начисление за весь август, программа выкинет сотрудника. Если же мы укажем период в табличной части с 26 по 31 августа, строка останется. Однако, если политика предприятия требует начислить сумму целиком, необходимо:

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

Особенности работы формы «Подбор»

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

Рекомендуем следующий алгоритм действий для проверки:

Подробная инструкция по корректировке настроек начисления

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

  1. Заходим в меню Настройка -> Начисления.
  2. Выбираем нужное Разовое начисление.
  3. Проверяем вкладку Основное: в поле Начисление выполняется должно стоять По отдельному документу.
  4. На вкладке Расчет базы (если начисление процентное) убеждаемся, что в базу не попадают те начисления, которые могут конфликтовать по времени.
  5. Переходим на вкладку Приоритет. Это ключевой момент. В левом окне (те, кто вытесняет наше начисление) удаляем:
    • Отпуск основной;
    • Больничный за счет работодателя;
    • Больничный;
    • Отсутствие по невыясненной причине;
    • Командировка (если нужно начислять и в командировке).
  6. Записываем и закрываем настройку.

После этого вернемся в документ Разовое начисление. Теперь, даже если период начисления полностью перекрывается отпуском, система позволит строке остаться в документе и произвести расчет. Это корректно с точки зрения методологии 1С, так как вы явно указали, что данная выплата не зависит от факта присутствия (явки) сотрудника.

Резюме

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

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

← На главную