Пишу, скорее "на память" чтобы в следующий раз не пересоздавать код.
В продолжение этого совета
ax2009 метод toString() в отладчике
Суть проблемы:
отладчик показывает только текущую запись во [временной] таблице.
что приводит к сложностям при отладке.
Чтобы было легче отлаживать код с [временными] таблицами, таблицы можно запихать записи в контейнер. А уж контейнеры отладчик показывает превосходно.
для преобразования таблицы в контейнер в классе Global можно создать следующий метод:
X++:
// преобразует таблицу в контейнер (контейнеры удобно просматривать в отладчике)
// если maxRecords = 0 то в контейнер попадут все записи из таблицы
static server container table2con(Common common, int64 maxRecords = 10)
{
int64 i;
Common _common = new DictTable(common.TableId).makeRecord();
container ret = connull();
;
// копируем записи, чтобы не сдвинуть курсор и ничего не изменить в исходной выборке
if( common.isTmp() )
{
_common.setTmp();
_common.setTmpData(common);
}
else
{
_common.data(common);
}
// перебираем записи
while select _common
{
++i;
if( maxRecords > 0 && i > maxRecords )
{
ret += ['...']; // в конец добавляем признак того, что в таблице есть и другие записи.
break; // прерываем обработку, если нашли больше записей, чем запрошено в maxRecords
}
else
{
ret += [_common];
}
}
return ret;
}
в коде можно вызвать этот метод с таблицей, на записи которой хотите посмотреть.
можно поставить точку останова на return ret или сохранить результат выполнения где-нибудь для дальнейшего просмотра.
будьте осторожны с модификатором server. метод должен выполняться там, где "живет" просматриваемая таблица.
UPD: такой же подход можно применить для просмотра queryRun.