При настройке или очередном сеансе синхронизации между конфигурациями «Управление торговлей, ред. 11» и «Бухгалтерия предприятия, ред. 3.0» пользователи часто сталкиваются с неожиданным поведением системы. Вместо привычных коротких префиксов (например, БП или УТ) в именах файлов обмена и в кодах узлов планов обмена появляются длинные наборы символов — GUID (например, 72d6d52d-de26-42cd-aca1-5fdfa4842d06). Это приводит к тому, что привычные файлы Message_УТ_БП.zip перестают загружаться, а система выдает ошибку на этапе анализа данных.
Рассмотрим подробнее, почему это происходит, и разберем по шагам, как восстановить работоспособность обмена.
Проанализируем ситуацию с технической точки зрения. Данное изменение не является случайной ошибкой или программным «багом». Это результат планового обновления Библиотеки стандартных подсистем (БСП), которая лежит в основе современных конфигураций 1С. Начиная с определенных версий (БСП 3.0.1 и выше), разработчики 1С перешли на более надежный метод идентификации узлов в распределенных системах.
Основные причины перехода на GUID:
EnterpriseData система стремится минимизировать влияние «человеческого фактора» при именовании узлов.Проблема усугубляется тем, что в интерфейсе «Настройки синхронизации» поле «Код узла» часто имеет ограничение по длине (например, до 10 символов). Когда система записывает туда 36-символьный GUID, пользователь видит лишь его «обрубок» и не может отредактировать его стандартными средствами, так как поле становится недоступным для изменения.
Вместо того чтобы бороться с логикой системы, мы можем принять новые правила именования. Если система изменила коды узлов в обеих базах, нам необходимо соответствующим образом переименовать файлы обмена. Посмотрим, как выглядят внутренности такого обмена.
Внутри XML-файла сообщения префиксы также меняются. Рассмотрим пример структуры заголовка сообщения:
<msg:Confirmation>
<msg:ExchangePlan>СинхронизацияДанныхЧерезУниверсальныйФормат</msg:ExchangePlan>
<msg:To>5fb682e5-ef64-4867-9fa2-27313b2e4448</msg:To>
<msg:From>75ac2458-7f4f-4243-8436-99a86a165ac7</msg:From>
<msg:MessageNo>6</msg:MessageNo>
<msg:ReceivedNo>5</msg:ReceivedNo>
</msg:Confirmation>
Чтобы обмен прошел успешно, выполним следующие действия:
Message_УТ_БП.zip, то теперь он должен называться Message_[GUID_ОТПРАВИТЕЛЯ]_[GUID_ПОЛУЧАТЕЛЯ].zip.Если ваша инфраструктура завязана на жесткие имена файлов (например, используются скрипты для FTP или облачных хранилищ), вам может потребоваться вернуть старые префиксы УТ и БП. Поскольку вручную в карточке настройки это сделать невозможно, воспользуемся инструментами разработчика.
Алгоритм действий:
СинхронизацияДанныхЧерезУниверсальныйФормат).Код.БП).Важно: Эту процедуру необходимо выполнить в обеих информационных базах синхронно, чтобы коды «своего» узла и узла «корреспондента» совпадали в обеих системах.
Существует еще один практический способ «сбросить» некорректные идентификаторы, не прибегая к программированию. Разберем его по шагам:
Этот метод помогает «протолкнуть» зависшие настройки и заставить базы заново распознать друг друга.
Принимая решение о том, оставлять GUID или возвращать префиксы, следует учитывать несколько технических нюансов. Рассмотрим их подробнее:
Длина пути (Path Limit): Использование GUID значительно удлиняет имя файла. Если папка обмена находится в глубокой иерархии подкаталогов (например, C:\Exchange\Sync\Production\FromUTtoBP\Messages\Message_...), вы можете столкнуться с ограничением Windows в 260 символов. В этом случае система выдаст ошибку «Файл не найден» или «Доступ запрещен».
Версия формата EnterpriseData: Часто переход на GUID провоцируется автоматическим повышением версии формата обмена (например, с 1.7 на 1.10). Если ваша конфигурация позволяет, можно попробовать в настройках синхронизации (раздел «Состав отправляемых данных») принудительно установить более старую версию формата, но это является временным решением и не рекомендуется при полноценной работе.
Регистр сведений «Настройки транспортных сообщений»: Помните, что информация о префиксах кэшируется. Если вы изменили код в плане обмена, но имена файлов остаются старыми, проверьте записи в этом регистре. Иногда требуется очистить соответствующие записи, чтобы система начала формировать имена файлов по новым (или восстановленным старым) правилам.
Подводя итог, можно сказать, что переход на GUID — это стратегическое направление развития платформы 1С. Мы рекомендуем один раз настроить систему под новые требования (переименовать файлы или обновить скрипты), так как при следующих обновлениях конфигураций префиксы, скорее всего, снова будут заменены на уникальные идентификаторы.