СЗВ-ТД в 1С:ЗУП: Как исправить ошибки с незаполненным сотрудником и дублированием UUID мероприятий

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

При подготовке и сдаче отчетности СЗВ-ТД (в настоящее время — подраздел 1.1 раздела 1 формы ЕФС-1) в программе «1С:Зарплата и управление персоналом» (1С:ЗУП) пользователи часто сталкиваются с неочевидными техническими сложностями. Две наиболее распространенные и неприятные проблемы — это системная ошибка «Не заполнена колонка "Сотрудник" в строке списка мероприятия» при записи или проведении документа, а также конфликт уникальных идентификаторов кадровых событий, сопровождающийся сообщением «Запись с такими ключевыми полями существует: Мероприятия трудовой деятельности переданные (ИД мероприятия)».

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

Проблема № 1: Ошибка «Не заполнена колонка "Сотрудник" в строке списка мероприятия»

Рассмотрим первую ситуацию. Бухгалтер или кадровик открывает документ СЗВ-ТД, в котором визуально все поля заполнены корректно: указаны сотрудники, их СНИЛС, даты и виды кадровых мероприятий. Однако при попытке установить флаг «Пачка принята в ПФР» и провести документ система выдает ошибку о незаполнении колонки сотрудника в строке списка мероприятий и блокирует запись.

Выясняем причину сбоя

Данная проблема связана с зарегистрированной ошибкой конфигурации (код ошибки в базе «1С»: 30172294 / 000065685), которая массово проявлялась в релизах ветки 3.1.12 и ранних версиях 3.1.13. Дело в том, что в табличной части документа СЗВ-ТД скрыт внутренний реквизит СотрудникЗаписи (служебное поле связи физического лица с кадровым событием). При ручном редактировании строк, копировании данных или переносе кадровых сведений связь между таблицей сотрудников и таблицей мероприятий нарушалась. Визуально в интерфейсе сотрудник отображался, но во внутренней структуре базы данных поле оставалось пустым. При проведении документа с флагом принятия запускалась жесткая валидация структуры данных, приводившая к ошибке.

Разберем по шагам, как исправить эту ошибку

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

Проблема № 2: Ошибка «Запись с такими ключевыми полями существует: Мероприятия трудовой деятельности переданные (ИД мероприятия)»

Вторая проблема гораздо глубже и связана с механикой работы уникальных идентификаторов кадровых мероприятий — UUID (GUID). При попытке установить флаг «Пачка принята в ПФР» программа выдает ошибку дублирования ключевых полей в регистре сведений. Посмотрим, почему так происходит.

Анализируем логику UUID в «1С:ЗУП»

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

Конфликт ключевых полей означает, что программа пытается записать в регистр переданных мероприятий идентификатор UUID, который там уже присутствует. Выясним основные причины этой путаницы:

Рассмотрим подробнее способы решения проблемы с UUID

Для исправления ситуации можно использовать несколько проверенных практических методов.

Способ 1. Ручной анализ и корректировка регистров сведений

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

  1. Перейдем в регистр сведений Мероприятия трудовой деятельности переданные.
  2. Выполним отбор по проблемному сотруднику и найдем запись с конфликтующим UUID (строка, указанная в системной ошибке).
  3. Откроем регистр сведений Мероприятия трудовой деятельности и сравним идентификаторы событий. Если в регистре переданных сведений зависла фантомная строка от более позднего (например, мартовского) документа, из-за которой не проводится первичный (февральский) документ, эту фантомную строку необходимо аккуратно удалить из регистра переданных сведений.

Для программистов и опытных пользователей решить задачу поиска дубликатов в регистре поможет простой запрос в консоли:


ВЫБРАТЬ
    РегистрПереданные.ИдентификаторМероприятия КАК ИД_Мероприятия,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РегистрПереданные.Сотрудник) КАК КоличествоСотрудников
ИЗ
    РегистрСведений.МероприятияТрудовойДеятельностиПереданные КАК РегистрПереданные
СГРУППИРОВАТЬ ПО
    РегистрПереданные.ИдентификаторМероприятия
ИМЕЮЩИЕ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РегистрПереданные.Сотрудник) > 1

Способ 2. Создание технического документа СЗВ-ТД (без редактирования регистров)

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

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

Способ 3. Правильное использование документа «Регистрация трудовой деятельности»

Для корректного сопоставления сведений, имевших место до 2020 года, разберем порядок работы с документом РегистрацияТрудовойДеятельности:

  1. Создадим документ Регистрация трудовой деятельности.
  2. Нажмем кнопку «Заполнить» и выберем команду «Заполнить до 2020 года».
  3. Проанализируем хронологию кадровых документов сотрудника. Перейдем в карточку физического лица, найдем последнее кадровое событие, зарегистрированное до 1 января 2020 года, и проверим соответствие даты, номера приказа и вида мероприятия с тем, что программа заполнила автоматически.
  4. Помните важное правило: документ Регистрация трудовой деятельности для первоначального заполнения исторических данных должен создаваться в базе единожды. Создание нескольких таких документов неизбежно приводит к генерации дублирующих UUID для одних и тех же событий.

Рекомендация по настройке номеров приказов с префиксами

Часто в базе «1С:ЗУП» ведется ручная нумерация кадровых приказов с использованием индексов (например, «15-к»). По умолчанию программа может обрезать префиксы организации и информационных баз при заполнении СЗВ-ТД, из-за чего номера документов в отчете и в бумажной трудовой книжке не совпадают. Чтобы исправить это, выполним следующую настройку:

  1. Перейдем в раздел «Настройка» -> «Дополнительные настройки».
  2. Снимем флаг «Удалять префиксы организации и ИБ из номеров кадровых приказов».
  3. Перезаполним документ СЗВ-ТД. Теперь буквенные индексы и префиксы будут корректно выгружаться в отчетность.

Заключение

Мы детально рассмотрели причины возникновения ошибок при заполнении СЗВ-ТД в программе «1С:ЗУП» и разобрали практические методы их устранения. Системные сбои с пустыми колонками и дублирующимися ключевыми полями успешно устраняются путем обновления конфигурации, корректного перезаполнения строк через подбор и использования технических документов для «закрытия» устаревших UUID. Применяя данные рекомендации, вы сможете поддерживать порядок в кадровых регистрах и без проблем сдавать регламентированную отчетность.

← На главную