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

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

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

Часті запитання

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    996
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    735
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    773
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1134

При обміні товарами між 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С в Бітрікс — пишіть нам, оцінимо проект під ключ. Зв'яжіться для консультації.