С 1 июля 2021 года должен был вступить в силу новый формат электронного документа СЗВ-ТД (альбом форматов 2.60д), ключевым изменением в котором являлось обязательное указание кода выполняемой функции по Общероссийскому классификатору занятий (ОКЗ) для таких кадровых мероприятий, как прием на работу и перевод. Однако многие пользователи программ 1С столкнулись с проблемой: отчеты СЗВ-ТД, сформированные по новым правилам, не проходили форматно-логический контроль на стороне Пенсионного фонда России (ПФР). Это происходило из-за того, что программное обеспечение ПФР оказалось не готово к приему документов в обновленном формате. Мы рассмотрим, как можно было решить эту проблему, используя временные обходные пути, официальные патчи от 1С и собственные доработки.
В сложившейся ситуации Пенсионный фонд России выпустил разъяснения, в которых рекомендовал работодателям временно, в течение июля 2021 года, продолжать представлять отчетность СЗВ-ТД по старому формату. Это решение было принято для того, чтобы избежать массовых штрафов за несвоевременную сдачу отчетности, пока ведомство обновляло свои приемные комплексы. Таким образом, наша задача заключалась в том, чтобы заставить программы 1С формировать отчеты по старому формату, игнорируя новые требования по ОКЗ для июльских отчетов.
Компания 1С оперативно отреагировала на проблему, выпустив официальные исправления. Однако до их появления и для пользователей, не имеющих оперативного доступа к обновлениям, существовали различные обходные пути.
Для конфигураций 1С:Зарплата и Управление Персоналом (ЗУП) и 1С:Зарплата и кадры государственного учреждения (ЗКГУ) были выпущены оперативные исправления (патчи), например, EF_10232423. Суть этих патчей сводилась к тому, чтобы временно сдвинуть дату перехода на новый формат с 1 июля на 1 августа 2021 года.
Как применить патч:
Администрирование.Интернет-поддержка и сервисы.Обновление программы, затем Исправления (патчи).После установки патча необходимо заново сформировать отчет СЗВ-ТД. Патч изменял логику программы таким образом, что для документов с датой до 1 августа 2021 года выгрузка файла СЗВ-ТД происходила по прежнему, "старому" формату. Это означало, что поле для кода ОКЗ не заполнялось и отчет успешно проходил проверку в ПФР. Даже если вы уже внесли данные ОКЗ в кадровые документы, они временно не выгружались, но сохранялись в базе для будущего использования.
Если официальный патч был недоступен или требовалось более гибкое решение, можно было создать расширение, которое переопределяло функцию формирования выходного файла СЗВ-ТД. Это позволяло принудительно использовать старый формат выгрузки для отчетов, относящихся к июлю.
Пример кода расширения для ЗУП 3.1.14.555 и 3.1.18.82:
&Вместо("СформироватьВыходнойФайл") Функция РасшСЗВТД_СформироватьВыходнойФайл(Ссылка)
МассивСсылок = Новый Массив;
МассивСсылок.Добавить(Ссылка);
ВыборкаПоШапкеДокумента = ВыборкаПоШапкеДокумента(МассивСсылок);
ВыборкаПоШапкеДокумента.Следующий;
ВыборкаПоРаботникам = ВыборкаПоСотрудникам(МассивСсылок);
Если ВыборкаПоШапкеДокумента.Дата < '20210801' Тогда
Возврат ВыходнойФайл20200101(ВыборкаПоШапкеДокумента, ВыборкаПоРаботникам);
КонецЕсли;
Возврат ВыходнойФайл20210701(ВыборкаПоШапкеДокумента, ВыборкаПоРаботникам);
КонецФункции
Данный код перехватывает вызов функции СформироватьВыходнойФайл и, если дата документа раньше 1 августа 2021 года, принудительно вызывает функцию ВыходнойФайл20200101 (старый формат). В противном случае используется новый формат ВыходнойФайл20210701. Это расширение, как и официальный патч, приводило к формированию файла без кода ОКЗ для июльских отчетов.
Некоторые пользователи обнаружили, что после установки патча или применения расширения, в форме документа СЗВ-ТД исчезала возможность выбора отчетного периода "Июль 2021". Это происходило из-за изменений в логике отображения элементов формы, связанных с датой документа. Для решения этой проблемы можно было использовать дополнительное расширение.
Пример кода расширения для формы документа СЗВ-ТД:
&НаСервере
&Вместо("УстановитьОтображениеПоДатеДокумента")
Процедура EF_10232423_УстановитьОтображениеПоДатеДокумента
// Вставить содержимое метода.
//ПродолжитьВызов;
Если Объект.Дата < '20210801' Тогда
ОтчетныйПериодВидимость = Истина;
ПрежнийСтраховательВидимость = Ложь;
Иначе
ОтчетныйПериодВидимость = Ложь;
ПрежнийСтраховательВидимость = Истина;
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ОтчетныйПериодПредставление", "Видимость", ОтчетныйПериодВидимость);
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
Элементы, "ПрежнийСтраховательГруппа", "Видимость", ПрежнийСтраховательВидимость);
КонецПроцедуры
Это расширение переопределяет процедуру УстановитьОтображениеПоДатеДокумента, которая управляет видимостью полей на форме. Оно принудительно делает видимым поле "Отчетный период" для документов, датированных до 1 августа 2021 года, позволяя корректно выбрать "Июль 2021" в качестве отчетного периода.
Альтернативный обход для проблемы с периодом:
Некоторые пользователи находили рабочий метод путем следующих шагов:
Такие "пляски со сменой даты" позволяли сформировать отчет с корректным периодом, но в старом формате, при условии, что были применены патчи или расширения, запрещающие выгрузку ОКЗ.
Для пользователей более старых конфигураций, таких как УПП 1.3, проблема также требовала специфичных изменений, поскольку официальные патчи для них могли отсутствовать или быть не применимы в полной мере. Мы рассмотрим подробное решение для УПП 1.3.162.3:
Изменение даты формирования: В модуле объекта, отвечающем за формирование СЗВ-ТД, требовалось изменить условие, определяющее формат выгрузки, чтобы он использовал старый формат для документов, датированных до 1 августа 2021 года. Это аналогично логике патчей и расширений для ЗУП/ЗКГУ.
Отключение выгрузки кода ОКЗ: Даже если программа использовала старый формат, важно было убедиться, что она не пытается заполнить поле, которое присутствует в новом формате, но отсутствует в старом или не ожидается ПФР. Для этого необходимо было закомментировать строку, отвечающую за установку значения КодВФ (код выполняемой функции).
Мы находим в соответствующем модуле (например, в процедуре, отвечающей за формирование записей мероприятия) следующую строку или её аналог и комментируем её:
// УстановитьЗначениеЭлементаНабораЗаписей("КодВФ", ВыборкаПоРаботникам.ТрудоваяФункцияКод, НаборЗаписейМероприятие);
Удаление поля из макета выгрузки: Дополнительно, для полного соответствия старому формату и во избежание возможных ошибок, мы проверяем и при необходимости удаляем упоминание поля КодВФ из макета выгрузки. Для УПП 1.3 это мог быть макет "ФорматПФР_ЭТК_2019".
Мы находим и удаляем строку, относящуюся к коду выполняемой функции, например:
"Код выполняемой функции. Строка 10 КодВФ"
Важно понимать, что все временные решения и официальные патчи, выпущенные для июля 2021 года, имели одну общую черту: они не выгружали код ОКЗ (КодВФ). Это было полностью соответствует временным рекомендациям ПФР, который сам не был готов принимать этот код. Поэтому, если вы отправляли отчеты в июле с применением этих решений, отсутствие ОКЗ не являлось нарушением.
Отдельный момент касался увольнений. Были разъяснения от разработчиков 1С, согласно которым при увольнении трудовая функция не указывается в СЗВ-ТД. Таким образом, для мероприятия "Увольнение" поле ОКЗ не требовалось заполнять ни в старом, ни в новом формате (при условии корректной реализации).
Как и ожидалось, с 1 августа 2021 года приемные комплексы ПФР были обновлены и стали готовы принимать отчеты СЗВ-ТД в новом формате, включающем код ОКЗ. После этой даты работодателям требовалось либо удалить ранее установленные временные патчи/расширения, либо обновиться до актуальных версий конфигураций 1С, где применение нового формата с августа уже являлось штатной функцией.
Позднее, уже после 3 августа 2021 года, с выходом нового альбома форматов ПФР версии 2.62д, возникла еще одна проблема, связанная с полем КодВФ. В этой версии формата для некоторых мероприятий (например, при увольнении) поле КодВФ больше не должно было заполняться. Это приводило к новой ошибке: "Поле объекта не обнаружено (КодВФ)" в конфигурации ЗУП 3.1.18.151, особенно при проведении документов увольнения.
Мы выясним причину этой ошибки: она чаще всего возникала из-за того, что в системе оставались старые патчи или пользовательские расширения, которые были призваны решить проблему с июлем 2021 года. Эти старые доработки могли по-прежнему пытаться записать или проверить поле КодВФ, в то время как в новом формате 2.62д (и соответствующем обновлении 1С) оно уже не ожидалось для данного типа мероприятия.
Решение для ошибки "Поле объекта не обнаружено (КодВФ)" (для версии 3.1.18.151 и выше):
Удаление конфликтующих патчей/расширений: В первую очередь необходимо проверить список установленных расширений и патчей. Если присутствуют временные решения, которые были установлены в июле 2021 года для обхода проблемы с ОКЗ, их следует отключить или удалить. Они могут конфликтовать с новой логикой программы.
Перепроведение документов: После удаления конфликтующих доработок, мы рекомендуем перепровести документы СЗВ-ТД. В этот момент программа заново сформирует данные для файла в соответствии с актуальной логикой и форматом.
Актуализация конфигурации: Убедимся, что конфигурация 1С обновлена до последней версии, которая включает все изменения, соответствующие актуальному альбому форматов ПФР.
Таким образом, проблема с непринятием СЗВ-ТД в июле 2021 года была временным явлением, вызванным рассинхронизацией между нормативными требованиями и технической готовностью ПФР. Благодаря своевременным действиям 1С и активному обмену решениями между пользователями, удалось избежать массовых проблем с отчетностью.