Как отключить начисление пособия по уходу за ребенком после переноса из ЗУП 2.5 в ЗУП 3.1?

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

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

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

---

Причина 1. Очередь перерасчетов зарплаты

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

Проанализируем ситуацию и очистим очередь перерасчетов по шагам:

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

---

Причина 2. Отсутствие документа «Возврат из отпуска по уходу»

В конфигурации 1С:ЗУП версии 2.5 учет состояний сотрудников велся по другой схеме. Отпуск по уходу за ребенком мог завершиться автоматически по достижении конечной даты, указанной в исходном кадровом документе. В редакции 3.1 архитектура учета состояний строго требует введения явного документа-регистратора — ВозвратИзОтпускаПоУходу.

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

  1. Проверим текущее состояние сотрудника. Для этого откроем карточку сотрудника и посмотрим на статус его занятости или обратимся к регистру сведений СостоянияСотрудников.
  2. Перейдем в раздел Кадры (или Зарплата) -> Отпуска по уходу и возвраты из отпуска.
  3. Создадим новый документ Возврат из отпуска по уходу за ребенком.
  4. Даже если физического документа ОтпускПоУходуЗаРебенком в новой базе 3.1 нет (так как данные были перенесены техническими документами), программа позволит создать документ возврата на основании перенесенных данных — состояние автоматически подтянется из регистров переноса.
  5. Укажем дату возврата, соответствующую дате прекращения пособия. На закладке Начисления проверим, что выплата пособия прекращается, а начисление оклада возобновляется в полном объеме. Проведем документ.

---

Причина 3. Несинхронизированные интервальные регистры

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

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

Если в интервальном регистре отсутствует конечная дата, то при заполнении документа НачислениеЗарплатыИВзносов движок расчета зарплаты будет упорно продолжать начислять пособие. Для исправления ситуации нам необходимо пересчитать интервалы. Сделать это можно несколькими способами:

Способ А. Перезапись кадровых документов

Найдем последний кадровый документ сотрудника (например, КадровыйПеревод или документ НачальнаяШтатнаяРасстановка, созданный при переносе), внесем в него любое незначительное изменение (например, временно поменяем и вернем обратно подразделение) и перепроведем его. Это спровоцирует автоматическую перезапись интервалов в регистрах для данного физического лица.

Способ Б. Использование встроенных процедур

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


// Пример программного обновления интервалов плановых начислений
НаборЗаписей = РегистрыСведений.ПлановыеНачисленияИнтервальный.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Сотрудник.Установить(ВыбранныйСотрудник);
// Вызов процедуры обновления интервалов для сотрудника
РегистрыСведений.ПлановыеНачисленияИнтервальный.ОбновитьИнтервалы(ВыбранныйСотрудник);

---

Причина 4. Некорректные данные в документах «Перенос данных»

Весь перенос информации из версии 2.5 в 3.1 осуществляется при помощи специальных технических документов под названием ПереносДанных. Найти их можно в разделе Администратор -> Перенос данных.

Данные по отпускам по уходу за ребенком и плановым начислениям обычно хранятся в документах со следующими буквенными кодами:

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

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

---

Причина 5. Прекращение независимого планового начисления

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

Для его отмены нам необходимо воспользоваться специализированным кадровым документом:

  1. Перейдем в раздел Зарплата -> Изменение оплаты сотрудников.
  2. Создадим документ Изменение оплаты труда.
  3. В шапке документа выберем нужного сотрудника и укажем дату, с которой необходимо прекратить начисление.
  4. В табличной части Начисления найдем строку с пособием (или компенсацией), в колонке Действие выберем значение Отменить.
  5. Проведем документ. После этого начисление гарантированно перестанет попадать в расчетный листок сотрудника.

---

Резюме

Мы подробно разобрали все возможные причины появления излишнего начисления пособия по уходу за ребенком после переноса данных из ЗУП 2.5 в ЗУП 3.1. Чаще всего проблема кроется в отсутствии проведенного документа ВозвратИзОтпускаПоУходу или в рассинхронизации интервальных регистров ПлановыеНачисленияИнтервальный. Последовательное выполнение предложенных шагов позволит вам быстро и безболезненно исправить расчетную базу и избежать ошибок при начислении заработной платы.

← На главную