Как продать в интернете 0,5 метров ткани или 0,35 кг гвоздей
Разработка интернет-магазинов — профильное направление нашей студии.
В своей работе мы постоянно ищем интересные и нужные решения. Одно из них — использование дробного количества товара в «1С-Битрикс» для продажи, к примеру, тканей или сыпучих материалов.
Преимущества продажи дробного количества
- Экономия. Особенно важно для клиентов, которые работают над небольшими проектами или имеют ограниченный бюджет, либо когда товар стоит дорого (ткани бывают очень дорогие).
- Сокращение отходов. Клиенты могут заказывать материалы в точных количествах.
- Повышение удовлетворенности и лояльности клиентов. Клиенты получают больше контроля над своими покупками.
Процесс внедрения
Расскажем, как мы внедрили функцию продажи дробного количества на сайте Manders (интернет-магазин красок, обоев, тканей, лепнины, популярный поставщик декоративных материалов ведущих мировых брендов на российском рынке).При разработке интернет-магазина необходимо было предусмотреть возможность использования дробного количества товара при добавлении в корзину.

Дробное количество ткани при добавлении в корзину на сайте Manders
Это потребовало изменение кода. В «1С-Битрикс» есть встроенная возможность использования коэффициента единицы измерения для дробного количества через поле ‘RATIO’ у товара, но выгрузка этого поля из «1С» на момент разработки интернет-магазина не поддерживалась. По официальной информации, на данный момент некоторые последние версии «1С» данный функционал уже поддерживают.
Как решить проблему с RATIO
Проблему с выгрузкой поля ‘RATIO’ у товара из «1С» решили следующим образом.
В разделе административной части «Магазин → Настройки → Единицы измерения» выгружаются отдельные единицы измерения для разных видов товаров. Также единица измерения импортируется из «1С» в поле товара CML2_BASE_UNIT.

Единицы измерения для разных видов товаров
Нам требовался дробный коэффициент единицы измерения только при использовании единицы измерения «метр погонный» у товара.
При добавлении/обновлении товара обработчики (OnAfterIBlockElementAdd/OnAfterIBlockElementUpdate) перехватывают товары с определенной единицей измерения в поле CML2_BASE_UNIT.
После этого мы получали текущий коэффициент запросом:
$resMeasureRatio = CCatalogMeasureRatio::getList(
array(),
array(‘PRODUCT_ID’ => $data[‘ID’]),
false,
array(‘nTopCount’ => 1),
array(‘*’) )
;
В случае, если он отличался/не был создан, мы обновляли/создавали свой коэффициент через:
CCatalogMeasureRatio::update($ratioData[‘ID’], array(‘RATIO’ => $unitSett[‘coef’], ‘IS_DEFAULT’ => ‘Y’))
и:
CCatalogMeasureRatio::add(array(‘PRODUCT_ID’ => $data[‘ID’], ‘RATIO’ => $unitSett[‘coef’], ‘IS_DEFAULT’ => ‘Y’)
соответственно.
При желании коэффициент можно передавать в отдельном свойстве каждого товара, а после — перехватывать при добавлении/обновлении товара.
Таким образом можно изменять коэффициент единицы измерения товара в случае невозможности его передачи из «1С».
Карточка ткани с возможностью заказа дробного количества на сайте Manders
Внедрение функции продажи дробного количества товара было успешным. Она не только улучшила пользовательский опыт на сайте, но и помогла выделить сайт нашего клиента среди конкурентов и повысить лояльность клиентов. Как веб-студия, мы стремимся постоянно совершенствовать сайты наших клиентов и предоставлять им инструменты, необходимые для успеха на конкурентном онлайн-рынке.