просто думал что проблема не в самом рекордсете а в той памяти которую он занимает.
AdoRecordset собрал из таблиц:
X++:
ADOfields = ADORecordset.Fields();
ADOfields.Append(#RContractCode , #adVarChar, 20);
ADOfields.Append(#RContractAccount , #adVarChar, 20);
ADOfields.Append(#Dimension1 , #adVarChar, 64);
ADOfields.Append(#Dimension2 , #adVarChar, 64);
ADOfields.Append(#BudgetAmount , #adDouble);
while(qr.next())
{
custTrans = qr.get(tableNum(CustTrans));
ADORecordset.AddNew();
ADOfield = ADOfields.Item(#RContractCode);
ADOfield.Value(COMVariant::createFromStr(CustTrans.AccountNum));//+RContractTypes::find(rContractPartnerType::Cust));
ADOfield = ADOfields.Item(#RContractAccount);
ADOfield.Value(COMVariant::createFromStr(CustTrans.RContractAccount));
ADOfield = ADOfields.Item(#Dimension1);
ADOfield.Value(COMVariant::createFromStr(CustTrans.Dimension[1]+' '+dimensions::find(SysDimension::Department, CustTrans.Dimension[1]).Description));
ADOfield = ADOfields.Item(#Dimension2);
ADOfield.Value(COMVariant::createFromStr(CustTrans.Dimension[2]+' '+dimensions::find(SysDimension::Center, CustTrans.Dimension[2]).Description));
ADOfield = ADOfields.Item(#BudgetAmount);
ADOfield.Value(COMVariant::createFromReal(CustTrans.AmountMST));
ADORecordset.Update();}
Вот потом, вывод:
X++:
PivotTable = grpPivotTableHolder.addControl(formControlType::ActiveX, "PivotTable");
PivotTable.className(xPivotTableManager::getClassId(xPivotTableVersion::OfficePivotTable11));
PivotTable.DataSource(reportEngine.ADORecordset());
ptConstants = pivotTable.Constants();
pivotTableView = pivotTable.ActiveView();
avFieldSets = pivotTableView.FieldSets();
COM::createFromObject(pivotTable.ActiveData()).HideDetails();
COM::createFromObject(pivotTableView.TitleBar()).Visible(false);
this.processFieldSet(pivotTableView.RowAxis(), #Dimension1);
this.processFieldSet(pivotTableView.RowAxis(), #Dimension2);
this.processFieldSet(pivotTableView.DataAxis(), #BudgetAmount);
pivotTotal = pivotTableView.AddTotal("Сумма", pivotField, ptConstants.plFunctionSum());
COM::createFromObject(pivotTableView.DataAxis()).InsertTotal(pivotTotal);
смущает то, что на форме всё работает отлично, а вот экспорт в ексель не удается.