Почему 1С:ЗУП 3.1.14 сторнирует старые отпуска по уходу за ребенком после перехода на прямые выплаты ФСС

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

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

Проанализируем причину возникновения проблемы

Основная причина кроется в глубоком изменении архитектуры учета пособий, которое произошло в ветке 3.1.14. В отличие от предыдущей версии 3.1.10, новая версия получила переработанный алгоритм определения права на пособие. Теперь система более жестко контролирует связку между документом ОтпускПоУходуЗаРебенком и настройками в Учетной политике организации.

Рассмотрим подробнее механизмы, которые провоцируют сторно:

  1. Изменение логики работы флага «Рассчитывать пособие»: В условиях Пилотного проекта работодатель не должен начислять сумму пособия. Программа в релизе 3.1.14 при анализе прошлых периодов может ошибочно интерпретировать отсутствие начисления в текущем месяце как признак того, что и в прошлых периодах (до даты начала прямой выплаты) начисления быть не должно было.
  2. Фантомные задания в очереди расчета: Даже если регистр Перерасчеты пуст, в системе могут существовать скрытые записи в регистре сведений ОчередьРасчета. При обновлении метаданных документов ОтпускПоУходуЗаРебенком старой структуры программа инициирует проверку всей цепочки движений по сотруднику с самого начала отпуска.
  3. Влияние настройки «Освободить ставку на период отпуска»: Выясним интересную особенность — если в исходном документе была установлена галочка освобождения ставки, обновление на 3.1.14 могло вызвать перезапись движений по плановым начислениям, что система воспринимает как триггер для полного пересчета за весь период действия документа.

Шаг 1. Проверка настроек Учетной политики

Прежде всего, убедимся, что дата перехода на прямые выплаты установлена корректно. Перейдем в настройки организации, на закладку Учетная политика и другие настройки, и выберем ссылку Учетная политика. Проверим вкладку Пособия ФСС. Дата начала действия выплат ФСС должна строго соответствовать законодательному акту для вашего региона (например, 01.07.2019).

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

Шаг 2. Работа с регистрами перерасчетов

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

  1. Откроем Функции для технического специалиста (ранее — Все функции).
  2. Найдем регистр сведений ПерерасчетыЗарплаты (или РегистрСведений.Перерасчеты).
  3. Посмотрим, нет ли там записей по проблемным сотрудникам. Если записи есть, их необходимо удалить (отменить перерасчет), чтобы программа перестала «видеть» необходимость сторнирования прошлых лет.

Важный момент: Обычное удаление строк в документе НачислениеЗарплатыИВзносов на вкладке «Доначисления, перерасчеты» не поможет — при следующем расчете сторно вернется снова, так как задание в регистре останется.

Шаг 3. Фиксация цепочки расчетов («Лечение» базы)

Если очистка регистров не помогает или записи появляются снова, воспользуемся методом «закрытия» старого периода для системы. Создадим документ ИзменениеУсловийОплатыОтпускаПоУходуЗаРебенком.

Разберем алгоритм действий:

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

Этот простой шаг заставляет систему создать новую точку актуальности для плановых начислений и пособий. Программа перестает пытаться «дотянуться» до движений 2017–2018 годов, так как цепочка расчетов теперь официально прерывается (и возобновляется) новым документом текущего периода.

Шаг 4. Очистка кэша и технологическая проверка

В некоторых случаях сторно является следствием некорректного обновления кэша конфигурации, из-за чего алгоритм Retroactive Pay работает по старым правилам метаданных. Рекомендуется выполнить очистку серверного и клиентского кэша, а также запустить Тестирование и исправление базы данных с флагами «Проверка логической целостности» и «Пересчет итогов».

Программные ошибки релизов 3.1.14.166 и 3.1.14.183

Стоит отметить, что в сборках 3.1.14.166 и 3.1.14.183 была официально зафиксирована ошибка, при которой механизм автоматического доначисления игнорировал границы Пилотного проекта. Если вы используете именно эти релизы, наиболее эффективным решением будет обновление до версии 3.1.14.200 и выше или до ветки 3.1.18 / 3.1.23. В этих версиях разработчики 1С выпустили патчи, исправляющие некорректное поведение алгоритма при расчете отпуска по уходу.

Заключение

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

← На главную