|  25.11.2019, 19:28 | #1 | 
| Участник |  Временные таблицы в SSRS отчетах 
			
			Скорее всего известный факт, но вдруг кто не знал   Вот такой код заполнит временную таблицу, но отчет ничего не покажет: 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 } } А такая конструкция, типа goaTmpTable = this.populateTmp(), создаёт новый экземпляр временной таблицы и связь goaTmpTable с SSRS теряется. | 
|  | |
| За это сообщение автора поблагодарили: Logger (1), dech (2). | |
|  26.11.2019, 09:04 | #2 | 
| Участник | 
			
			Спасибо. Возникает вопрос такой: зачем переменной класса присваивать значение метода, если можно с ней работать в том же методе и ничего не присваивать, вернув void? Это шо, эстетизьм? 
				__________________ // no comments | 
|  | 
|  26.11.2019, 11:11 | #3 | 
| Участник | Цитата:  На самом деле, в проекте я использовал статический метод расширенного мною класса SysQuery, который возвращает таблицу со значениями фильтра для отчета: SysQuery::GOAFilterToTable(this.parmQuery(),tmpmpSysQuery); | 
|  |