С переходом на форму ЕФС-1 (взамен 4-ФСС) многие пользователи 1С:УПП 1.3 столкнулись с резким изменением алгоритмов заполнения поля «Численность работающих застрахованных лиц по обязательному социальному страхованию от несчастных случаев на производстве и профессиональных заболеваний». Если раньше программа ориентировалась на наличие фактических начислений в периоде, то в новых релизах алгоритм переключился на анализ кадрового состояния сотрудников. Рассмотрим подробнее, почему возникают ошибки, как их исправить программно и что об этом говорит законодательство.
Разберем ситуацию: в старых алгоритмах (до 3 квартала 2023-2024 гг.) расчет строился на данных о доходах. Если сотруднику начислялись взносы «на травматизм» — он попадал в отчет. Теперь же 1С использует данные регистра сведений РаботникиОрганизаций и документов ДоговорНаВыполнениеРаботСФизЛицом. Это связано с тем, что согласно правилам заполнения ЕФС-1, застрахованными лицами являются все, с кем заключен трудовой договор или договор ГПХ (с условием взносов на НС и ПЗ), независимо от факта выплаты зарплаты в конкретном месяце.
Однако в коде 1С:УПП была допущена техническая неточность при работе со срезом последних данных на начало года. Программа подхватывает записи сотрудников, которые были уволены задолго до начала отчетного периода, так как по ним в регистре РаботникиОрганизаций не появилось новых записей, а условие проверки статуса увольнения отсутствовало.
Проанализируем фрагмент запроса, который отвечает за выборку сотрудников на начало отчетного года. Проблема кроется в первом блоке объединения запроса ЧисленностьЗастрахованныхТекст. Нам необходимо принудительно исключить тех, у кого последнее состояние на начало года — «Увольнение».
Для исправления ситуации найдем в модуле отчета (или в соответствующей процедуре заполнения) текст запроса и добавим условие фильтрации. Ниже представлен исправленный фрагмент кода:
////////////////
// ИСПРАВЛЕННЫЙ БЛОК ЗАПРОСА
////////////////
ЧисленностьЗастрахованныхТекст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ЕСТЬNULL(КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВсеЗастрахованные.Физлицо), 0) КАК ЧисленностьЗастрахованных
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| РаботникиОрганизации.Сотрудник.Физлицо КАК Физлицо
| ИЗ
| РегистрСведений.РаботникиОрганизаций.СрезПоследних(&парамНачалоГода, Организация = &парамГоловнаяОрганизация) КАК РаботникиОрганизации
| ГДЕ
| ВЫБОР
| КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамНачалоГода
| И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА РаботникиОрганизации.ОбособленноеПодразделениеЗавершения
| ИНАЧЕ РаботникиОрганизации.ОбособленноеПодразделение
| КОНЕЦ = &парамОрганизация
| И (РаботникиОрганизации.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение))";
Важный момент: использование условия РаботникиОрганизации.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) позволяет отсечь «мертвые души», которые числятся в базе как уволенные, но попадали в срез последних записей.
Рассмотрим подробнее механизм ПериодЗавершения. В 1С:УПП этот реквизит используется для отражения временных кадровых изменений (например, временный перевод в другое подразделение). Выясним причину, по которой это важно: филиалы с отдельным рег/номером в СФР сдают отчетность самостоятельно. Если сотрудник был временно переведен, на дату окончания перевода он должен вернуться в «голову» или другое подразделение.
Для корректного учета в таких случаях рекомендуется использовать более сложную конструкцию ВЫБОР, которая учитывает состояние завершения:
| ГДЕ
| ВЫБОР
| КОГДА РаботникиОрганизации.ПериодЗавершения <= &парамНачало
| И РаботникиОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА РаботникиОрганизации.ПричинаИзмененияСостоянияЗавершения
| ИНАЧЕ РаботникиОрганизации.ПричинаИзмененияСостояния
| КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
После внесения правок в код вы можете заметить, что численность все равно выше, чем была в старой форме 4-ФСС. Проанализируем, почему это правильно с точки зрения СФР:
Договор на выполнение работ с физлицом.Посмотрим на структуру отчетного периода. Показатель численности в ЕФС-1 Раздел 2 — это количество лиц, застрахованных в течение отчетного периода (с начала года нарастающим итогом). Рассмотрим пример:
Именно поэтому запрос в 1С объединяет несколько выборок: тех, кто числился на 1 января, и тех, кто имел движения по кадрам в течение года.
Для того чтобы убедиться в корректности заполнения, рекомендуем выполнить следующие действия:
ДоговорыГПХОблагаемыеФСС_НС. Если программа их не видит — проверьте справочник Доходы по страховым взносам.Подведем итог: изменение алгоритма в УПП — это не просто «глюк», а попытка привести отчетность в соответствие с новыми требованиями СФР. Однако техническая реализация в части учета уволенных сотрудников требует ручной доработки кода запроса. Используйте предложенные выше вставки кода для приведения отчета в рабочее состояние.