С введением электронных трудовых книжек (ЭТК) работодатели столкнулись с необходимостью передавать сведения о трудовой деятельности сотрудников по формам СЗВ-ТД (ныне — Подраздел 1.1 раздела 1 формы ЕФС-1). Одной из наиболее частых и болезненных проблем при подготовке отчетности является появление «фантомных» или ошибочных исторических записей (например, кадровых переводов или приемов до 2020 года), которые программа настойчиво пытается отправить или отменить.
Особенно критичной ситуация становится тогда, когда ошибочное мероприятие находится в закрытом периоде, а кадровый документ оформлен на множество сотрудников. Попытка открыть период, снять флаг отражения в трудовой книжке или распровести документ приводит к лавинообразным перерасчетам заработной платы и страховых взносов за прошлые годы. В рамках этой статьи мы подробно разберем, как решить эту проблему цивилизованным путем, используя штатные механизмы программы 1С:ЗУП 3.1 без ручной правки XML-файлов и без изменения кадровых документов прошлых периодов.
Давайте проанализируем, почему в ранних релизах 1С:ЗУП 3.1 (в частности, в ветке 3.1.10) возникала эта проблема. При попытке скорректировать историческое мероприятие (например, ошибочный перевод от 2019 года) через специальный документ РегистрацияТрудовойДеятельности программа вела себя некорректно. Вместо того чтобы просто аннулировать запись в регистрах, она формировала в файле выгрузки СЗВ-ТД две строки:
Когда такой файл загружался в приемный шлюз Пенсионного фонда (ныне Социальный фонд России — СФР), система контроля выдавала ошибку (обычно с кодом 30). Фонд сообщал, что «не найдены исходные сведения для отменяемого мероприятия». И это логично: фонд никогда ранее не получал сведений о переводе за 2019 год, поэтому он технически не может принять отмену того, чего нет в его базе данных.
Для понимания внутренней кухни 1С посмотрим на структуру метаданных. Все сведения для электронных трудовых книжек хранятся в специализированных регистрах сведений:
РегистрСведений.МероприятияТрудовойДеятельности — хранит актуальные записи, предназначенные для выгрузки.РегистрСведений.МероприятияТрудовойДеятельностиПереданные — фиксирует, какие именно мероприятия (с какими UUID) уже были успешно отправлены и приняты фондом.РегистрСведений.МероприятияТрудовойДеятельностиПрочие — вспомогательный регистр, отслеживающий цепочки корректировок.Если запись по конкретному кадровому событию отсутствует в регистре переданных сведений, программа должна понимать, что событие еще ни разу не отправлялось в фонд. Начиная с релизов 3.1.10.444 и 3.1.14.55, разработчики 1С исправили эту логику. Теперь алгоритм четко разделяет корректируемые записи на «переданные» и «непереданные».
Если вы столкнулись с тем, что программа пытается отправить в ЕФС-1 ошибочный перевод или прием прошлых лет, который никогда ранее не передавался в фонд, выполним следующие шаги:
Шаг 1. Создание документа корректировки. Перейдем в раздел Кадры — Электронные трудовые книжки и создадим документ РегистрацияТрудовойДеятельности.
Шаг 2. Выбор операции изменения. Нажмем кнопку Изменить и выберем сотрудника. Программа откроет список доступных кадровых мероприятий по этому физическому лицу. Выберем то ошибочное событие, которое нам необходимо исправить или заменить.
Шаг 3. Корректировка данных. В появившейся строке документа мы можем напрямую отредактировать сведения: заменить дату мероприятия, номер или дату приказа, либо полностью переписать событие (например, указать правильный прием вместо ошибочного перевода).
Шаг 4. Проведение документа. Проведем документ РегистрацияТрудовойДеятельности. Начиная с исправленных релизов, программа выполнит прямую замену записи в регистре МероприятияТрудовойДеятельности. При формировании нового отчета СЗВ-ТД (ЕФС-1) в него попадет только одна итоговая корректная строка. Никаких строк отмены с крестиком по несуществующим UUID генерироваться в XML-файле не будет.
Что делать, если ошибочное мероприятие вообще не должно фигурировать в отчетности (даже в исправленном виде), но кадровый документ в закрытом периоде трогать категорически нельзя? Например, в 2019 году по ошибке провели кадровый перевод, который не состоялся, а сейчас сотрудника увольняют, и этот перевод «тянется» в отчет.
Рассмотрим по шагам правильную последовательность действий:
РегистрацияТрудовойДеятельности.Чтобы решить эту проблему окончательно, нам потребуется убедиться, что событие не числится как отправленное в регистре переданных мероприятий. Разберем, как очистить эти сведения.
Очень часто кадровики по ошибке устанавливают флаг «Документ принят в ПФР (события зарегистрированы)» в документах СЗВ-ТД, которые по факту были отклонены фондом из-за протоколов с ошибками. Из-за этого программа считает, что фонд знает об этих записях, и при любой попытке исправления генерирует отменяющие строки.
Для исправления этой ситуации выполним следующий алгоритм:
Шаг 1. Поиск проблемного отчета. Нам необходимо найти тот архивный документ СЗВ-ТД (ЕФС-1), в который попало ошибочное мероприятие.
Шаг 2. Снятие флага проведения. В найденном документе снимем галочку «Документ принят в ПФР...» и перепроведем его. Это вернет записи в регистре МероприятияТрудовойДеятельностиПереданные в исходное (неотправленное) состояние.
Шаг 3. Переформирование текущей отчетности. Теперь, когда система «забыла» об отправке этого UUID, мы можем заново создать текущую форму ЕФС-1. Программа увидит, что ошибочное событие не имеет статуса переданного, и просто исключит его из выгрузки, оставив только актуальные сведения (например, текущее увольнение).
Если предыдущие методы не помогают, либо архивные документы СЗВ-ТД физически повреждены или заблокированы для редактирования, мы можем воспользоваться универсальным инструментом разработчика — документом ПереносДанных. Это позволит нам точечно скорректировать записи в регистрах сведений без перепроведения первичных документов.
Выполним процедуру по шагам:
Шаг 1. Создание документа. Перейдем в раздел Администрирование — Переносы данных (или найдем этот документ через функции технического специалиста) и создадим новый документ.
Шаг 2. Выбор регистров. Нажмем кнопку Настройка состава регистров. В открывшемся окне перейдем на вкладку Регистры сведений и отметим флагами два регистра:
Мероприятия трудовой деятельностиМероприятия трудовой деятельности переданныеШаг 3. Заполнение движений. В табличной части документа мы можем вручную внести корректирующие записи. Например, чтобы аннулировать запись о переданном мероприятии, достаточно ввести строку в режиме «Сторно» или просто очистить запись по конкретному сотруднику и UUID. Ниже приведен пример логической структуры записи регистра, которую мы корректируем:
РегистрСведений.МероприятияТрудовойДеятельностиПереданные:
- Сотрудник: Иванов Иван Иванович
- ИдентификаторМероприятия (UUID): [Уникальный_код_события]
- ДокументПредоставления: СЗВ-ТД №1 от 15.01.2020
После удаления или сторнирования строки из этого регистра программа перестанет считать мероприятие переданным, что позволит нам беспрепятственно исключить его из текущих отчетов ЕФС-1.
В процессе обсуждения на форумах часто звучит совет: «Просто отредактируйте XML-файл перед отправкой в фонд, удалив оттуда ненужные строки». Мы настоятельно не рекомендуем использовать этот метод по следующим причинам:
Используя предложенные нами сценарии с документом РегистрацияТрудовойДеятельности на актуальных релизах платформы, вы сможете поддерживать базу данных в идеальной чистоте, не прибегая к опасным операциям перепроведения кадровых приказов прошлых лет.