Администрирование · 12 мин
Идентификатор Битрикс в 1С: что это и как с ним работать
Что такое идентификатор Битрикс в 1С, где хранится внешний код товара и заказа, как найти его в базе и исправить ошибки обмена с сайтом.
При настройке обмена между 1С и сайтом на «1С-Битрикс: Управление сайтом» пользователи регулярно сталкиваются с термином «идентификатор Битрикс». Под ним обычно понимают уникальный код, по которому система на стороне сайта связывает элементы каталога, заказы, контрагентов и другие объекты с их аналогами в 1С. Без этого идентификатора обмен превращался бы в набор дублей: каждая выгрузка создавала бы новые товары вместо обновления существующих.
На практике «идентификатор Битрикс» — это не одно конкретное поле, а целое семейство связанных значений: внешний код (XML_ID) элемента инфоблока, числовой ID записи на сайте, GUID объекта 1С, коды заказов и профилей покупателей. Разные модули обмена и разные версии конфигураций хранят эти данные по-разному, что и порождает путаницу.
Материал ниже объясняет, какие идентификаторы участвуют в обмене, где их искать в 1С и на сайте, как диагностировать типичные проблемы — дубли товаров, «потерянные» заказы, ошибки сопоставления — и когда исправление стоит доверить специалисту по интеграции.
Что именно называют идентификатором Битрикс
В экосистеме обмена 1С и Битрикса существует несколько видов идентификаторов, и их важно различать. Первый — числовой ID записи на сайте: каждый элемент инфоблока, заказ, пользователь имеют автоинкрементный номер в базе Битрикса. Второй — внешний код (поле XML_ID), который заполняется при импорте из 1С и обычно содержит GUID объекта 1С. Третий — GUID самого объекта в 1С: уникальный идентификатор ссылки, который не меняется в течение жизни объекта.
Когда пользователь или техподдержка говорит «идентификатор Битрикс», чаще всего имеется в виду внешний код XML_ID на стороне сайта либо соответствие «GUID в 1С — ID на сайте», которое модуль обмена хранит в регистрах сведений. Именно это соответствие позволяет при повторной выгрузке обновить товар, а не создать его копию.
Отдельно стоит упомянуть идентификаторы заказов. Заказ на сайте имеет свой номер и ID, а при загрузке в 1С создаётся документ «Заказ покупателя», в котором внешний номер и код заказа сохраняются в специальных реквизитах или регистрах соответствия. Если эта связь рвётся, заказы начинают загружаться повторно или не обновляются статусы.
Где хранятся идентификаторы в 1С
Место хранения зависит от конфигурации и используемого модуля обмена. В типовых конфигурациях («Управление торговлей», «Комплексная автоматизация», ERP) с модулем обмена Битрикс соответствия объектов обычно хранятся в регистрах сведений с названиями вида «Соответствия объектов информационных баз» или в специализированных регистрах модуля обмена с сайтом. Там фиксируется пара «объект 1С — идентификатор на сайте».
Кроме регистров, идентификаторы встречаются в дополнительных реквизитах и сведениях: например, у номенклатуры может быть дополнительное свойство с кодом элемента на сайте, а у договоров и контрагентов — признаки выгрузки. В некоторых старых или самописных интеграциях код сайта записывают прямо в поле «Код» справочника или в комментарий, что затрудняет поиск.
- 1Откройте карточку номенклатуры и проверьте дополнительные реквизиты и сведения на наличие полей с кодом сайта или XML_ID
- 2Откройте регистр сведений соответствия объектов (через «Все функции» → «Регистры сведений») и отфильтруйте по нужному объекту
- 3Если регистров нет, сформируйте тестовую выгрузку в файл CommerceML и найдите товар по наименованию — его идентификатор будет в теге <Ид>
- 4Сверьте найденный GUID со значением поля «Внешний код» элемента на сайте — они должны совпадать
Быстрый универсальный способ увидеть идентификатор — выгрузить данные в файл обмена. В формате CommerceML каждый товар, группа и контрагент имеют тег <Ид>, содержащий GUID из 1С. Именно это значение попадает в поле «Внешний код» на сайте. Если в теге <Ид> встречается составное значение вида «GUID#GUID», это норма: так кодируются торговые предложения, где первый идентификатор — товар, второй — характеристика.
Где посмотреть идентификатор на стороне сайта
В административной панели Битрикса внешний код виден в карточке элемента инфоблока: поле называется «Внешний код» (XML_ID) и обычно расположено на вкладке основных параметров. Если поле пустое у товара, который должен обновляться из 1С, это прямой признак проблемы: следующая выгрузка с высокой вероятностью создаст дубликат.
Числовой ID элемента виден в списке элементов инфоблока (колонка «ID») и в адресной строке при редактировании. Для заказов идентификаторы смотрят в разделе «Магазин → Заказы»: там есть внутренний ID и номер заказа, который отправляется в 1С. Сопоставление этих значений с тем, что пришло в 1С, — первый шаг при разборе любых расхождений.
Как идентификаторы используются при обмене
Механика обмена строится вокруг сопоставления по идентификатору. При выгрузке каталога 1С формирует файл, где каждый объект помечен своим GUID. Сайт при импорте ищет элемент с таким внешним кодом: нашёл — обновляет цены, остатки и свойства; не нашёл — создаёт новый элемент и записывает внешний код. Поэтому стабильность GUID в 1С критична: если объект пересоздать (удалить и завести заново), у нового объекта будет другой GUID, и сайт увидит его как новый товар.
При загрузке заказов схема зеркальная: сайт передаёт в 1С свои идентификаторы заказа, покупателя и позиций, а модуль обмена ищет соответствия в своих регистрах. Найденный заказ обновляется (статус, оплата, отгрузка), ненайденный — создаётся. Контрагенты сопоставляются по комбинации признаков: ИНН, наименование, e-mail — в зависимости от настроек модуля, а найденному контрагенту присваивается связь с внешним идентификатором.
Проверить XML_ID у дублей: у «лишнего» элемента код пустой или отличается
Найти регистр соответствия заказов и проверить наличие записи по номеру
Сравнить тег <Ид> в файле выгрузки с внешним кодом элемента на сайте
Проверить, не удалён ли объект в 1С, на который ссылается запись соответствия
Типичные проблемы и способы их устранения
Самая частая проблема — дубли товаров после переезда на новый модуль обмена, переноса базы или восстановления из копии. Причина почти всегда одна: при переносе не сохранились регистры соответствия или внешние коды, и сайт «забыл» старые связи. Лечение — либо восстановить соответствия из резервной копии, либо выполнить ручное сопоставление: проставить внешние коды на сайте по данным из файла выгрузки, после чего удалить дубли.
Вторая группа проблем — рассинхронизация после ручных правок. Администратор сайта исправил внешний код «чтобы было красиво», менеджер в 1С удалил и заново завёл номенклатуру, кто-то поменял настройки уникальности в модуле обмена. Во всех случаях связь рвётся молча, и обнаруживается это только по косвенным признакам: перестали обновляться остатки, появились задвоенные заказы.
Как проверить корректность связей после настройки
После первичной настройки или любого исправления обмен нужно проверить на контрольном примере. Возьмите один товар, измените в 1С цену или остаток, выполните выгрузку и убедитесь, что на сайте обновился именно существующий элемент, а не появился новый. Затем оформите тестовый заказ на сайте, загрузите его в 1С, поменяйте статус и проверьте, что статус вернулся на сайт к тому же заказу.
Полезно также сверить счётчики: количество товаров в выгрузке и количество элементов с заполненным внешним кодом в соответствующем инфоблоке должны быть сопоставимы. Большая разница указывает либо на лишние элементы на сайте, либо на товары, которые не попадают в выгрузку из-за отборов.
Как проверить результат обмена
Не выросло: товары обновились, дублей нет
Появились новые элементы с теми же названиями
Заполнено у всех выгружаемых позиций
У части товаров пустое или дублируется у разных элементов
Создан один документ, статус обновляется в обе стороны
Заказ создаётся повторно при каждом обмене
Совпадает с внешним кодом элемента на сайте
Значение меняется от выгрузки к выгрузке для одного товара
Когда нужен специалист и что подготовить
Самостоятельно разумно ограничиться диагностикой: найти идентификаторы, сверить их, зафиксировать симптомы. Исправление регистров соответствия, массовое восстановление внешних кодов и перенастройку модуля обмена лучше поручить специалисту, если объём данных велик или каталог уже задублирован. Цена ошибки здесь высока: покупатели видят дубли товаров, менеджеры — лишние заказы, а отчётность по остаткам перестаёт сходиться.
Чтобы работа шла быстрее, подготовьте: версию конфигурации 1С и модуля обмена, версию Битрикса, файл выгрузки (import.xml / offers.xml), скриншоты дублей с видимыми внешними кодами и описание, после какого события началась проблема — обновление, перенос базы, смена модуля. С этим набором диагностика занимает значительно меньше времени.
Что важно запомнить
Идентификатор Битрикс — это связка GUID объекта 1С и внешнего кода (XML_ID) на сайте, по которой системы узнают друг друга при обмене. Связь хранится в регистрах соответствия и полях внешнего кода; её нельзя править вручную без резервной копии. Дубли товаров и повторные заказы — почти всегда следствие разорванной связи по идентификатору.
Частые вопросы
Чем идентификатор Битрикс отличается от артикула товара?
Артикул — прикладной реквизит для людей: его видят менеджеры и покупатели, он может меняться и повторяться. Идентификатор (GUID / внешний код) — технический ключ для машинной синхронизации, он уникален и не должен меняться в течение жизни объекта. Сопоставление при обмене идёт по идентификатору, а не по артикулу.
Почему в файле выгрузки у товара идентификатор вида «GUID#GUID»?
Так кодируются торговые предложения: первая часть — идентификатор товара, вторая — идентификатор характеристики (вариации) в 1С. Это нормальное поведение формата CommerceML, и на сайте такой внешний код будет у конкретного торгового предложения, а не у родительского товара.
Можно ли восстановить соответствия, если регистр соответствий очищен?
Частично — да, если на сайте сохранились внешние коды: по ним можно программно восстановить записи, сопоставив GUID из XML_ID с объектами 1С. Если внешние коды тоже потеряны, остаётся сопоставление по косвенным признакам (наименование, артикул, ИНН) с ручной проверкой, что трудоёмко и рискованно.
Создаются ли дубли, если выгружать из двух разных баз 1С на один сайт?
Да, это почти гарантировано: одинаковые по смыслу товары в разных базах имеют разные GUID, поэтому сайт воспринимает их как разные элементы. Если нужен обмен из нескольких баз, используют схемы с разными инфоблоками, префиксами или консолидацией каталога в одной базе.
Где посмотреть идентификатор заказа, который пришёл из Битрикса, в 1С?
Откройте документ «Заказ покупателя», загруженный с сайта: номер и идентификатор заказа обычно видны в реквизитах документа либо в связанном регистре соответствия заказов (доступен через «Все функции» → «Регистры сведений»). Также номер заказа сайта часто подставляется в комментарий или дополнительные свойства документа.
Меняется ли идентификатор при пометке объекта на удаление?
Нет, GUID объекта не меняется ни при пометке удаления, ни при любых правках карточки. Он изменится только если объект физически удалить и создать новый — тогда сайт воспримет новый объект как отдельный товар. Поэтому вместо пересоздания номенклатуры всегда исправляйте существующую карточку.