Цитата:
Сообщение от
Jabberwocky
Попробуйте так:
X++:
queryRun.setCursor(common);
Попробовал. Как и требовалось доказать, не работает, поскольку setCursor()
передает курсор, а не
извлекает.
Т.е. приведенный ниже код
X++:
RecordViewCache prepareCalcTransBuffer()
{
BOMCalcTransMap buffer = this.calcTransBuffer();
Query query = this.calcTransQuery();
QueryRun queryRun;
;
queryRun = new QueryRun(query);
queryRun.setCursor(buffer);
rvcCalcTrans = new RecordViewCache(buffer);
return rvcCalcTrans;
}
бессмысленен и выдает, как и прежде, ошибку "The cursor is invalid for instantiating recordViewCache".
В противоположность этому, вот такой вариант работает:
X++:
RecordViewCache prepareCalcTransBuffer()
{
BOMCalcTrans buffer;
select noFetch buffer
where buffer.PriceCalcId == priceCalcId;
rvcCalcTrans = new RecordViewCache(buffer);
return rvcCalcTrans;
}
, но недостаточно абстрагирован.
Ладно, я все понял. Либо сделать то, что я хочу, невозможно, либо никто не знает.