При імпорті товарів з 1С або ручному заповненні каталогу без налаштованих одиниць виміру в картці товару порожнє поле «Одиниця», на кнопці кількості немає підпису, а в накладних — пробіли. Це не тільки незручно, але й порушує вимоги 54-ФЗ: касовий чек повинен містити одиницю виміру товару. Часто при імпорті з 1С одиниці дублюються або присвоюються невірно — особливо коли коди ОКЕІ не збігаються. Одиниці в Бітрікс — окрема сутність модуля catalog, і без їх налаштування коректна робота каталогу неможлива. Ми — команда інженерів з досвідом у Бітрікс та Бітрікс24 понад 8 років, яка виконала більше 50 проєктів з налаштування торговельного каталогу. Налаштуємо одиниці під ваш бізнес: від штук до літрів, з коректними кодами ОКЕІ для автоматичного обміну з 1С та бухгалтерією.
Як налаштувати одиниці виміру без помилок при імпорті?
Помилка новачків — ігнорувати коди ОКЕІ. Бітрікс використовує цифрові коди з Загальноросійського класифікатора (детальніше на Wikipedia). При імпорті через CommerceML одиниці зіставляються саме за кодом. Якщо в 1С код 166 (кг), а в Бітрікс заведена одиниця з кодом 163 (г), товари отримають неправильну вагу. Ось типові коди, які ми використовуємо:
| Код ОКЕІ | Назва | Символ | Міжнародний |
|---|---|---|---|
| 796 | Штука | шт | PCE |
| 166 | Кілограм | кг | KGM |
| 163 | Грам | г | GRM |
| 113 | Метр | м | MTR |
| 112 | Сантиметр | см | CMT |
| 111 | Літр | л | LTR |
| 778 | Упаковка | упак | NMP |
| 539 | Комплект | компл | SET |
Дані зберігаються в таблиці b_catalog_measure. Поля: ID, CODE, IS_DEFAULT, MEASURE_TITLE, SYMBOL, SYMBOL_INTL. Тільки одна одиниця може бути IS_DEFAULT = Y — вона автоматично присвоюється новим товарам. Змінити дефолтну одиницю можна через API:
// Скидання поточної дефолтної \Bitrix\Catalog\MeasureTable::updateMulti( ['IS_DEFAULT' => 'N'], ['IS_DEFAULT' => 'Y'] ); // Встановлення нової \Bitrix\Catalog\MeasureTable::update($measureId, ['IS_DEFAULT' => 'Y']); Приклад зіставлення кодів у CommerceML
У профілі обміну вкажіть відповідність кодів з 1С кодам ОКЕІ в Бітрікс. Наприклад, якщо в 1С використовується "шт", а в Бітрікс код 796, пропишіть це в маппінгу.Чому одиниці виміру впливають на фіскалізацію?
Згідно з 54-ФЗ, у фіскальному чеку обов'язково вказувати одиницю виміру товару. Якщо в Бітрікс одиниця не задана, ОФД може відхилити чек. Потенційні штрафи за порушення 54-ФЗ можуть сягати 10% від суми чека, але не менше $90–130ів — правильне налаштування одиниць знижує цей ризик. Ми стикалися з цим на одному з проєктів: клієнт продавав товари в упаковках, а в системі була лише «шт». Через налаштування коефіцієнта перерахунку ми додали «упак 10 шт» і проблема пішла. Коефіцієнти налаштовуються в картці товару або програмно:
$measureRatio = \Bitrix\Catalog\MeasureRatioTable::getList([ 'filter' => ['PRODUCT_ID' => $productId], 'select' => ['RATIO'] ])->fetch(); Ручне налаштування однієї одиниці займає 2 хвилини, а масова зміна через API — 10 секунд на 1000 товарів, що економить до 90% часу порівняно з ручною заміною. Середня економія на виправленні помилок імпорту — від $180–260ів за проєкт. Вибір методу залежить від обсягу: для старого каталогу з тисячами позицій швидше написати скрипт.
Як масово оновити одиниці виміру через API?
Для міграції тисяч товарів використовуйте MeasureRatioTable::update в циклі з фільтром. Приклад заміни всіх одиниць «г» на «кг»:
$products = \Bitrix\Catalog\ProductTable::getList([ 'filter' => ['=MEASURE' => 163], 'select' => ['ID'] ]); while ($product = $products->fetch()) { \Bitrix\Catalog\ProductTable::update($product['ID'], ['MEASURE' => 166]); } Порівняйте підходи:
| Підхід | Час на 1000 товарів | Ризик помилки | Необхідність коду |
|---|---|---|---|
| Ручна зміна в адмінці | 2+ години | Високий | Ні |
| API-скрипт | 10–15 секунд | Мінімальний | Так |
При імпорті з 1С часто зустрічається ситуація: одиниця виміру в Бітрікс є, але не збігається код ОКЕІ. Імпортер створює дублікат з некоректним кодом. Рішення — заздалегідь зіставити всі коди в 1С та Бітрікс через CommerceML-профіль.
Що входить в роботу
- Аудит поточних одиниць та виявлення невідповідностей з ОКЕІ
- Налаштування одиниць за замовчуванням та для кожної торгової пропозиції
- Створення похідних одиниць з коефіцієнтами (упаковки, коробки)
- Написання скриптів масової заміни та міграції
- Тестування імпорту з 1С та вивантаження в ОФД
- Документація з описом усіх змін та доступів
Процес: від аудиту до деплою
- Аналітика (1–2 години): вивчаємо каталог, структуру даних, інтеграції
- Проєктування (2–4 години): визначаємо набір одиниць, коефіцієнти, план міграції
- Реалізація (від 2 годин): налаштування через адмінку або API, написання скриптів
- Тестування (2–3 години): перевірка імпорту, чеків, звітів
- Деплой та супровід: передача документації, навчання, гарантія 1 місяць
Строки
Налаштування стандартного набору одиниць та прив'язка до товарів — від 1 дня. Масова зміна у існуючих товарів або складні коефіцієнти — від 2 до 4 днів. Вартість розраховується індивідуально за результатами аудиту.
Отримайте консультацію: просто напишіть нам з позначкою «Одиниці» — оцінимо обсяг та строки безкоштовно. Замовте аудит поточного каталогу — виявимо невідповідності та запропонуємо оптимальне рішення.







