Иван Романенко, ох.. соболезную вам, так как вы попали на такую же ошибку как и я в свое время.
Тикет в техподдержку: [B]1677231[/B].
[B]Тикет в разработку: 73537[/B]
Формально в октябре [B]2017 [/B]года я описывал проблему техническим кейсом:
[QUOTE]Есть ошибка при определении подарков.
Дано:
1) Битрикс последней стабильной версии
2) Товар А (стоимость 100 рублей) и товар Б (стоимость 35 рублей)
3) Акция: Дать в подарок товар Б, при наличии в корзине товара А.
Ситуация:
Шаг 1: пользователь добавляет в корзину товар А, выбирает подарок Б.
В корзине у него товар А (1 шт, 100 рублей) и товар Б (1 шт, 0 рублей).
Общая стоимость заказа: 100 рублей, 2 товарных позиции
Шаг 2: пользователь нажимает увеличить количество товара Б на 1 позицию.
В корзине у него товар А (1 шт, 100 рублей) и товар Б (2 шт, 70 рублей).
Общая стоимость заказа: 170 рублей, 2 товарых позиции.
По факту - должно быть подругому:
Либо 3 позиции: Товар А (1 шт, 100 рублей), Товар Б (1 шт, 35 рублей) и Товар Б* (скидочный) (1 шт, 0 рублей)
Либо 2 позиции: товар А (1 шт, 100 рублей) и товар Б (2 шт, 35 рублей).
При этом, если вернуться в корзину: по логике битрикса, условие выполнено, а товара нет -> появляется блок с выбором подарка, но тот же подарок выбрать нельзя! Будет просто увеличиваться количество.[/QUOTE]
Решения до сих пор нет, однако есть некоторые наработки кода по данной теме. Проблему они конечно не решают (нам пришлось написать свой обработчик и кастомизировать корзину).