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

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

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

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

Суть проблемы и симптомы

Представим типичную ситуацию: сотрудник работает по графику пятидневки с начислением Оклад по дням. В середине месяца (например, с 14 по 15 марта) он находился в командировке. 30 марта сотрудник увольняется. При создании документа Увольнение расчетчик ожидает увидеть оплату за все рабочие дни марта за вычетом дней командировки. Однако программа в строке начисления оклада выводит сумму только за 1 день — за 30 марта.

Важно отметить, что в таких случаях:

  1. Документ Табель может быть заполнен верно, но это не влияет на расчет в Увольнении.
  2. Документ Командировка проведен и рассчитан корректно.
  3. В других документах (например, в общем начислении зарплаты) расчет может проходить правильно, но Увольнение — это документ окончательного расчета, и ошибка в нем критична.

Технический анализ ситуации

Давайте вместе выясним причину такого сбоя. Если мы обратимся к технической составляющей платформы 1С, а именно к виртуальным таблицам регистров расчета, мы увидим интересную картину. Проблема кроется в механизме вытеснения периодов.

Проанализируем виртуальную таблицу НачисленияФактическийПериодДействия. В нормальной ситуации период действия оклада должен охватывать весь месяц с разрывом на дни командировки. Однако при возникновении данной ошибки система фиксирует ПериодДействияНачало и ПериодДействияКонец одной и той же датой — датой увольнения.

Это происходит из-за того, что в определенных релизах (в частности, ветки 3.1.5 и 3.1.6) алгоритм автоматического заполнения документа Увольнение некорректно обрабатывает цепочку документов. Зарегистрированное отклонение (командировка) «схлопывает» весь предшествующий период фактической работы, оставляя доступным для расчета только тот день, который инициирован самим кадровым событием (увольнением).

Важный факт: Данная ошибка официально признана компанией 1С и зарегистрирована под номером 30160609.

Способ 1. Обновление конфигурации (Основное решение)

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

Исправление вошло в следующие релизы:

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

Способ 2. Изменение порядка документов (Обходной путь)

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

Обычно мы привыкли, что документ Увольнение сам рассчитывает зарплату за текущий месяц. Чтобы обойти баг, выполните следующие шаги:

  1. Сначала создайте и проведите документ Начисление зарплаты и взносов за месяц увольнения. Этот документ использует стандартные механизмы вытеснения, которые работают корректно даже в проблемных релизах.
  2. После этого создайте документ Увольнение.
  3. В документе Увольнение программа увидит уже начисленные суммы. Если дата увольнения не является последним числом месяца, система может сторнировать лишние дни, но при этом общая сумма оклада будет рассчитана верно.

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

Способ 3. Ручная корректировка в документе «Увольнение»

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

Для этого:

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

Внимание! При использовании ручных правок будьте крайне осторожны, так как это может повлиять на расчет НДФЛ и страховых взносов, если они рассчитываются внутри этого же документа.

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

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

Выясним причину: если в месяце есть командировка — вы столкнулись с багом 30160609.

Алгоритм действий должен быть следующим:

  1. Проверьте наличие документа Командировка. Если он есть — попробуйте временно его отменить и пересчитать увольнение. Если сумма стала верной — диагноз подтвержден.
  2. Обновите программу до актуального релиза.
  3. Если обновление невозможно — используйте предварительное Начисление зарплаты перед созданием Увольнения.

Помните, что корректность расчета при увольнении — это залог отсутствия трудовых споров. Всегда сверяйте данные в документе с данными отчета Анализ зарплаты по сотрудникам или Расчетный листок до момента окончательной выплаты.

← На главную