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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.07.2021, 09:55   #1  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Ошибка поиска цены в стандарте AX2012(все версии)
Провел сегодня увлекательный день отлаживая один интерестный баг. Периодически, у клиента пропадали значения цен для нескольких номенклатур в выгрузке. Причем повторить они это не могли
Оказалось что в методе поиска цены присутствует интерестный баг, который повторяется только при использовании кеширования цен и при условии что у цены стоит галка PriceDiscTable\Fields\SearchAgain(Find next)
Нажмите на изображение для увеличения
Название: PriceSearch.png
Просмотров: 26
Размер:	57.9 Кб
ID:	13199
Т.е. найденная цена сохраняется путем присваивания курсоров, а дальше когда нет кеша, этот же курсор учавствует в другом поиске, что автоматически сбивает сохраненную переменную. При последующих запусках значение уже достается из кеша, и ошибка не воспроизводится
В последнем CU13 баг присутсвует
Решение довольно простое(в D365FO уже поправлено), заменить выделенную строчку на следующее
X++:
actualPriceTable        = priceDiscTable.data();
после этого все работает
Тестовый пример ниже(но должны быть данные). Так что если используете галку SearchAgain, советую проверить свои приложения

X++:
    PriceDisc                       priceDiscLocal;

    classFactory.globalObjectCache().clear('PriceDisc:FindPrice');
    priceDiscLocal = PriceDisc::newFromItem("WEB-RENCRMBLK",
                                            inventDim::findOrCreateBlank(),
                                            "EACH", 1, "USAWSTORE02",  "USD" );

    priceDiscLocal.findPrice("USA_WEB");
    info(strFmt("%1", priceDiscLocal.priceTable().RecId));
За это сообщение автора поблагодарили: Vadik (1), raz (5), Manner (1), S.Kuskov (5), Pandasama (2), Capodastr (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX2012 R3 WMDP, Разрешить ввод "<" в поля web-формы (ошибка "A potentially dangerous Request.Form value was detected from the client") RSrd DAX: Программирование 2 27.02.2020 15:19
dynamicsaxse: November 2018 Release – Dynamics AX2012 R3 update Blog bot DAX Blogs 0 15.11.2018 09:11
Однократная ошибка времени выполнения vizir DAX: Программирование 8 27.03.2018 21:57
При установки Ax2012 возникает следующая ошибка: oleg Khmelevskiy DAX: Администрирование 12 02.06.2017 17:24
emeadaxsupport: AX2012 and AX2009 or AX4 side by side - AOS performance counters overwritten Blog bot DAX Blogs 0 13.03.2012 18:11
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:20.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.