Работает корректно при таком раскладе.
Промоакция 1: Если товар А 1 шт, то бесплатный товар Б 1 шт
Промоакция 2: Если товар А 2 шт, то бесплатный товар Б 1 шт
Промоакция 3: Если товар А 3 шт, то бесплатный товар Б 1 шт
и т.д.
Приоритет можно сделать одинаковым, флажок “Не применять другие промо-акции” устанавливать не нужно.
Но это действительно очень неудобно. Если на 1-2 товара, то еще можно заморочиться. Если массовая акция, то нереально - для каждого товара нужно создать несколько промо-акций.
Еще это некрасиво. В чекауте будет столько упоминаний о промо-акции, сколько единиц товара лежит в корзине.
И еще это некорректно работает с комплектами товаров на 4.13. Выше не проверял.
В общем, давно назрела необходимость доработать бонус “Бесплатные товары”. Сейчас можно указать только количество, которое добавляется в корзину без учета количества товаров из условий промоакции. Можно сделать множественный выбор - либо конкретное количество, либо количество, привязанное к количеству товаров, упомянутых в условиях (1:1, 2:1, например).
Наверное, лучше сделать новый бонус, чтобы не ломать логику имеющегося. Назвать его, допустим, “Товар в подарок”. И прямо в бонусе создать список основных товаров и список товаров в подарок к ним. То есть не нужно вообще в условиях промо-акции указывать товары. Бонус из заказа берет количество товаров, упомянутых в списке, и добавляет такое же количество подарочного товара.