Доброго времени суток! Проблема в следующем. Есть скидка с фиксированной величиной 500 рублей на общую сумму товаров https://skr.sh/sHaGKaADwg2 . Если эта скидка применяется, то величина скидки делится между всеми товарами (что логично, для корректного формирования чека). Если в корзине 2 товара, то скидка работает корректно, но, например, для 3 товаров, скидка уже составляет 498 рублей вместо указанных 500 https://skr.sh/sHa8GovHeCH . Это связано с тем, что 500 / 3 = 166.6, битрикс округляет до 166, отсюда теряем 2 рубля. Написал в поддержку, проблему взяли в работу, написали, что "в качестве временного решения вы можете модифицировать метод вывода цены, добавив обработку события OnGetOptimalPrice. Я не понимаю как это можно сделать. Кто-нибудь сталкивался с такой проблемой, как решали?
мы приняли как должное, есть ещё другая проблема с округлением, когда округление происходит то вверх, то вниз: когда выпадает 0.5 и есть правила округления, когда-то писал в техподдержку, но увы потеря 1-2 руб. иногда бывает, так как в ядре насколько я помню округление round и иногда правила не срабатывают, получается заказ сохранился с округлением вверх, а после оплаты, зачем-то происходит пересчет заказа, и тут округление пошло в другую сторону и у клиента либо переплата рубль либо недочет в 1с для фиксации таких заказов мы передаем 2 свойства дополнительно Оплачено и Цена оплаты и при расхождении такие заказы выделяются и чеки блокируются, а менеджер уже решает что делать