Игра Яндекс Практикума
Игра Яндекс Практикума
Игра Яндекс Практикума

Как продать в интернете 0,5 метров ткани или 0,35 кг гвоздей

Отредактировано

Как использовать дробное количество товаров в «1С-Битрикс» для продажи, к примеру, тканей или сыпучих материалов.

583 открытий1К показов

Разработка интернет-магазинов — профильное направление нашей студии.

В своей работе мы постоянно ищем интересные и нужные решения. Одно из них — использование дробного количества товара в «1С-Битрикс» для продажи, к примеру, тканей или сыпучих материалов.

Преимущества продажи дробного количества

  1. Экономия. Особенно важно для клиентов, которые работают над небольшими проектами или имеют ограниченный бюджет, либо когда товар стоит дорого (ткани бывают очень дорогие).
  2. Сокращение отходов. Клиенты могут заказывать материалы в точных количествах.
  3. Повышение удовлетворенности и лояльности клиентов. Клиенты получают больше контроля над своими покупками.

Процесс внедрения

Расскажем, как мы внедрили функцию продажи дробного количества на сайте Manders (интернет-магазин красок, обоев, тканей, лепнины, популярный поставщик декоративных материалов ведущих мировых брендов на российском рынке).

При разработке интернет-магазина необходимо было предусмотреть возможность использования дробного количества товара при добавлении в корзину.

Как продать в интернете 0,5 метров ткани или 0,35 кг гвоздей 1
Дробное количество ткани при добавлении в корзину на сайте Manders

Это потребовало изменение кода. В «1С-Битрикс» есть встроенная возможность использования коэффициента единицы измерения для дробного количества через поле ‘RATIO’ у товара, но выгрузка этого поля из «1С» на момент разработки интернет-магазина не поддерживалась. По официальной информации, на данный момент некоторые последние версии «1С» данный функционал уже поддерживают.

Как решить проблему с RATIO

Проблему с выгрузкой поля ‘RATIO’ у товара из «1С» решили следующим образом.

В разделе административной части «Магазин → Настройки → Единицы измерения» выгружаются отдельные единицы измерения для разных видов товаров. Также единица измерения импортируется из «1С» в поле товара CML2_BASE_UNIT.

Как продать в интернете 0,5 метров ткани или 0,35 кг гвоздей 2
 Единицы измерения для разных видов товаров

Нам требовался дробный коэффициент единицы измерения только при использовании единицы измерения «метр погонный» у товара.

При добавлении/обновлении товара обработчики (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С».

Как продать в интернете 0,5 метров ткани или 0,35 кг гвоздей 3
Карточка ткани с возможностью заказа дробного количества на сайте Manders

Внедрение функции продажи дробного количества товара было успешным. Она не только улучшила пользовательский опыт на сайте, но и помогла выделить сайт нашего клиента среди конкурентов и повысить лояльность клиентов. Как веб-студия, мы стремимся постоянно совершенствовать сайты наших клиентов и предоставлять им инструменты, необходимые для успеха на конкурентном онлайн-рынке.

Следите за новыми постами
Следите за новыми постами по любимым темам
583 открытий1К показов