Есть каталог товаров, у каждого товара задан 1 тип цены, базовая.
У каждого пользователя вручную прописаны скидки на различные группы товаров, всего 20 групп (все эти группы в 1 разделе и различаются по доп. свойству).
Каждый пользователь вручную привязан к одному из 5 складов (или нескольким). Товар может быть на другом складе, который не привязан к пользователю, в таком случае покупателю выводится этот товар с наценкой 5%. Товар может быть и на складе, который пользователь видит, и на том, который не видит, в таком случае этот товар выводится дважды, один раз с наценкой.
Через init.php в списке товаров и в корзине подставляю нужную цену (базовая минус конкретная скидка конкретного пользователя). Через OnBeforeBasketAdd добавляю товару с наценкой свойство "под_заказ".
А дальше, в корзине, начинаются проблемы: технически товар один (один id), в корзине он выводится двумя строчками как и положено (один без свойства "под_заказ", другой с), но вот задать им разную цену у меня не получается. Цену подставляю через OnGetOptimalPrice или через CatalogBasketCallback, но ни в одном из этих случаев я не могу получить внутренний id товара в корзине, передается только основной id элемента.
Как быть?
У каждого пользователя вручную прописаны скидки на различные группы товаров, всего 20 групп (все эти группы в 1 разделе и различаются по доп. свойству).
Каждый пользователь вручную привязан к одному из 5 складов (или нескольким). Товар может быть на другом складе, который не привязан к пользователю, в таком случае покупателю выводится этот товар с наценкой 5%. Товар может быть и на складе, который пользователь видит, и на том, который не видит, в таком случае этот товар выводится дважды, один раз с наценкой.
Через init.php в списке товаров и в корзине подставляю нужную цену (базовая минус конкретная скидка конкретного пользователя). Через OnBeforeBasketAdd добавляю товару с наценкой свойство "под_заказ".
А дальше, в корзине, начинаются проблемы: технически товар один (один id), в корзине он выводится двумя строчками как и положено (один без свойства "под_заказ", другой с), но вот задать им разную цену у меня не получается. Цену подставляю через OnGetOptimalPrice или через CatalogBasketCallback, но ни в одном из этих случаев я не могу получить внутренний id товара в корзине, передается только основной id элемента.
Как быть?