Настройка выгрузки цен из 1С в 1С-Битрикс

Цены — самая чувствительная часть обмена между 1С и 1С-Битрикс: малейшая ошибка в настройке приводит к дублям, неверным остаткам и потерянным заказам. Мы настраиваем выгрузку цен из 1С в Битрикс под ключ — от сопоставления типов цен до проверки GUID и акций. Наша команда берёт на себя весь цикл работ, обеспечивая стабильную синхронизацию и последующую поддержку, чтобы ваш каталог всегда отражал актуальную стоимость.

Настройка выгрузки цен из 1С в 1С-Битрикс

Интеграция с 1СПростой~1 день
Часто задаваемые вопросы

При обмене товарами между 1С и 1С-Битрикс цены — самая чувствительная часть. Несовпадение типов цен, дублирование, ошибки в GUID — на знакомой нам практике до 30% обращений клиентов связаны с некорректным переносом стоимости. Мыуже 5 лет помогаем компаниям настроить бесшовную синхронизацию, избегая этих проблем. В этой статье разберём ключевые моменты настройки выгрузки цен: от типов цен до акционных предложений и валют. Опишем пошаговый процесс, чтобы вы могли сами устранить типичные неполадки или передать задачу специалисту.

Как настроить типы цен в 1С и Битрикс?

Цены передаются из 1С в Битрикс в составе файла offers.xml стандартного обмена CommerceML. Каждое торговое предложение содержит блок <Цены> с одним или несколькими типами цен. В Битрикс каждый тип цены из 1С соответствует типу цены в b_catalog_price_type и записи в b_catalog_price. Чтобы сопоставление прошло корректно, важно правильно настроить идентификаторы. В 1С тип цены имеет уникальный GUID, который должен быть передан в Битрикс. Если GUID не совпадает, цена не привяжется к товару.

Пример соответствия типов цен:

Тип цены в 1С Символьный код в Битрикс
Розничная ROZN
Оптовая OPT
Дилерская DIALER
Закупочная PURCHASE

Соответствие настраивается в Каталог → Настройки обмена с 1С → Типы цен. Мы рекомендуем использовать символьные коды — так точнее маппинг.

Почему цены не обновляются после синхронизации?

Частая причина — несовпадение внешнего кода (XML_ID) товара или торгового предложения в 1С и Битрикс. Если GUID изменился в 1С, но не обновился в Битрикс, цена не запишется. Ещё одна причина — устаревшие курсы валют, когда мультивалютные цены конвертируются неверно. В нашей практике был случай, когда из-за ошибки в обработчике 1С вместо акционной цены подставлялась базовая, и на сайте показывалась завышенная стоимость. Решение — проверять лог обмена и настройки маппинга.

Отдельная синхронизация цен (облегчённый XML)

Полный обмен каталогом — тяжёлая операция. При частых изменениях цен (акции, динамическое ценообразование) нужен более лёгкий механизм. Мы используем облегчённый XML-файл prices.xml, который содержит только цены. Это в 5 раз сокращает время обмена.

<КоммерческаяИнформация>
  <ПакетПредложений>
    <Предложения>
      <Предложение>
        <Ид>GUID-торгового-предложения</Ид>
        <Цены>
          <Цена>
            <ИдТипаЦены>Розничная</ИдТипаЦены>
            <ЦенаЗаЕдиницу>1250.00</ЦенаЗаЕдиницу>
            <Валюта>RUB</Валюта>
          </Цена>
        </Цены>
      </Предложение>
    </Предложения>
  </ПакетПредложений>
</КоммерческаяИнформация>

Обработчик на стороне Битрикс парсит XML и обновляет b_catalog_price по XML_ID торгового предложения.

Обновление цены в Битрикс:

$priceData = CCatalogProduct::GetByID($productId);
CCatalogProduct::SetPrice($productId, $priceTypeId, $price, $currency);
// или напрямую:
CCatalogPrice::Update($priceId, ['PRICE' => $price, 'CURRENCY' => 'RUB']);

Сравним полный и облегчённый обмен:

Характеристика Полный обмен (CommerceML) Облегчённый XML (только цены)
Объём данных Весь каталог Только цены
Время синхронизации От нескольких минут до часов Секунды
Требуемая частота Раз в сутки Каждые 5-10 минут
Риск ошибок Высокий (из-за большого объёма) Низкий

Как настроить облегчённую выгрузку цен пошагово

  1. В 1С настройте выгрузку только торговых предложений с ценами в отдельный XML-файл (например, prices.xml).
  2. Разместите файл на веб-сервере, доступном для Битрикс.
  3. В Битрикс создайте обработчик-компонент, который принимает этот XML и обновляет цены через CCatalogProduct::SetPrice.
  4. Настройте агент (например, на каждые 5 минут) для проверки и загрузки нового файла.
  5. Проверьте логи на случай ошибок — добавьте запись в b_event_log.

Этот метод работает в 5 раз быстрее полного обмена.

Старая цена и акционная цена

В Битрикс есть поле CATALOG_PRICE_OLD (старая цена для отображения зачёркнутой). Если в 1С два типа цен — «базовая» и «акционная» — маппируем:

  • Акционная → основной тип цены в Битрикс (BASE)
  • Базовая → поле старой цены (b_iblock_element_prop с кодом OLD_PRICE или через тип цены)

Другой вариант — создать специальный тип цены «Старая цена» в Битрикс и отображать его в шаблоне компонента catalog.element как зачёркнутую.

Валюты

Битрикс поддерживает мультивалютные цены. В b_catalog_price поле CURRENCY хранит код валюты. При обмене с 1С цены передаются в валюте, указанной в 1С. Конвертация в другие валюты — через курсы в b_currency_rate, настраивается в Магазин → Валюты.

Если 1С передаёт цены в USD, а на сайте показываем в RUB — убеждаемся, что курс актуален. Курс можно обновлять автоматически через ЦБ РФ: модуль currency имеет встроенный агент обновления.

Групповые цены и скидки

Если на сайте действуют групповые цены (для B2B-клиентов другая цена), в Битрикс они реализуются через тип цены + группу пользователей: в b_catalog_group настраивается, какой тип цены доступен для какой группы. 1С передаёт несколько типов цен одновременно, Битрикс показывает покупателю ту, которая соответствует его группе.

Что входит в настройку выгрузки цен?

В рамках проекта по настройке синхронизации мы:

  • Проводим аудит текущего обмена и типов цен
  • Настраиваем соответствие типов цен в 1С и Битрикс
  • Разрабатываем обработчик облегчённого обмена ценами (если нужно)
  • Настраиваем акционные и старые цены
  • Обеспечиваем корректное отображение мультивалютных цен
  • Тестируем синхронизацию и исправляем ошибки
  • Предоставляем документацию и обучаем вашего администратора

Наш опыт — 5 лет интеграций с 1С, более 30 проектов по синхронизации. Мы гарантируем точность переноса цен и стабильную работу обмена.

Если вам нужна настройка выгрузки цен из 1С в Битрикс — пишите нам, оценим проект под ключ. Свяжитесь для консультации.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1543
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1060
  • Разработка виджета онлайн-записи на прием для медицинского центра
    Разработка виджета онлайн-записи на прием для медицинского центра
    837
  • Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    928
  • Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    865
  • Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1223