При импорте товаров из 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% от суммы чека, но не менее 10 000 рублей — правильная настройка единиц снижает этот риск. Мы сталкивались с этим на одном из проектов: клиент продавал товары в упаковках, а в системе была только «шт». Через настройку коэффициента пересчёта мы добавили «упак 10 шт» и проблема ушла. Коэффициенты настраиваются в карточке товара или программно:
$measureRatio = \Bitrix\Catalog\MeasureRatioTable::getList([
'filter' => ['PRODUCT_ID' => $productId],
'select' => ['RATIO']
])->fetch();
Ручная настройка одной единицы занимает 2 минуты, а массовая смена через API — 10 секунд на 1000 товаров, что экономит до 90% времени по сравнению с ручной заменой. Средняя экономия на исправлении ошибок импорта — от 20 000 рублей за проект. Выбор метода зависит от объёма: для старого каталога с тысячами позиций быстрее написать скрипт.
Как массово обновить единицы измерения через 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 дней. Стоимость рассчитывается индивидуально по результатам аудита.
Получите консультацию: просто напишите нам с пометкой «Единицы» — оценим объём и сроки бесплатно. Закажите аудит текущего каталога — выявим несоответствия и предложим оптимальное решение.







