Как исправить ошибки при выгрузке СЗВ-ТД в 1С:Бухгалтерии 7.7: дублирование UUID и основания увольнения

Программист 1С v7.7 1C:Бухгалтерия Налоговый учет
← На главную

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

Проблема 1: Дублирование уникального идентификатора мероприятия (UUID)

Одной из наиболее критичных ошибок является сообщение: «Уникальный идентификатор мероприятия (UUID) не должен повторяться в пределах документа». В 1С 7.7 эта проблема часто носит программный характер и заложена в типовой обработке выгрузки.

Проанализируем ситуацию: для каждого кадрового события (прием, перевод, увольнение) в XML-файле должен быть сформирован тег UUID. Этот код является «отпечатком» события, по которому информационная система фонда (ныне СФР) идентифицирует запись. Если у одного сотрудника в одном отчете указано два мероприятия (например, перевод и увольнение), программа должна сгенерировать два разных GUID.

Выясним причину ошибки: в типовых конфигурациях 7.7 (например, в обработке ETK_SZVTD01.ERT) переменная, отвечающая за хранение идентификатора, может не очищаться при переходе к следующей строке мероприятия одного и того же сотрудника. В результате вторая строка получает тот же самый UUID, что и первая.

Для исправления ситуации разберем программный код. Нам необходимо найти место формирования XML-структуры мероприятия. Ориентировочно это строка 5492 в файле внешней обработки выгрузки. Рассмотрим пример корректировки кода:


// Было в типовой версии:
МеропрУУИД = ?( ПустаяСтрока(МеропрУУИД) = 1, Нрег(Инфо.СоздатьGUID), МеропрУУИД);

// Рекомендуется исправить на принудительную генерацию для каждого прохода цикла:
МеропрУУИД = Нрег(Инфо.СоздатьGUID());

Важно понимать смысл UUID. Это уникальная строка, которая генерируется случайным образом. Если мы просто записываем новую запись, мы можем генерировать его произвольно функцией СоздатьGUID(). Однако, если мы формируем отменяющую форму, нам критически важно использовать именно тот UUID, который был отправлен в первоначальном (ошибочном) отчете. Поскольку 7.7 не хранит эти идентификаторы в базе данных, их придется извлекать вручную из старых XML-файлов.

Проблема 2: Ошибки в блоке «Основание увольнения»

Вторая распространенная ошибка звучит так: «Если вид мероприятия принимает значение УВОЛЬНЕНИЕ, то должны быть обязательно заполнены либо Номер статьи ТК РФ, либо Основание увольнения». Даже если в программе выбран пункт из справочника, проверка может не проходить из-за отсутствия разбивки по тегам.

Проанализируем структуру XML. Согласно требованиям, сведения об увольнении не могут быть просто текстом. Они должны быть структурированы по элементам:

  1. Наименование (Нормативный документ, обычно ТК РФ);
  2. Статья;
  3. Часть;
  4. Пункт;
  5. Подпункт.

В 1С 7.7 данные часто хранятся одной строкой. Посмотрим на пути решения:

  1. Обновление справочника: Проверьте справочник Основания увольнения (или аналогичный в вашей конфигурации). Убедитесь, что реквизиты «Статья», «Часть», «Пункт» выделены в отдельные поля и заполнены корректно.
  2. Обновление проверочного ПО: Как отмечают участники обсуждения, часть ошибок может быть связана с использованием устаревшей версии программы CheckPFR. Убедитесь, что вы используете версию не ниже 2.0.68, где исправлены ложные срабатывания на структуру статьи.
  3. Использование классификатора: С 2021 года ПФР требует использования кодированных причин увольнения. Если ваша версия 7.7 слишком стара, она может выгружать данные в старом формате без учета новых классификаторов.

Проблема 3: Префиксы «УТ2:» и пространства имен

Иногда отчет отклоняется из-за несоответствия XSD-схеме в части префиксов пространств имен (теги типа УТ2:Статья). Это технический нюанс формирования самого XML-документа. Если ваша информационная система фонда ожидает префиксы, а 1С их не ставит (или наоборот), файл не пройдет форматный контроль.

Разберем, как это лечится в 7.7: необходимо вручную или через конфигуратор поправить текстовый шаблон выгрузки в обработке. Нужно найти секцию, где прописываются заголовки пространства имен xmlns и убедиться, что они соответствуют актуальным требованиям альбома форматов ПФР.

Как подготовить отменяющий отчет в 7.7?

Ситуация с исправлением поданных сведений в 7.7 наиболее сложная. Если вы ошиблись, например, в номере приказа, порядок действий следующий:

  1. Найдите XML-файл того отчета, который был принят с ошибкой.
  2. Откройте его любым текстовым редактором и найдите тег UUID (идентификатор) мероприятия по нужному сотруднику.
  3. В новом документе СЗВ-ТД создайте строку отмены.
  4. Поскольку типовая 7.7 не всегда позволяет «подсунуть» старый GUID через интерфейс, может потребоваться вмешательство программиста в обработку выгрузки, чтобы временно подставить нужный UUID в файл или вручную отредактировать сформированный XML перед отправкой.

Помните: без совпадения UUID фонд не сможет «привязать» отменяющую запись к исходной, и ваша корректировка не будет принята, даже если все остальные данные верны.

Рекомендации по технической поддержке

Для успешной сдачи отчетности из 1С 7.7 рекомендуем придерживаться следующего алгоритма:

← На главную