93  /  142

Документация Сотбит: Розница. Настройка каталога. Единицы продажи

Функционал Единицы продажи позволяет покупателям выбирать удобную единицу измерения товара (например: упаковка, рулон, отрез, пачка, квадратный метр) непосредственно на витрине интернет-магазина. При этом складской учет, резервирование, оформление заказа, корзина и обмен с 1С всегда ведутся строго в базовой единице измерения 1С-Битрикс без образования некратных остатков.

Общее описание и принципы работы

Функционал решает задачу удобного представления фасовочных, мерных и строительно-отделочных товаров на витрине интернет-магазина.
В основе работы модуля лежат три ключевых правила:
  1. Физическая достаточность для покупателя: если покупателю требуется объем материала, не кратный минимальной таре отгрузки со склада, система автоматически подбирает и отправляет в корзину объем, покрывающий потребность с необходимым технологическим запасом. Покупатель гарантированно получает требуемое количество материала для выполнения работ.
  2. Складская целостность 1С-Битрикс и 1С: в корзину, оформленный заказ, чек и складские резервы передается фактическое количество в базовой единице, строго кратное базовому коэффициенту отгрузки товара. Это исключает появление дробных или некратных складских остатков.
  3. Сохранение объема заказа при переключении единиц: переключение между единицами измерения (например, переход из упаковок в штуки) представляет собой смену витринного отображения. В модуле реализовано асимметричное правило конвертации, предотвращающее циклическое увеличение объема товара в корзине при повторном переключении вкладок туда и обратно.
Функционал единиц продажи применяется к простым товарам, товарам с дробным количеством и Торговым предложениям.
Для комплектов и на странице сравнения товаров функционал не используется (применяется штатная логика 1С-Битрикс в базовой единице).

Настройки функционала

Управление параметрами вывода цен и единиц измерения осуществляется в общих настройках готового решения.
Администрирование > Сотбит > Сотбит: Розница > Настройки > [id сайта]
Перейдите в административной панели в раздел настроек решения и откройте вкладку Каталог.
Документация Сотбит: Сотбит: Розница. Единицы продажи. Картинка 1
Таблица параметров вкладки Каталог:
 
Поле
Описание
  Отображение цены и единиц
 Показывать единицу у основной цены
При включенном параметре рядом с основной стоимостью выводится обозначение продаваемой единицы (например, 900 ₽/шт или 4 500 ₽/упак.).
Если базовый коэффициент единицы измерения товара в 1С-Битрикс больше 1 (например, 10 шт.), цена автоматически подписывается количеством, к которому она относится: 10 000 ₽ / 10 шт.
 Показывать справочную цену за 1 базовую единицу
Активирует вывод дополнительной строки под основной ценой со стоимостью одной базовой единицы (например, (250 ₽ / шт.)).
Настройка доступна только при активном параметре Показывать единицу у основной цены.
Если коэффициент товара равен 1 и выбрана базовая единица, справочная цена автоматически скрывается, чтобы избежать визуального дублирования.
Альтернативные единицы продажи
 Использовать альтернативные единицы продажи
Главный переключатель функционала альтернативных единиц. При выключении параметра все товары каталога работают по стандартной логике базовых единиц 1С-Битрикс.
 Выводить единицы в детальной карточке
Отображает блок переключения единиц (сегментированный переключатель или выпадающий список) на странице Карточка товара.
 Выводить единицы в списке товаров
Отображает блок переключения единиц в плитках товаров в разделе Список товаров.
 Показывать недоступные альтернативные единицы
Определяет поведение витрины, если текущего складского остатка товара недостаточно для покупки хотя бы одной альтернативной единицы (например, на складе осталось 9 шт., а упаковка содержит 10 шт.):
  • Если опция включена, вкладка единицы остается видимой, но блокируется для клика, а при наведении выводится поясняющая подсказка.

  • Если опция отключена, недоступная единица скрывается из селектора.

 Пересчитывать наличие на складах в активную единицу
Включает вывод справочного эквивалента складского остатка в выбранной альтернативной единице в блоке наличия по складам.

Настройка свойств товара и торговых предложений

Для работы с альтернативными единицами используется специальное множественное свойство инфоблока.
Параметры свойства инфоблока
В Инфоблоке товаров (а также в инфоблоке торговых предложений, если каталог использует SKU) создается свойство со следующими параметрами:
 
Поле
Значение
 Название
Единицы продажи
 Тип
Число
 Код
B2C_SALE_UNITS
 Множественное
Да
 Выводить поле для описания значения
Да
Документация Сотбит: Сотбит: Розница. Единицы продажи. Картинка 2
Каждая строка свойства задает одну альтернативную единицу продажи:
  • Значение: количество базовых единиц, содержащееся в одной альтернативной единице (допускаются целые и дробные положительные числа, разделитель — точка или запятая).
  • Описание: витринное сокращение или наименование единицы (например: упак., кор., рул., отрез, пачка).
Базовая единица товара настраивается штатно в блоке Торговый каталог на вкладке Параметры и не указывается в свойстве B2C_SALE_UNITS. Базовая единица всегда автоматически выводится первой в селекторе единиц на сайте.

Особенности работы со свойствами

:
  • Торговые предложения: альтернативные единицы настраиваются индивидуально для каждого SKU. Торговые предложения не наследуют единицы из родительского товара. Если у конкретного предложения свойство не заполнено, селектор альтернативных единиц для него отображаться не будет.

  • Порядок отображения: альтернативные единицы выводятся на сайте строго в том порядке, в котором они заполнены в карточке товара в административной панели.

  • Фильтрация некорректных записей: нулевые, отрицательные значения, нечисловые данные и строки без заполненного описания автоматически исключаются из витринного селектора и не вызывают ошибок при сохранении товара.

  • Защита от дублей: если для товара заданы одинаковые коэффициенты и одинаковые названия, на витрине отображается только одна уникальная единица.

Отображение на витрине интернет-магазина

Детальная карточка товара
В карточке товара блок единиц продажи органично интегрирован в ценовой блок и зону оформления заказа.
Документация Сотбит: Сотбит: Розница. Единицы продажи. Картинка 3
Элементы карточки отображаются в следующей последовательности:
1. Селектор единиц продажи (1): сегментированный переключатель (при количестве вариантов до 3) или компактный выпадающий список (если вариантов больше 3 или названия длинные).
2. Основная цена (2): пересчитывается с учетом выбранной единицы. Например, при стоимости 900 ₽ за 1 шт. и выборе упаковки из 5 шт. отображается 4 500 ₽/упак.
3. Справочная строка (3): показывает стоимость 1 базовой единицы и формулу состава: 900 ₽/шт • 1 упак. = 5 шт.
4. Кнопка В корзину (4): добавляет в корзину базовое количество товара, эквивалентное выбранным единицам.
5. Кнопка Купить в 1 клик (5): открывает модальное окно экспресс-заказа с сохранением выбранной единицы и ее количества (подробнее в разделе Покупка в 1 клик).
6. Отображение наличия (6): под кнопками покупки остаток автоматически пересчитывается в активную единицу (например: В наличии: 1 упак.).
При прокрутке страницы вниз в липкой панели покупки отображается актуальная цена с коэффициентом, а справочная цена за одну базовую единицу выводится второй строкой.

Список товаров в каталоге

Если в настройках модуля активирован параметр Выводить единицы в списке товаров, аналогичный селектор доступен в каждой плитке каталога.
Документация Сотбит: Сотбит: Розница. Единицы продажи. Картинка 4
Для экономии места в каталоге переключатель автоматически принимает вид выпадающего меню, если представлено более двух единиц измерения.

Наличие и остатки на складах

При включенной настройке Пересчитывать наличие на складах в активную единицу в блоке и всплывающем окне информации о складах (подробнее в разделе Отображение остатков на складах) количество отображается с пояснением:
  • Москва: 50 шт. (10 упак.)

  • При нехватке остатка до полной единицы: 3 шт. (меньше 1 упак.)

Документация Сотбит: Сотбит: Розница. Единицы продажи. Картинка 5
Базовый складской остаток всегда остается на первом месте, гарантируя достоверность данных для кладовщиков и менеджеров.

Логика переключения единиц и взаимодействия с корзиной

Поведение при пустой корзине
Если товар еще не добавлен в корзину, переключение вкладок в селекторе меняет витринную цену, состав и переключает шаг счетчика (степпера) в значение 1. Запросы на изменение корзины в этом случае не отправляются.
Переключение единиц при наличии товара в корзине
Когда товар уже находится в корзине, смена единицы подчиняется асимметричному правилу конвертации:
1. Переход от меньшей единицы к большей (укрупнение тары, например: шт. > упак. или отрез > рулон):
  • Рассчитывается количество крупных упаковок, необходимое для покрытия набранного объема.

  • Количество округляется вверх до целой упаковки, чтобы покупателю гарантированно хватило материала.

  • Количество в корзине увеличивается до требуемого объема.

  • На экране появляется всплывающее уведомление: Количество изменено: 10 шт. (2 упак.) [Отменить]. Нажатие кнопки Отменить мгновенно возвращает исходное количество и предыдущую единицу измерения.

2. Переход от большей единицы к меньшей (дробление тары, например: упак. > шт. или рулон > отрез):
  • Система определяет, сколько целых мелких единиц содержится в уже набранном объеме.

  • Объем корзины строго сохраняется. Фактическое учетное количество в базовых единицах не увеличивается.

  • Всплывающее уведомление об изменении количества не выводится.

Благодаря этому правилу исключается проблема паразитного циклического раздувания корзины: многократное переключение между вкладками шт. и упак. сохраняет первоначально набранный объем заказа.

Контроль складских остатков и блокировка единиц

Если включен количественный учет 1С-Битрикс и запрещена покупка при отсутствии товара:
  • Счетчик количества блокирует дальнейшее увеличение при достижении максимально доступного складского объема.

  • Если доступного остатка недостаточно для покупки даже 1 альтернативной единицы, вкладка становится неактивной.

  • При клике или наведении на недоступную единицу выводится подсказка:

  • В карточке товара: В наличии 9 шт. Для покупки 1 компл. требуется 10 шт.

  • В каталоге товаров: Для покупки 1 компл. требуется 10 шт.

Сводная таблица типовых сценариев расчета

В таблице ниже приведены примеры поведения системы при различных базовых единицах товара:
 
Базовая единица товара
Альтернативная единица
Действие покупателя
Каунтер на витрине
В корзину
Всплывающее уведомление
Обоснование логики
 1 шт. (целое)
0.3 (отрез)
Выбрал 1 отрез при пустой корзине
1 отрез
1 шт.
Нет
Склад отгружает минимум 1 целую шт. Покупатель отрезает 0.3.
 1 шт. (целое)
0.3 (отрез)
Выбрал 4 отреза при пустой корзине
4 отреза
2 шт.
Нет
4×0.3=1.24
4\times 0.3 = 1.2
4×0.3=1.2
шт. Физически требуется 2 целые штуки.
 1 шт. (целое)
0.3 (отрез)
В корзине 1 шт. Переключил на отрез
3 отреза
1 шт.
Нет
Дробление. В 1 шт. содержится 3 отреза по 0.3. Объем корзины зафиксирован.
 1 м² (целое)
0.127 м² (плитка)
Выбрал 8 плиток при пустой корзине
8 плиток
2 м²
Нет
8×0.127=1.016
8\times 0.127 = 1.016
8×0.127=1.016м².
1 м² не хватит для укладки, в заказ идет 2 м².
 1 м² (целое)
0.127 м² (плитка)
В корзине 1 м². Переключил на плитку
7 плиток
1 м²
Нет
Дробление. В 1 м² входит 7 целых плиток. Корзина сохраняет 1 м².
 0.1 м (дробное)
0.3 м (отрез)
В корзине 0.5 м. Переключил на отрез
2 отреза
0.6 м
Да (с кнопкой отмены)
Укрупнение. Для покрытия 0.5 м требуется 2 отреза (0.6 м). Корзина увеличена на 0.1 м.
 0.5 м (дробное)
5.0 м (рулон)
В корзине 1.5 м. Переключил на рулон
1 рулон
5.0 м
Да (с кнопкой отмены)
Укрупнение до минимальной отгрузочной тары (целый рулон 5 м).
 1 шт. (целое)
5 шт. (упаковка)
В корзине 2 шт. Переключил на упаковку
1 упак.
5 шт.
Да (с кнопкой отмены)
Укрупнение. Корзина подтягивается до минимальной целой упаковки (5 шт.).
 1 шт. (целое)
5 шт. (упаковка)
В корзине 10 шт. (2 упак.). Переключил на шт.
10 шт.
10 шт.
Нет
Дробление. Объем 10 шт. полностью сохранен.