В оптовой торговле часта ситуация, когда цены у покупателей — «кто как договорится». У кого-то скидка на группу товаров, у кого-то на бренд, у кого-то на все позиции.

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

Как выгрузить их в Битрикс, заставить работать и не тормозить — расскажу в статье

Мы решали эту задачу на разных версиях 1С (от 7.7 до УТ 11). Хотя решение отлично переносится на любую платформу.

В 1С для назначения индивидуальных цен, используются индивидуальные соглашения с контрагентами. К ним привязываются скидки на те или иные группы товаров. Именно их нам нужно выгрузить на сайт, связать с пользователями и с товарами.

Для этого мы экспортируем на сайт XML-файл примерно такого вида



В файле выгружаются соглашения. В каждом соглашении — контрагент и набор скидок.

Контрагенты идентифицируются по ИНН (при его отсутствии — по email или номеру телефона, или по введенному вручную идентификатору).

Скидка привязывается к группе товаров при помощи «тега скидки». В приведенном примере это brand_code и section_code.

В товар эти «теги» загружаются в виде множественных свойств.
Список загружаем в любое хранилище: подойдет и инфоблок и HL-инфоблок и собственная sql таблица.

Мы пробовали загрузить его в правила работы корзины, но правил получается несколько тысяч и сайт с ними откровенно тормозит. Так что лучше оставить эту идею.

Для конкретного пользователя и товара цена рассчитывается довольно просто: берем Тег конкретного товара, на пересечении тега и пользователя ищем скидки. Выбираем бОльшую и применяем к цене. Практически поиск цены для товара происходит в один запрос.

Товары в каталоге сортируем и фильтруем по «базовой цене». А уже на уровне вывода — перечеркиваем эту цену и пишем индивидуальную. Таким образом решаются сразу две задачи: сильно упрощается и ускоряется выдача товара.

При добавлении в корзину заменяем базовую цену расчетной ценой. Как будто бы — все.

Довольно простой рецепт, легко позволит внедрить индивидуальные цены в любой магазин, предполагающий оптовые продажи.

Комментарии (0)