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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.09.2011, 13:35   #1  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Не корректно работает Немедленная поставка в Заказах AX2009 RU5
Насколько я знаю, если в заказе не поставлена цена, а стоит сумма должна браться именно эта сумма.
Теперь допустим мы огружаем номенклатуру количество = 2 по сумме = 1 559,33. Все пройдет правильно. Но когда мы попытаемся отсторнировать это через немедленную поставку, система проведет сумму 1 599,34, потому что будет считать от цены 1 559.33/2 = 779.67(с округлением) 779,67*2 = 1 599,34. И главное никак это не обойти(в отличие от Закупок, там можно перед разноской на форме обработки Накладной в Таблице PurchParmLine сумму ручками поменять, а в Заказах - фига с два, поле AllowEdit = false).Не понятно почему сделано не так как в закупках? В классе обработки закупки сумма считается так :

lineValue = purchParmLine.lineAmountExclTax(vendInvoiceJour.InvoiceDate);


а в заказах так :

lineValue = salesLine.calcLineAmountExclTax (updateNow, this.updateDate());


И вот в заказах где-то в глубине этого метода, где-то в классе PriceDisc стоит условие :
X++:
 if (qtyNow == qty)
            return amount;
        else
            price = PriceDisc::amount2Price(amount,
                                            discPercent,
                                            markup,
                                            qty,
                                            discAmount,
                                            priceUnit,
                                            currencyCode,
                                            price);
Естественно у меня не будет qtyNow == qty, т.к. qtyNow = -2, а qty = 2.
Считаю, что в заказах сторно через немедленную поставку работает не правильно или я не вижу здесь какой-нибудь хитрый замысел?
P.S. Кстати в трешке такая же хрень
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.

Последний раз редактировалось Pustik; 28.09.2011 в 15:19.
За это сообщение автора поблагодарили: Logger (2), pedrozzz (1).
Старый 28.09.2011, 15:10   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Мы просто ввели параметр, позволяющий отключать округление в PriceDisc::amount2Price()
И взводим его при вызове amount2Price() из метода PriceDisc:rice2Amount()

Описанные вами проблемы ушли автоматически.
Т.е. стандартная аксапта при обработке по немедленному получению для расчета сумм, сперва считает промежуточную цену и зачем то её округляет, а затем на основе округленной цены считает сумму. Из-за этого и ошибки. Мы убрали промежуточное округление и ошибки исчезли.

По-моему это просто косяк был. Мы сперва не решались описанные исправления вносить. Потом сделали и живем, не зная горя, уже несколько лет. Все работает без проблем.

Последний раз редактировалось Logger; 28.09.2011 в 15:51.
За это сообщение автора поблагодарили: Pustik (1), gl00mie (5), pedrozzz (1).
Старый 28.09.2011, 15:16   #3  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Logger Посмотреть сообщение
Мы сперва не решались описанные исправления вносить. Потом сделали и живем, не зная горя, уже несколько лет. Все работает без проблем.
Я вот тоже сегодня с утра сижу и думаю совать мне куда-нибудь свои руки и если совать то куда?. Вроде пока спасла Кредит-нота. Посмотрим, что будет дальше. Спасибо за Info.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Теги
округление, полезное

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
туплю. ax2009. почему не работает "печать разграничений" в оборотно-сальдовых? mazzy DAX: Функционал 1 10.05.2011 17:38
Функция global::valueFromXMLNode() в Ax2009 работает не корректно someOne DAX: Программирование 3 09.12.2010 15:58
Ax2009 RU5: Не заполняется CreatedDateTime в SysDatabaseLog Damn DAX: Администрирование 2 07.09.2010 15:29
ax2009 cu5: не работает с зарплатой? mazzy DAX: Прочие вопросы 8 02.08.2010 11:28
Превышение кол-ва в "немедленная поставка" кол-ва "к поставке" Pegiy DAX: Функционал 16 23.03.2004 20:03

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

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

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