При попытке подружить две идентичные конфигурации 1С:ERP Управление предприятием через типовой механизм синхронизации данных пользователи часто сталкиваются с системным сообщением: «имя не уникальное». Эта ошибка ставит в тупик, так как она может появляться даже при вводе абсолютно произвольных наименований в мастере настройки. Давайте разберем эту ситуацию подробно, проанализируем внутренние механизмы платформы 1С и выясним, как обойти это ограничение и успешно настроить обмен.
Прежде всего, нам необходимо понять, что именно 1С считает «именем» в контексте обмена данными. Когда мы запускаем мастер настройки через Синхронизация данных и выбираем пункт Другая программа, система работает не просто с текстовыми полями, которые мы видим на экране. Она пытается создать новый элемент (узел) в техническом объекте метаданных, который называется ПланыОбмена.
Ошибка «имя не уникальное» в 90% случаев относится не к полю «Наименование», а к внутреннему Коду узла. В архитектуре 1С:ERP код узла обмена жестко связан с префиксом информационной базы. Если в системе уже существует (или когда-то существовала) настройка с таким же префиксом, платформа заблокирует создание нового узла, чтобы избежать дублирования данных и нарушения логики миграции объектов.
Рассмотрим основные факторы, вызывающие этот конфликт:
Идентификаторы объектов метаданных содержит неактуальную информацию после обновления конфигурации, что мешает корректной регистрации новых узлов.Давайте перейдем к решительным действиям. Если стандартный интерфейс не дает нам создать обмен, мы должны заглянуть «под капот» системы. Для этого нам потребуется режим «Функции для технического специалиста» (в старых версиях — «Все функции»).
Выполним следующие шаги:
Синхронизация данных через универсальный формат (техническое имя может выглядеть как УниверсальныйФорматОбмена или EnterpriseData).Важно: Если узлы помечены на удаление, их нужно удалить физически через Обслуживание — Удаление помеченных объектов. Пока запись существует в таблице базы данных, контроль уникальности кода будет срабатывать.
Проанализируем ситуацию с префиксами. В 1С:ERP префикс выполняет важнейшую роль: он добавляется к номерам всех документов и кодам справочников, чтобы при обмене данными было понятно, в какой базе создан объект. Для успешной синхронизации между двумя ERP префиксы обязательно должны быть разными.
Проверим настройки в обеих базах:
НСИ и администрирование — Синхронизация данных.Префикс этой информационной базы заполнено и содержит уникальное значение (например, «E1» в первой базе и «E2» во второй).При настройке обмена в мастере нас попросят указать «Префикс информационной базы-корреспондента». Именно в этот момент система пытается создать узел с кодом, равным этому префиксу. Если вы вводите префикс, который уже использовался ранее, вы получите ту самую ошибку уникальности.
Рассмотрим, какой метод подключения выбрать в мастере настройки. Существует два основных способа: прямое подключение (COM/Web-сервис) и обмен через файлы (локальный каталог/FTP/Email).
При использовании прямого подключения программа пытается одновременно создать настройки в обеих базах. Это удобно, но именно здесь чаще всего возникают ошибки именования, так как система автоматически генерирует имена узлов «на лету» в удаленной базе. Если в удаленной базе уже есть старые записи обмена, процесс прервется с ошибкой уникальности.
Рекомендация: Чтобы локализовать проблему, попробуйте настроить обмен через локальный каталог.
EnterpriseDataExchange.xml).Этот метод позволяет более гибко управлять именованием узлов и сразу увидеть, на какой стороне (база А или база Б) возникает конфликт имен.
Если манипуляции с планами обмена и префиксами не помогают, нам стоит проверить целостность справочника идентификаторов. Проанализируем ситуацию: иногда система «считает», что объект плана обмена имеет одну структуру, а фактически в базе данных она другая.
Для исправления можно воспользоваться следующим кодом в консоли кода (или специализированной обработкой с ИТС):
Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника(Истина, Ложь, Ложь);
Эта команда принудительно пересчитает все внутренние ссылки метаданных, что часто устраняет «необъяснимые» ошибки при создании новых элементов в системных таблицах.
Поскольку мы настраиваем обмен между двумя идентичными ERP, крайне важно убедиться, что они используют одну и ту же версию формата. Рассмотрим подробнее: формат EnterpriseData постоянно развивается (версии 1.10, 1.13, 1.15 и т.д.).
В настройках синхронизации мы можем увидеть поле Версия формата. Для двух ERP лучше всего использовать максимально доступную версию, поддерживаемую обеими базами. Это гарантирует, что все специфические объекты ERP (такие как сложные движения по регистрам или специфические справочники НСИ) будут переданы без потерь.
Подводя итог, алгоритм решения проблемы «имя не уникальное» выглядит следующим образом:
СинхронизацияДанныхЧерезУниверсальныйФормат и безжалостно удаляем все дублирующиеся узлы.Соблюдение этих шагов позволит успешно обойти системные ограничения и настроить стабильный обмен данными между вашими экземплярами 1С:ERP.