При создании РБП периодической операцией Главная книга - Периодические операции - Расходы будущих периодов - Создание РБП, с установленной галкой "Предварительный просмотр" столкнулся со странным поведением системы.
После муторных копаний в настройках и классах 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. Более ранних версий системы под рукой не оказалось.