Что делать, если при обновлении 1С:ЗУП возникает ошибка "МероприятияТрудовойДеятельностиПереданные - запись не уникальна"?

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

При обновлении конфигурации "1С:Зарплата и Управление Персоналом", особенно на версию 3.1.17.94, пользователи часто сталкиваются с критической ошибкой, которая прерывает процесс: "Запись с такими ключевыми полями существует: МероприятияТрудовойДеятельностиПереданные". Эта проблема не позволяет завершить обновление и требует вмешательства для исправления данных.

Давайте подробно разберем, почему возникает эта ошибка и какие существуют способы ее решения. Проблема официально признана разработчиками 1С и имеет код 10229344.

Основная причина кроется в данных, сформированных в начале 2020 года, когда отчетность СЗВ-ТД только вводилась. Механизмы программы были еще не до конца отлажены, что приводило к созданию дублирующихся записей о кадровых событиях в регистре сведений МероприятияТрудовойДеятельностиПереданные. Например, одно и то же мероприятие "Прием на работу" могло быть отражено сначала в отчете за февраль, а затем повторно в отчете за март вместе с увольнением. Новые версии конфигурации стали выполнять более строгую проверку на уникальность записей, что и выявило эти старые "хвосты".

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

Этап 1: Анализ и выявление проблемных данных

Прежде чем что-то исправлять, нужно точно определить, какие именно документы и по каким сотрудникам создали дубли. Для этого можно использовать стандартные инструменты 1С.

Способ 1: Использование "Универсального отчета"

  1. Перейдите в меню "Все функции" (если его нет, включите в "Настройки" -> "Параметры").
  2. Найдите и откройте "Стандартные отчеты" -> "Универсальный отчет".
  3. В поле "Тип объекта" выберите "Регистр сведений". В поле "Имя объекта" укажите МероприятияТрудовойДеятельностиПереданные.
  4. На закладке "Настройки" в структуре отчета добавьте поля: Сотрудник, ИдМероприятия, Регистратор. ИдМероприятия — это уникальный идентификатор кадрового события, и именно по нему мы будем искать дубли.
  5. Сформируйте отчет. Для удобства можно выгрузить его в Excel и отсортировать по полю ИдМероприятия. Строки с одинаковым идентификатором и будут нашими дублями. Поле Регистратор укажет на документы СЗВ-ТД, которые создали эти записи.

Способ 2: Использование "Консоли запросов"

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


ВЫБРАТЬ
    МероприятияТрудовойДеятельностиПереданные.Сотрудник,
    МероприятияТрудовойДеятельностиПереданные.ИдМероприятия,
    МероприятияТрудовойДеятельностиПереданные.Регистратор,
    МероприятияТрудовойДеятельностиПереданные.ПринятоВПФР
ИЗ
    РегистрСведений.МероприятияТрудовойДеятельностиПереданные КАК МероприятияТрудовойДеятельностиПереданные

Выполните этот запрос и сгруппируйте результат по полю ИдМероприятия, выведя количество записей. Там, где количество больше одной, и есть дубли. Результат также удобно выгрузить в таблицу для дальнейшего анализа.

Этап 2: Устранение дублей

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

Решение 1: Официальный способ от 1С (рекомендуемый)

Этот метод является самым безопасным и предложен самими разработчиками как временное решение.

  1. Создайте резервную копию информационной базы.
  2. В этой копии откройте список документов "Сведения о трудовой деятельности работников, СЗВ-ТД" (раздел "Кадры" -> "Электронные трудовые книжки").
  3. Начиная с самых ранних документов (январь, февраль 2020 года), последовательно отменяйте их проведение (правая кнопка мыши -> "Отменить проведение").
  4. После отмены проведения каждого документа пытайтесь открыть сам регистр сведений МероприятияТрудовойДеятельностиПереданные (через "Все функции").
  5. Как только регистр откроется без ошибки, это означает, что вы отменили проведение именно того документа, который создавал дублирующую запись.
  6. Теперь, когда дубли устранены, можно запускать обновление конфигурации. После успешного обновления можно заново провести отмененный документ, если это необходимо.

Решение 2: Корректное исправление документов СЗВ-ТД

Этот способ более правильный с точки зрения учета, так как мы не просто удаляем записи, а исправляем сам документ-источник.

Проанализируем типичный пример. По сотруднику был отправлен отчет СЗВ-ТД за февраль с мероприятием "Прием на работу". Затем в марте сотрудник уволился, и кадровик сформировал новый СЗВ-ТД, в который программа ошибочно включила и старое событие "Прием на работу", и новое "Увольнение". В ПФР ушли оба события, и в регистре образовался дубль по приему.

Порядок действий:

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

Важный момент: Обращайте внимание на флаг "Принято в ПФР". Если отчет принят, его трогать нежелательно. В первую очередь корректируйте те документы, которые не были приняты, или те, что создали дубль по уже отправленному ранее и принятому событию. Простое удаление записей из регистра напрямую (например, обработками) — не лучший вариант, так как это может привести к расхождениям данных в программе и в ПФР.

Решение 3: «Силовой» метод поиска проблемного документа

Если документов много и анализировать их долго, можно воспользоваться более быстрым, хотя и менее аккуратным методом.

  1. Работаем в копии базы.
  2. Открываем список документов СЗВ-ТД за проблемный период (начало 2020 года).
  3. Начинаем последовательно перепроводить документы: отменяем проведение и тут же проводим заново.
  4. В какой-то момент при попытке проведения одного из документов программа выдаст уже знакомую ошибку о неуникальной записи. Это и есть тот самый документ, который пытается записать дубль.
  5. Просто отмените его проведение и оставьте непроведенным. После этого запускайте обновление.

После успешного обновления вы сможете вернуться к этому документу и решить, что с ним делать: либо исправить корректно (как в Решении 2), либо, если он неактуален, пометить на удаление.

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

← На главную