При обновлении конфигурации "1С:Зарплата и Управление Персоналом", особенно на версию 3.1.17.94, пользователи часто сталкиваются с критической ошибкой, которая прерывает процесс: "Запись с такими ключевыми полями существует: МероприятияТрудовойДеятельностиПереданные". Эта проблема не позволяет завершить обновление и требует вмешательства для исправления данных.
Давайте подробно разберем, почему возникает эта ошибка и какие существуют способы ее решения. Проблема официально признана разработчиками 1С и имеет код 10229344.
Основная причина кроется в данных, сформированных в начале 2020 года, когда отчетность СЗВ-ТД только вводилась. Механизмы программы были еще не до конца отлажены, что приводило к созданию дублирующихся записей о кадровых событиях в регистре сведений МероприятияТрудовойДеятельностиПереданные. Например, одно и то же мероприятие "Прием на работу" могло быть отражено сначала в отчете за февраль, а затем повторно в отчете за март вместе с увольнением. Новые версии конфигурации стали выполнять более строгую проверку на уникальность записей, что и выявило эти старые "хвосты".
Для исправления ситуации необходимо найти и устранить дубли в базе данных до начала процесса обновления. Рассмотрим несколько проверенных методов.
Прежде чем что-то исправлять, нужно точно определить, какие именно документы и по каким сотрудникам создали дубли. Для этого можно использовать стандартные инструменты 1С.
Способ 1: Использование "Универсального отчета"
МероприятияТрудовойДеятельностиПереданные.Сотрудник, ИдМероприятия, Регистратор. ИдМероприятия — это уникальный идентификатор кадрового события, и именно по нему мы будем искать дубли.ИдМероприятия. Строки с одинаковым идентификатором и будут нашими дублями. Поле Регистратор укажет на документы СЗВ-ТД, которые создали эти записи.Способ 2: Использование "Консоли запросов"
Этот способ больше подходит для программистов. С помощью консоли запросов можно получить все необходимые данные для анализа.
ВЫБРАТЬ
МероприятияТрудовойДеятельностиПереданные.Сотрудник,
МероприятияТрудовойДеятельностиПереданные.ИдМероприятия,
МероприятияТрудовойДеятельностиПереданные.Регистратор,
МероприятияТрудовойДеятельностиПереданные.ПринятоВПФР
ИЗ
РегистрСведений.МероприятияТрудовойДеятельностиПереданные КАК МероприятияТрудовойДеятельностиПереданные
Выполните этот запрос и сгруппируйте результат по полю ИдМероприятия, выведя количество записей. Там, где количество больше одной, и есть дубли. Результат также удобно выгрузить в таблицу для дальнейшего анализа.
После того как проблемные документы найдены, можно приступать к их исправлению. Критически важно: все операции по исправлению проводите на свежей копии базы данных!
Этот метод является самым безопасным и предложен самими разработчиками как временное решение.
МероприятияТрудовойДеятельностиПереданные (через "Все функции").Этот способ более правильный с точки зрения учета, так как мы не просто удаляем записи, а исправляем сам документ-источник.
Проанализируем типичный пример. По сотруднику был отправлен отчет СЗВ-ТД за февраль с мероприятием "Прием на работу". Затем в марте сотрудник уволился, и кадровик сформировал новый СЗВ-ТД, в который программа ошибочно включила и старое событие "Прием на работу", и новое "Увольнение". В ПФР ушли оба события, и в регистре образовался дубль по приему.
Порядок действий:
СЗВ-ТД (в нашем примере — мартовский).МероприятияТрудовойДеятельностиПереданные будет удалена.Важный момент: Обращайте внимание на флаг "Принято в ПФР". Если отчет принят, его трогать нежелательно. В первую очередь корректируйте те документы, которые не были приняты, или те, что создали дубль по уже отправленному ранее и принятому событию. Простое удаление записей из регистра напрямую (например, обработками) — не лучший вариант, так как это может привести к расхождениям данных в программе и в ПФР.
Если документов много и анализировать их долго, можно воспользоваться более быстрым, хотя и менее аккуратным методом.
СЗВ-ТД за проблемный период (начало 2020 года).После успешного обновления вы сможете вернуться к этому документу и решить, что с ним делать: либо исправить корректно (как в Решении 2), либо, если он неактуален, пометить на удаление.
В заключение отметим, что в более свежих релизах 1С:ЗУП (например, 3.1.18 и выше) механизм обновления был доработан, и программа научилась исправлять подобные дубли автоматически в процессе миграции данных. Однако, если вы столкнулись с ошибкой, один из описанных выше методов поможет вам успешно обновить конфигурацию и навести порядок в данных.