Одной из наиболее частых проблем при настройке обмена между 1С и сайтом на базе Битрикс является отсутствие цен в торговом каталоге сайта после выполнения выгрузки. Несмотря на то, что данные успешно отправляются из 1С, они могут «не попадать» в нужные поля на стороне сайта. Давайте разберем, почему это происходит и как правильно настроить сопоставление типов цен.
Для того чтобы система 1С могла передать информацию о стоимости товаров, а Битрикс — корректно ее принять и отобразить, необходимо обеспечить однозначное соответствие между типами цен в обеих системах. Основным инструментом для такой привязки служит Внешний код (иногда называемый GUID или ID).
Рассмотрим распространенную ошибку: попытку указать во внешнем коде человекочитаемое название, например, «Розничная цена». Это не приведет к успеху, так как обмен данными опирается на уникальные идентификаторы, которые система присваивает объектам автоматически при создании.
Чтобы цены начали отображаться на сайте, выполните следующие шаги по настройке:
Управление торговлей, этот идентификатор можно найти во внутренних свойствах объекта или увидеть в XML-файле, который формирует обработка обмена.Торгового каталога.Внешний код вставьте скопированный ранее GUID из 1С.Важно понимать, что именно Внешний код является ключевым связующим звеном. Поле Код внутри Битрикса имеет вторичное значение для обмена, поэтому его настройка не влияет на результат синхронизации.
Если вы уверены, что GUID указан верно, но цены на витрине сайта все равно отсутствуют, проанализируйте настройки прав доступа. Битрикс обладает встроенным механизмом разграничения прав для различных групп пользователей.
Рассмотрим типичную ситуацию: цены могут быть успешно загружены в базу данных сайта, но скрыты от фронтенда (публичной части). Разберем порядок действий:
Группы пользователей, имеющих право на просмотр конкретных типов цен.Также проанализируем роль валют в процессе обмена. Если в 1С валюта настроена как «руб.», а в Битриксе как «RUB», система может посчитать их разными объектами. Чтобы избежать конфликтов, убедитесь, что:
Если проблема сохраняется, мы рекомендуем проанализировать содержимое файла обмена, который формирует 1С. Посмотрите структуру XML-файла и найдите блок <ТипыЦен>. В нем будет указан элемент <Ид>. Сравните этот <Ид> с тем значением, которое вы прописали в поле Внешний код в админке сайта. Они должны быть идентичны.
Пример структуры блока в XML для анализа:
<ТипыЦен>
<ТипЦены>
<Ид>a1b2c3d4-e5f6-7890-a1b2-c3d4e5f67890</Ид>
<Наименование>Розничная цена</Наименование>
<Валюта>руб.</Валюта>
</ТипЦены>
</ТипыЦен>
В случае, если автоматическое сопоставление не дает результата, можно попробовать создать новый тип цены в 1С и выполнить полную выгрузку. В ряде случаев, при правильной настройке модуля обмена, Битрикс может самостоятельно создать недостающий тип цены, зафиксировав в поле Внешний код корректный GUID из 1С. После этого вы сможете сверить данные и убедиться в правильности связи объектов.
Следование этим рекомендациям поможет вам локализовать причину отсутствия цен и восстановить работоспособность обмена между учетной системой и сайтом.