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

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування вивантаження одиниць вимірювання з 1С до 1С-Бітрікс
Проста
~1 робочий день
Часті питання

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

Етапи розробки

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

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

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

Одиниці виміру — технічна деталь, яку часто упускають при інтеграції. Поки продаєш все в штуках, це непомітно. Але у дистриб'ютора будівельних матеріалів один товар продається в погонних метрах, інший у квадратних, третій у рулонах по 50 метрів. Передати це коректно на сайт — нетривіальне завдання.

Як одиниці виміру зберігаються в 1С

У 1С:УТ одиниці виміру зберігаються в довіднику КласифікаторОдиницьВиміру (ОКЕІ). Кожна одиниця має:

  • Код по ОКЕІ (796 = штука, 006 = метр, 055 = кг тощо)
  • Коротке найменування (шт, м, кг)
  • Повне найменування

Номенклатура може мати кілька одиниць виміру:

  • Базова одиниця — в якій ведеться складський облік
  • Одиниця продажу — в якій продається покупцю (може відрізнятися)
  • Додаткові одиниці — з коефіцієнтами перерахунку

Приклад: кабель обліковується в метрах (базова), продається в бухтах по 100 метрів (одиниця продажу). Покупець замовляє «2 бухти» → на склад іде запит на 200 метрів.

Передача одиниць виміру в CommerceML

У CommerceML 2.08 одиниця виміру передається в тезі БазоваОдиниця:

<Товар>
  <Ід>товар-guid</Ід>
  <Найменування>Кабель NYM 3x2.5</Найменування>
  <БазоваОдиниця КодОКЕІ="006" НайменуванняПовне="Метр">м</БазоваОдиниця>
</Товар>

Бітрікс зберігає одиницю виміру в полі MEASURE елемента інфоблока та в таблиці b_catalog_measure. При додаванні в кошик одиниця відображається поряд з кількістю.

Додаткові одиниці — з коефіцієнтами — передаються через ОдиниціВиміру:

<ОдиниціВиміру>
  <ОдиницяВиміру>
    <Код>бухта</Код>
    <НайменуванняПовне>Бухта</НайменуванняПовне>
    <НайменуванняКоротке>бух</НайменуванняКоротке>
    <Коефіцієнт>100</Коефіцієнт>
    <ЦінаВключаєПодатки>false</ЦінаВключаєПодатки>
  </ОдиницяВиміру>
</ОдиниціВиміру>

Стандартний модуль обміну Бітрікс підтримує цей тег і створює одиниці виміру в торговому каталозі (b_catalog_unit) з коефіцієнтами перерахунку.

Налаштування кратності в Бітрікс

Для деяких товарів мінімальна покупка — кратна одиниці виміру. Рулон шпалер не можна купити «пів-рулону». Упаковка цвяхів — тільки цілими коробками.

У Бітрікс це налаштовується через:

  • MEASURE_RATIO — кратність (наприклад, 1 для штук, 0.5 для вагового товару)
  • Поле кількості в кошику з кроком (атрибут step у формі додавання)

При обміні з 1С: якщо в УТ у номенклатури є кратність упаковки — передаємо її в ДодатковіРеквізити та обробляємо в обробнику імпорту:

if (isset($arXML['PACKAGE_RATIO'])) {
    // Встановлюємо кратність у торговому каталозі
    CCatalogProduct::Update($elementId, [
        'MEASURE_RATIO' => floatval($arXML['PACKAGE_RATIO']),
    ]);
}

Вагові товари

Для вагового товару (продається в кг з точністю до 0,001) у кошику потрібно поле введення з нецілим значенням. Бітрікс підтримує це через налаштування MEASURE_RATIO < 1 або через властивість STEP у торговому каталозі.

Ціна при цьому — за базову одиницю (за 1 кг). Підсумкова вартість = ціна × введена кількість.

Будівельні матеріали: мультиодиничний каталог

Будівельний магазин — класичний приклад складних одиниць виміру:

Товар Одиниця обліку Одиниця продажу Коефіцієнт
Ламінат м² Уп (2,04 м²) 2,04
Кабель м Бухта (100 м) 100
Цемент кг Мішок (25 кг) 25
Профіль м Пруток (6 м) 6

Кожен рядок — окреме налаштування одиниці виміру та кратності в Бітрікс. При обміні з 1С всі ці коефіцієнти мають передаватися коректно.

Кейс: оптовий магазин кабельної продукції

Оптовик кабелів: 4000 позицій, всі в метрах. Продаж — бухтами (довжина бухти різна для різних кабелів: 25, 50, 100, 200 м). Покупець на сайті обирає кількість бухт, але бачить підсумкову довжину в метрах.

Реалізація:

  • Базова одиниця в 1С та Бітрікс — метр
  • Одиниця продажу (з 1С) — бухта з коефіцієнтом (різним для кожної позиції)
  • У картці товару: поле «Кількість бухт» + поле «Разом метрів» (автоперерахунок через JS)
  • У кошику: зберігається кількість у метрах (базових одиницях), відображається в бухтах

Коефіцієнт бухти передається з 1С у ОдиниціВиміру. При оновленні — автоматично оновлюється в Бітрікс при наступному обміні номенклатурою.