Показать сообщение отдельно
Старый 10.10.2019, 14:41   #2  
online
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Proba Посмотреть сообщение
Можно ли выполнить настройку так, чтобы общая скидка не переводилась в проценты?
Лично я, такую настройку не знаю. Но вся эта настройка сводится к тому, что после пересчета скидки программа подставляет рассчитанный процент в шапку документа(SalesTable, PurchTable и т.д.) в поле "Общая скидка в %" это поле DiscPercent, а потом уже использует именно это поле для последующих обработок. Дак вот проблема в том, что при расчете этого процента в программе происходит округление до 2 знаков, чего явно недостаточно.Модификация не сложная в Map-e PriceDiscHeading в методе updateFinalDisc() :
X++:
.........
    {
        if (priceDisc.getDiscAmount() * balanceEndDisc != 0)
        {
            // недостаточное округление процента скидки 
            //this.DiscPercent = balanceEndDisc ? decround(100 * priceDisc.getDiscAmount() / balanceEndDisc,2) : 0;
            this.DiscPercent = balanceEndDisc ? decround(100 * priceDisc.getDiscAmount() / balanceEndDisc,4) : 0;
            this.update();
        }
    }
    else
    {
        this.DiscPercent = 0;
        this.update();
    }
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.

Последний раз редактировалось Pustik; 10.10.2019 в 14:50.