Почему при синхронизации ЗУП и ERP файлы выгружаются с непонятными именами (GUID) и как это исправить?

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

При настройке или штатной работе обмена данными между конфигурациями 1С:Зарплата и управление персоналом (ЗУП) и 1С:ERP Управление предприятием пользователи часто сталкиваются с ситуацией, когда привычный механизм синхронизации внезапно ломается. Вместо ожидаемых файлов обмена с понятными префиксами, такими как Message_ЗК_УП.xml, система начинает генерировать файлы с длинными буквенно-цифровыми идентификаторами, например, Message_ЗК_b7fbc2f9-f115-4eb1-aff8-18aa0a5c7edb.xml. В этой статье мы подробно разберем, почему это происходит, как проанализировать ситуацию и какие шаги предпринять для восстановления обмена.

Разберем причину появления GUID в названии файла

Для начала проанализируем, как платформа 1С формирует имена файлов при обмене через сетевой каталог. В штатном режиме используется маска Message_КодОтправителя_КодПолучателя.xml. Если система работает корректно, она берет значения из полей Код соответствующих узлов в Плане обмена.

Появление GUID (уникального идентификатора) вместо кода свидетельствует о том, что механизм синхронизации (часто это Библиотека стандартных подсистем — БСП) не смог сопоставить текущую настройку с конкретным узлом плана обмена по его строковому коду. Рассмотрим основные причины такого поведения:

  1. Несоответствие версий библиотек: Это наиболее частая причина. В конфигурации ERP встроена библиотека БЗКР (Библиотека Зарплаты и Кадров Редакция). Если вы обновили ЗУП до актуального релиза, а ERP осталась на старом, структура метаданных и правила обмена могут стать несовместимыми.
  2. Сбой инициализации узла: При обращении к настройкам программа не находит заполненный код узла и «откатывается» к использованию внутреннего идентификатора ссылки (UUID) из базы данных, чтобы файл хотя бы физически мог быть создан без конфликта имен.
  3. Повреждение настроек синхронизации: В процессе обновления или некорректного завершения сеанса служебная информация о кодах узлов может быть стерта или повреждена.

Проанализируем техническую сторону: Роль библиотеки БЗКР

Выясним, почему именно обновление одной из баз приводит к таким последствиям. Синхронизация между ЗУП и ERP обычно строится на формате EnterpriseData. Каждая версия конфигурации поддерживает определенный набор XDTO-пакетов этого формата (например, 1.13, 1.15 и т.д.).

Если ЗУП при выгрузке переходит на новую версию формата, которую ERP еще «не знает» из-за устаревшей библиотеки БЗКР, происходит программная ошибка на этапе определения параметров обмена. Система перестает видеть строковые префиксы (УП, ЗК) и начинает использовать GUID. Важно понимать, что простое переименование файла вручную здесь не поможет, так как внутри самого XML-файла в заголовке сообщения (теги v8msg:From и v8msg:To) также будут прописаны эти идентификаторы. Приемная база просто отклонит такой файл, посчитав его предназначенным для другого узла.

Шаг 1: Проверка кодов узлов в Плане обмена

Первым делом проверим, корректно ли заполнены коды в самих планах обмена. Для этого выполним следующие действия:

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

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

Шаг 2: Анализ служебной информации

Рассмотрим ситуацию, когда стандартные вкладки настроек не дают полной информации. Попробуем найти скрытые параметры:

  1. В окне настройки синхронизации нажмем «Еще» — «Изменить форму».
  2. Найдем группу или вкладку «Служебная информация» и включим ее видимость.
  3. Проанализируем поле «Код узла». Если там пусто или указан длинный GUID, необходимо привести его в соответствие с префиксом базы.

Шаг 3: Решение проблемы программного несоответствия

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

Основное решение: Необходимо обновить конфигурацию 1С:ERP до релиза, дата выхода которого позже или совпадает с релизом 1С:ЗУП. Это обновит встроенную библиотеку БЗКР и XDTO-пакеты, позволяя системе корректно интерпретировать правила обмена.

Временное решение (если обновление невозможно):

Дополнительные рекомендации по диагностике

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

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

Регистрация изменений: Если вы изменили коды узлов, убедитесь, что регистрация изменений для обмена не слетела. Используйте обработку Регистрация изменений для обмена данными, чтобы проверить, какие объекты стоят в очереди на выгрузку. Если очередь пуста после смены кода — зарегистрируйте необходимые документы заново.

Посмотрим на пример того, как должен выглядеть правильный заголовок сообщения в XML-файле, если всё настроено верно:


<v8msg:Message xmlns:v8msg="http://v8.1c.ru/messages">
    <v8msg:Header>
        <v8msg:ExchangePlan>СинхронизацияДанныхЧерезУниверсальныйФормат</v8msg:ExchangePlan>
        <v8msg:To>УП</v8msg:To>
        <v8msg:From>ЗК</v8msg:From>
        <v8msg:MessageNo>45</v8msg:MessageNo>
        <v8msg:ReceivedNo>38</v8msg:ReceivedNo>
    </v8msg:Header>
    <v8msg:Body>
        <!-- Данные обмена -->
    </v8msg:Body>
</v8msg:Message>

Если в тегах To или From вы видите длинные строки типа b7fbc2f9..., значит проблема с кодами узлов или версиями БЗКР всё еще актуальна.

Подводя итог, можно сказать: наиболее эффективный способ борьбы с некорректной выгрузкой XML-файлов — это поддержание актуальности релизов обеих систем. Взаимосвязанные конфигурации, такие как ЗУП и ERP, требуют синхронного обновления библиотек для корректной работы механизмов EnterpriseData.

← На главную