Скорее всего известный факт, но вдруг кто не знал

Вот такой код заполнит временную таблицу, но отчет ничего не покажет:
X++:
class goaSsrsReport1 extends SrsReportDataProviderPreProcessTempDB
{
GoaTmpTable goaTmpTable;
[SRSReportDataSetAttribute(tablestr(GoaTmpTable ))]
public GoaTmpTable getGoaTmpTable()
{
select goaTmpTable;
return goaTmpTable;
}
public void processReport()
{
goaTmpTable = this.populateTmp();
}
GoaTmpTable populateTmp()
{
GoaTmpTable locGoaTmpTable;
.....
return locGoaTmpTable;
}
}
а вот так покажет:
X++:
class goaSsrsReport1 extends SrsReportDataProviderPreProcessTempDB
{
GoaTmpTable goaTmpTable;
[SRSReportDataSetAttribute(tablestr(GoaTmpTable ))]
public GoaTmpTable getGoaTmpTable()
{
select goaTmpTable;
return goaTmpTable;
}
public void processReport()
{
this.populateTmp(goaTmpTable);
}
void populateTmp(GoaTmpTable _GoaTmpTable )
{
..... ////inserting into _GoaTmpTable
}
}
оказывается методы с атрибутом SRSReportDataSetAttribute создают в SQL новую таблицу (временную), которая привязывается к SSRS.
А такая конструкция, типа goaTmpTable = this.populateTmp(), создаёт новый экземпляр временной таблицы и связь goaTmpTable с SSRS теряется.