Налаштування вивантаження цін з 1С в 1С-Бітрікс

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

Налаштування вивантаження цін з 1С в 1С-Бітрікс

Інтеграція з 1СПростий~1 день
Часті запитання

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

Як налаштувати типи цін в 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С та Бітрікс
  • Розробляємо обробник полегшеного обміну цінами (якщо потрібно)
  • Налаштовуємо акційні та старі ціни
  • Забезпечуємо коректне відображення мультивалютних цін
  • Тестуємо синхронізацію та виправляємо помилки
  • Надаємо документацію та навчаємо вашого адміністратора

Наш досвід — багаторічні інтеграції з 1С, понад 30 проектів із синхронізації. Ми гарантуємо точність перенесення цін та стабільну роботу обміну.

Якщо вам потрібне налаштування вивантаження цін з 1С в Бітрікс — пишіть нам, оцінимо проект під ключ. Зв'яжіться для консультації.

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

Останні роботи

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