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

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

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

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

Почему происходит сторнирование всего прошлого месяца

Проанализируем внутренние механизмы платформы, приводящие к данной ошибке:

  1. Монолитные записи в документе Перенос данных. При переносе истории начислений из предыдущих редакций (например, ЗУП 2.5 или ЗКБУ 1.0) за прошлые периоды создаются сводные строки в регистрах расчета и регистрах учета рабочего времени. При этом привычные документы-регистраторы Начисление зарплаты и взносов отсутствуют.
  2. Особенности алгоритма вытеснения. Когда вводится документ Командировка за декабрь, механизм вытеснения находит сплошную строку оклада за весь декабрь. Поскольку программа не может разбить и пересчитать исходный документ начисления, она производит полное сторнирование обнаруженной записи, но не может автоматически доначислить оставшуюся рабочую часть месяца с плюсом.
  3. Служебный регистр перерасчетов. Любое проведение документа задним числом автоматически регистрирует запись в очереди перерасчетов (раздел Зарплата — Сервис — Перерасчеты), что заставляет систему снова и снова пытаться пересчитать закрытый период при основном расчете зарплаты.

Почему нельзя удалять начисления на вкладке «Приоритет»

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

Рассмотрим, к чему приводит подобное вмешательство:

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

Способ 1. Корректировка документа «Перенос данных» (Рекомендуемый метод)

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

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

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

Способ 2. Компенсация сторно ручным доначислением оклада с плюсом

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

Разберем алгоритм выполнения расчета:

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

Способ 3. Выделение перерасчетов в отдельный документ

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

Выполним следующую настройку:

  1. Переходим в раздел Настройка — Расчет зарплаты.
  2. Устанавливаем флаг Выполнять доначисление и перерасчет зарплаты отдельным документом.
  3. После включения данной опции все сторно-движения прошлых периодов будут исключены из документа Начисление зарплаты и взносов и перенесены в специализированный документ Доначисление, перерасчет, где их можно контролировать, анализировать и проверять отдельно от основного расчета.
← На главную