| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			SSRS отчет
			 
			
			Добрый День! При печати SSRS отчетов использую SrsReportDataProviderPreProcess класс. При печати в классе указываем таблицу через которую передаются данные в сам отчет. Вот в этой таблице постоянно остаются данные. Случись какая ошибка данные не очищаются, очень неудобно постоянно чистить. Кто нибудь пробовал что то с этим сделать, пока не могу понят как сделать.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 MCT 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Во первых таблицы семейства  классов SRSReportDataProvider имеют окончание TMP, поэтому по определению в них не может оставаться данных.  
		
		
		
		
		
		
			![]() Во вторых, почему не используете SRSReportDataProviderBase?  
		
				__________________ 
		
		
		
		
	Axapta book for developer  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: iCloud (2), Товарищ ♂uatr (1), arhat (1). | |
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
И во вторых, использование класса SRSReportDataProviderBase что то изменит? Использую SrsReportDataProviderPreProcess так как там можно делать отладку. Все уверены в том что проблема именно в том что вы написали?  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от arhat
			 
 
			Не совсем понял какая разница какое окончание имеют файлы. Таблица требуются типа regular.  Если это так важно переименую таблицу. 
		
	И во вторых, использование класса SRSReportDataProviderBase что то изменит? Использую SrsReportDataProviderPreProcess так как там можно делать отладку. Все уверены в том что проблема именно в том что вы написали?  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от arhat
			 
 
			Не совсем понял какая разница какое окончание имеют файлы. Таблица требуются типа regular.  Если это так важно переименую таблицу. 
		
	И во вторых, использование класса SRSReportDataProviderBase что то изменит? Использую SrsReportDataProviderPreProcess так как там можно делать отладку. Все уверены в том что проблема именно в том что вы написали?  
		 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от arhat
			 
 
			Не совсем понял какая разница какое окончание имеют файлы. Таблица требуются типа regular.  Если это так важно переименую таблицу. 
		
	И во вторых, использование класса SRSReportDataProviderBase что то изменит? Использую SrsReportDataProviderPreProcess так как там можно делать отладку. Все уверены в том что проблема именно в том что вы написали?  
		 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Не получается переделать никак под RDPB  классы свои отчеты, не знаю что упускаю. Делаю таблицу InMemory перестает работать, меняю на Regular все работает. В чем может быть проблема?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 MCT 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
в классе должны быть реализованы всего два метода 1) X++: [SRSReportDataSetAttribute(tablestr('ВашаТаблицаTMP'))] public TMP TMP() { //select data from table buffer select * from TMP; //return the buffer return TMP; } в методе должны быть вставка хотя бы одной записи в таблицу X++: [SysEntryPointAttribute(false)] public void processReport() { ...... TMP.insert(); И никакой магии, заметьте. 
				__________________ 
		
		
		
		
	Axapta book for developer  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: gl00mie (2), arhat (1). | |
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от MikeR
			 
 
			Давайте начнем с простого: 
		
	в классе должны быть реализованы всего два метода 1) X++: [SRSReportDataSetAttribute(tablestr('ВашаТаблицаTMP'))] public TMP TMP() { //select data from table buffer select * from TMP; //return the buffer return TMP; } в методе должны быть вставка хотя бы одной записи в таблицу X++: [SysEntryPointAttribute(false)] public void processReport() { ...... TMP.insert(); И никакой магии, заметьте. X++: public void processReport() { TMP TMP; ...... TMP.insert();  | 
| 
	
 |