AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.10.2019, 09:47   #1  
Proba is offline
Proba
Участник
 
60 / 13 (1) ++
Регистрация: 25.06.2007
Адрес: Красноярск\Зеленогорск
Общая скидка в ax
Привет.
Настроила общую скидку в системе.
Система предоставит скидку в 1000 руб, если стоимость заказа будет превышать 4000 руб.

Создала заказ на продажу на 4446,46 рублей, применила скидку.
Скидка сработала на сумму 1000,01 руб.
Создала заказ на продажу на 4425,52 рублей, применила скидку.
Скидка сработала на сумму 1000,17 руб.
Выяснила, что это копейки вылазят по причине того, что система переводить скидку в %.

Как можно избежать данную проблему?
Можно ли выполнить настройку так, чтобы общая скидка не переводилась в проценты?
Миниатюры
Нажмите на изображение для увеличения
Название: Настройка общей скидки.png
Просмотров: 243
Размер:	21.6 Кб
ID:	12392   Нажмите на изображение для увеличения
Название: Итоги заказа.png
Просмотров: 232
Размер:	27.2 Кб
ID:	12393  


Последний раз редактировалось Proba; 10.10.2019 в 09:50.
Старый 10.10.2019, 14:41   #2  
Pustik is offline
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.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: AX Performance - Analyzing key SQL Server configuration and database settings Blog bot DAX Blogs 0 28.09.2015 14:11
emeadaxsupport: AX Performance Troubleshooting Checklist Part 1B [Application and AOS Configuration] Blog bot DAX Blogs 0 05.09.2014 21:11
DAX: Microsoft Dynamics AX 2012 R3 is now available! Blog bot DAX Blogs 1 02.05.2014 23:00
amer-ax: It was a great day! Blog bot DAX Blogs 3 29.12.2012 01:02
emeadaxsupport: Overview of AX build numbers Blog bot DAX Blogs 3 24.05.2012 19:44
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:11.