Почему в 1С:УПП отчет СЗВ-ТД (ЕФС-1) стал заполняться всеми сотрудниками за прошлые периоды и как это исправить?

Программист 1С v8.3 (Обычные формы) Налоговый учет Промышленность, строительство и АПК
← На главную

При работе в конфигурации «Управление производственным предприятием» (УПП) редакции 1.3 пользователи столкнулись с критической проблемой после обновления на релиз 1.3.227.1. Механизм автоматического заполнения документа СведенияОТрудовойДеятельностиРаботниковСЗВ_ТД (который сейчас является частью единой формы ЕФС-1) начал вести себя некорректно. Вместо новых кадровых мероприятий система подтягивает в таблицу практически всех сотрудников предприятия за последние несколько лет.

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

Разберем причину возникновения ошибки

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

Проанализируем ситуацию: алгоритм заполнения должен выбирать только те записи из регистра сведений МероприятияТрудовойДеятельности, которые еще не были включены в документы с установленным флагом ПринятоВПФР. Однако в дефектном релизе условие соединения таблиц в запросе перестало эффективно отсекать старые данные. В результате программа «видит» все архивные мероприятия как новые, требующие отправки.

Способ 1: Техническое исправление (для программистов)

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

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


|    ЛЕВОЕ СОЕДИНЕНИЕ Документ.СведенияОТрудовойДеятельностиРаботниковСЗВ_ТД.Мероприятия КАК ОтправленныеМероприятия
|    ПО (ОтправленныеМероприятия.Ссылка.ОтчетныйПериод <= &ДатаНачала)
|        И (ОтправленныеМероприятия.Ссылка.Проведен)
|        И (ОтправленныеМероприятия.Ссылка.ПринятоВПФР)

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

  1. Откройте конфигуратор и найдите модуль документа СведенияОТрудовойДеятельностиРаботниковСЗВ_ТД или соответствующий менеджер документа (в зависимости от места расположения процедуры ЗаполнитьПоКадровымДокументам).
  2. Сравните процедуру формирования запроса с версией из релиза 1.3.226.1.
  3. Замените блок формирования временной таблицы мероприятий на старый вариант.
  4. Сохраните изменения и обновите конфигурацию базы данных.

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

Если у вас нет возможности привлечь программиста для правки кода, проанализируем альтернативный вариант, который позволяет «обмануть» систему и заставить её считать старые мероприятия уже поданными. Этот метод основан на использовании реквизита ПринятоВПФР.

Разберем этот метод по шагам:

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

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

Способ 3: Официальное обновление

Наиболее правильным и долгосрочным решением является обновление конфигурации до релиза 1.3.228.1 или выше. В этом релизе фирма 1С официально исправила ошибку 60014380. Рассмотрим, что именно изменилось:

В исправленной версии был оптимизирован запрос к табличной части Мероприятия документов СЗВ-ТД. Теперь система корректно сопоставляет ИдентификаторМероприятия (GUID) и исключает из выборки те события, которые уже имеют статус «Принято». Также была доработана логика работы с физическими лицами, чтобы избежать дублирования записей при повторном приеме сотрудников на работу, когда у одного ФизЛицо создается новый элемент в справочнике Сотрудники.

Дополнительные рекомендации по проверке данных

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

Проанализируем, на что стоит обратить внимание при проверке:

Таким образом, комбинируя технический анализ кода и административные методы управления документами, вы сможете оперативно восстановить корректную работу блока кадровой отчетности в 1С:УПП.

← На главную