08.11.2013, 17:53 | #1 |
MCTS
|
Ошибка в периодической операции создания РБП.
При создании РБП периодической операцией Главная книга - Периодические операции - Расходы будущих периодов - Создание РБП, с установленной галкой "Предварительный просмотр" столкнулся со странным поведением системы.
После муторных копаний в настройках и классах 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. |
|
08.11.2013, 17:55 | #2 |
MCTS
|
Исправление
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)); // bugfix, cdr --> /* deferralsBookList.sortOrder(fieldnum(RDeferralsTrans, DeferralsId), fieldnum(RDeferralsTrans, DeferralsBookId)); */ deferralsTransList.sortOrder(fieldnum(RDeferralsTrans, DeferralsId), fieldnum(RDeferralsTrans, DeferralsBookId)); // bugfix, cdr <-- }
__________________
Dynamics AX Experience Последний раз редактировалось CDR; 08.11.2013 в 18:00. |
|
|
За это сообщение автора поблагодарили: Алексей Контев (1). |
|
|