Индивидуальные цены для оптовых покупателей: выгрузка на сайт

В оптовой торговле частая ситуация, когда цены у покупателей - «кто как договорится». У кого-то скидка на группу товаров, у кого-то на бренд, у кого-то на все позиции. В результате при разработке личного кабинета оптового клиента возникает необходимость выгружать такие цены (сотни цен для каждого товара) в интернет-магазин. Как выгрузить их в Битрикс, заставить работать и не тормозить - расскажу в статье
Мы решали эту задачу на разных версиях 1С (от 7.7 до УТ 11). Хотя решение отлично переносится на любую платформу. В 1С для назначения индивидуальных цен, используются индивидуальные соглашения с контрагентами. К ним привязываются скидки на те или иные группы товаров. Именно их нам нужно выгрузить на сайт, связать с пользователями и с товарами. Для этого мы экспортируем на сайт XML-файл примерно такого вида
В файле выгружаются соглашения. В каждом соглашении - контрагент и набор скидок. Контрагенты идентифицируются по ИНН (при его отсутствии - по email или номеру телефона, или по введенному вручную идентификатору). Скидка привязывается к группе товаров при помощи «тега скидки». В приведенном примере это brand_code и section_code. В товар эти «теги» загружаются в виде множественных свойств. Список загружаем в любое хранилище: подойдет и инфоблок и HL-инфоблок и собственная sql таблица. Мы пробовали загрузить его в правила работы корзины, но правил получается несколько тысяч и сайт с ними откровенно тормозит. Так что лучше оставить эту идею. Для конкретного пользователя и товара цена рассчитывается довольно просто: берем Тег конкретного товара, на пересечении тега и пользователя ищем скидки. Выбираем бОльшую и применяем к цене. Практически поиск цены для товара происходит в один запрос. Товары в каталоге сортируем и фильтруем по «базовой цене». А уже на уровне вывода - перечеркиваем эту цену и пишем индивидуальную. Таким образом решаются сразу две задачи: сильно упрощается и ускоряется выдача товара. При добавлении в корзину заменяем базовую цену расчетной ценой. Как будто бы - все. Довольно простой рецепт, легко позволит внедрить индивидуальные цены в любой магазин, предполагающий оптовые продажи.



Читайте так же