Уявіть: каталог будматеріалів, 5000 товарів, кожен з унікальною одиницею виміру. Обмін з 1С налаштовано, але на сайті одиниці відображаються лише в штуках, хоча в 1С вони задані в метрах і упаковках. Підсумок: клієнти плутаються в замовленнях, менеджери перераховують вручну, помилки зростають. Типова ситуація, яку ми вирішуємо за 2-3 дні.
На перший погляд усе просто: є ОКЕІ, є штатний обмін CommerceML. Але коли номенклатура налічує тисячі позицій, а товар може продаватися в метрах, квадратних метрах, рулонах по 50 метрів або упаковках по 6 штук — без тонкого налаштування не обійтися. Ми, як інтегратори, стикаємося з цим регулярно. За 8+ років роботи ми налаштували вивантаження одиниць виміру з 1С в Бітрікс для сотень каталогів, від будматеріалів до кабельної продукції. Вартість типових доопрацювань стартує від 15 000 грн, а економія завдяки автоматизації сягає до 10 000 грн щомісяця.
Як одиниці виміру передаються з 1С в Бітрікс?
У 1С:УТ одиниці виміру зберігаються в довіднику КласифікаторОдиницьВиміру (ОКЕІ). Кожна одиниця має код за ОКЕІ (796 = штука, 006 = метр, 055 = кг), коротке та повне найменування. Номенклатура може мати кілька одиниць:
- Базова одиниця — для складського обліку.
- Одиниця продажу — для відображення клієнту.
- Додаткові одиниці з коефіцієнтами перерахунку.
Приклад: кабель обліковується в метрах (базова), продається в бухтах по 100 метрів. Покупець замовляє «2 бухти» → склад отримує замовлення на 200 метрів.
Згідно з CommerceML 2.08, одиниця виміру передається в тезі БазоваОдиниця:
<Товар> <Ид>товар-guid</Ид> <Наименование>Кабель NYM 3x2.5</Наименование> <БазоваяЕдиница КодОКЕИ="006" НаименованиеПолное="Метр">м</БазоваяЕдиница> </Товар> Бітрікс зберігає одиницю в полі MEASURE інфоблоку та таблиці b_catalog_measure. Додаткові одиниці з коефіцієнтами передаються через ОдиниціВиміру:
<ЕдиницыИзмерения> <ЕдиницаИзмерения> <Код>бухта</Код> <НаименованиеПолное>Бухта</НаименованиеПолное> <НаименованиеКраткое>бух</НаименованиеКраткое> <Коэффициент>100</Коэффициент> <ЦенаВключаетНалоги>false</ЦенаВключаетНалоги> </ЕдиницаИзмерения> </ЕдиницыИзмерения> Стандартний модуль обміну створює одиниці в b_catalog_unit з коефіцієнтами. Але якщо у товару кратність упаковки (наприклад, продаж лише цілими бухтами), потрібно обробляти це окремо.
Чому кратність упаковки важлива?
Упаковку цвяхів не можна купити «півкоробки», а рулон шпалер — половину. У Бітрікс за це відповідає поле MEASURE_RATIO — кратність кількості. За замовчуванням вона дорівнює 1 (штуки), але може бути дробовою для вагових товарів (0.001 для грамів). Налаштування кратності дозволяє уникнути помилок при замовленні та зменшує ручну роботу менеджерів у 5 разів.
При обміні з 1С кратність упаковки часто передають у додаткових реквізитах. В обробнику імпорту підхоплюємо це:
if (isset($arXML['PACKAGE_RATIO'])) { CCatalogProduct::Update($elementId, [ 'MEASURE_RATIO' => floatval($arXML['PACKAGE_RATIO']), ]); } Автоматичне налаштування скорочує час оновлення каталогу в 5 разів порівняно з ручним введенням.
Вагові товари: нюанси
Для вагового товару (цемент, крупи) потрібна точність до 0.001 кг. Бітрікс дозволяє задати MEASURE_RATIO < 1, а в кошику — ступінчасте поле. Ціна прив'язана до базової одиниці (1 кг), підсумок = ціна × введена кількість. Це стандартна схема, але її часто забувають увімкнути. Економія часу на оновлення каталогу — до 60%, що дозволяє зекономити до 10 000 грн щомісяця.
Будівельні матеріали: мультиодиничний каталог
Будівельний магазин — класика. В одного товару може бути кілька одиниць продажу:
| Товар | Одиниця обліку | Одиниця продажу | Коефіцієнт |
|---|---|---|---|
| Ламінат | м² | Уп (2.04 м²) | 2.04 |
| Кабель | м | Бухта (100 м) | 100 |
| Цемент | кг | Мішок (25 кг) | 25 |
| Профіль | м | Пруток (6 м) | 6 |
Кожен рядок — окреме налаштування. Ручна обробка таких каталогів займає тижні. Ми автоматизуємо перенесення через CommerceML, включаючи всі коефіцієнти.
Типові проблеми та рішення
| Проблема | Причина | Рішення |
|---|---|---|
| Одиниця виміру не відображається | Не передано код ОКЕІ | Перевірити заповнення в 1С |
| Кратність упаковки не враховується | Відсутнє поле MEASURE_RATIO | Додати в обробник імпорту |
| Різні одиниці для одного товару | Некоректне налаштування в 1С | Використовувати додаткові реквізити |
Зниження кількості помилок у замовленнях — до 40%.
Що входить в роботу
Пакет робіт «під ключ» включає:
- Аудит поточних одиниць в 1С та Бітрікс.
- Доробку скрипту обміну для передачі додаткових одиниць та кратності.
- Налаштування коефіцієнтів перерахунку та тегованого кешування каталогу.
- Тестове вивантаження 10–20 товарів та повну синхронізацію.
- Навчання вашого менеджера (1 година).
- Підготовка документації та передача доступів.
Ми гарантуємо, що після налаштування всі одиниці відображаються коректно, а помилки при замовленні виключені. Наша команда має 8+ років досвіду та виконала 40+ успішних проєктів. Зв'яжіться з нами — оцінимо ваш проєкт протягом дня.
Кейс: оптовий магазин кабельної продукції
Наш клієнт — оптовий магазин кабельної продукції, 4000 позицій, всі в метрах. Продаж — бухтами різної довжини (25, 50, 100, 200 м). Покупець вибирає кількість бухт, але бачить підсумкову довжину в метрах.
Рішення:
- Базова одиниця — метр.
- Одиниця продажу — бухта з коефіцієнтом (береться з 1С для кожної позиції).
- У картці товару: поле «Кількість бухт» + поле «Разом метрів» з автоперерахунком через JS.
- У кошику: зберігання в метрах, відображення в бухтах.
Коефіцієнт передається з 1С в <ОдиниціВиміру>. При оновленні номенклатури дані оновлюються автоматично. Результат — повністю автоматизований каталог з коректними одиницями, ручна робота зведена до нуля.
Досвід та гарантії
Наша команда займається інтеграціями Бітрікс та 1С понад 8 років. Виконано 40+ проєктів, від невеликих інтернет-магазинів до дистриб'юторських каталогів. Ми надаємо гарантію на всі доопрацювання — 12 місяців. Отримайте консультацію з вашого завдання — пишіть, ми оцінимо проєкт за один день.







