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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.05.2016, 12:57   #1  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
602 / 167 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
Баг в генераторе фин. отчетов AX 2012 R2 CU7
Нашел ошибку в методе LedgerRRGEBufferEvalOperationGroup_W.parms().

Сценарий воспроизведения ошибки следующий:
  • В расчете значения ячейки настроены несколько операций, каждая операция имеет пустой или не пустой фильтр по фин. аналитике;
  • При расчете значений операций, фильтр по фин. аналитике ячейки передается, как параметр;
  • Баг приводит к тому, что для расчета значения следующей операции вместо фильтра по фин. аналитике ячейки в качестве параметра передается фильтр предыдущей операции.

X++:
public LedgerRRGOperationParm_RU parms(LedgerRRGOperationParm_RU _parms = parms)
{
    LedgerRRGOperationParm_RU ret = super(_parms);
  
    /* Для исправления ошибки, комментируем этот кусочек кода
	if (curParams)
    {
        return curParams;
    }*/
  
    return ret;
}

Последний раз редактировалось Morpheus; 25.05.2016 в 13:01.
За это сообщение автора поблагодарили: Logger (3).
Старый 26.05.2016, 06:50   #2  
AlexSD is offline
AlexSD
Microsoft Dynamics
Сотрудники Microsoft Dynamics
 
257 / 302 (11) ++++++
Регистрация: 14.10.2003
Скорее всего этим фиксом вы не только починили свою проблему, но и сломали что-то другое. Поскольку в таком виде этот метод будет возвращать параметры сформированные с ячейки, а не с текущей вычисляемой операции.
Не помню уже, для какой фичи я сделал именно так, но ведь сделал же не просто так

Последний раз редактировалось AlexSD; 26.05.2016 в 06:56.
Старый 26.05.2016, 07:28   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Может быть переменная curParams должна где-то обнулятся при смене контекста, а она не обнуляется?
Старый 26.05.2016, 11:32   #4  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
У меня, правда в предыдущей версии, это закомментировано уже давно. Но в в методе parms, а в методе eval:
X++:
// AAK_OVIK 10.04.2013 -->
// Непонятно зачем тут это - в результате для строк формул вместо параметров
// родителя (ячейки) в parms возвращаются параметры текущей строки
// а если по текщей строке нет каких-то составляющих параметров и есть предыдущая
// строка, то вместо параметров родителя берутся параметры предыдущей строки
/*
    curParams = operation.parms();
*/
// AAK_OVIK 10.04.2013 <--
Вроде бы три года работает без проблем.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: AX Content: How to install CU7 for Microsoft Dynamics AX 2012 R2 Blog bot DAX Blogs 0 12.11.2013 01:12
emeadaxsupport: AX for Retail 2012 R2: Run-down on Log Files Blog bot DAX Blogs 0 21.06.2013 08:11
DAX: A sneak peek tour: 4 Business Benefits of Microsoft Dynamics AX 2012 R2 Blog bot DAX Blogs 0 03.12.2012 11:11
emeadaxsupport: Preliminary Microsoft Dynamics AX 2012 R2 content now on TechNet and MSDN! Blog bot DAX Blogs 0 10.11.2012 08:20
daxdilip: Whats New in Dynamics AX 2012 (A brief extract from the recently held Tech Conf.) Blog bot DAX Blogs 7 31.01.2011 12:35

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

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

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