Показать сообщение отдельно
Старый 08.11.2013, 17:53   #1  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Ошибка в периодической операции создания РБП.
При создании РБП периодической операцией Главная книга - Периодические операции - Расходы будущих периодов - Создание РБП, с установленной галкой "Предварительный просмотр" столкнулся со странным поведением системы.

После муторных копаний в настройках и классах RTax25 нашел унылый баг в методе new() класса RTax25StdChannel_DeferralPreview.

X++:
protected void new()
{
    super();

    deferralsTableList = new RecordSortedList(tablenum(RDeferralsTable));
    deferralsTableList.sortOrder(fieldnum(RDeferralsTable, DeferralsId));

    deferralsBookList  = new RecordSortedList(tablenum(RDeferralsBook));
    deferralsBookList.sortOrder(fieldnum(RDeferralsBook,   DeferralsId),
                                fieldnum(RDeferralsBook,   DeferralsBookId));

    deferralsTransList = new RecordSortedList(tablenum(RDeferralsTrans));
    deferralsBookList.sortOrder(fieldnum(RDeferralsTrans,   DeferralsId),
                                fieldnum(RDeferralsTrans,   DeferralsBookId));
}

При создании третьего объекта deferralsTransList обновление уникального ключа (sortOrder) идет почему-то снова для второго объекта deferralsBookList, но с полями таблицы RDeferralsTrans.

Ошибка актуальна для всех версий DAX 2009 и 2012. Более ранних версий системы под рукой не оказалось.
__________________
Dynamics AX Experience

Последний раз редактировалось CDR; 08.11.2013 в 18:02.