|  10.07.2019, 17:06 | #1 | 
| Участник | Передача таблицы TempDB по маршруту класс1-форма-класс2, как правильно? 
			
			Здравствуйте. Столкнулся с такой задачей: есть форма, на которой выводятся данные из нескольких временных таблиц TempDB. Таблицы эти заполняются в классе myClass1 и передаются на форму через методы myClass1.parmTempDB() и через linkPhysicalTableInstance связываются с соответствующими датасурсами. Всё работает. Теперь нужно данные из формы вывести на печать. Соответственно, как это правильно сделать? Я создаю класс myClass2 для печати, вешаю menuItem для его вызова на форму и через через args передаю в myClass2 экземпляр myClass1, а в ините myClass2 получаю через методы myClass1.parmTempDB(). Но в этом случае linkPhysicalTableInstance не работает, выдаётся сообщение "Невозможно выполнить требуемую операцию с базой данных. Метод применим только к переменным таблицы TempDB, не связанным с существующим физическим экземпляром таблицы". Но если в init myClass2 написать X++: myTempDB1 = caller.parmMyTempDB1(); Или может быть, мне вообще надо получать в myClass2 временные таблицы не из исходного класса myClass1, а с формы? Подскажите, пожалуйста, как правильно? 2012 R3 | 
|  | 
|  10.07.2019, 23:53 | #2 | 
| Участник | 
			
			а myClass2-то что конкретно делает и где?
		 
				__________________ Felix nihil admirari | 
|  | 
|  11.07.2019, 08:18 | #3 | 
| Участник | |
|  | 
|  11.07.2019, 08:26 | #4 | 
| Участник | Цитата: 
		
			Сообщение от mikki_messer
			   ... Но в этом случае linkPhysicalTableInstance не работает, выдаётся сообщение "Невозможно выполнить требуемую операцию с базой данных. Метод применим только к переменным таблицы TempDB, не связанным с существующим физическим экземпляром таблицы"... Подскажите, пожалуйста, как правильно? useExistingTempDBTable takeOwnershipOfTempDBTable Использование можно глянуть в SrsReportProviderQueryBuilder или посмотреть поиском по SrsReportPreProcessedDetails::getTempDbNamesMapFromReportPreProcessedDetails Как вариант решения возможно прокатит | 
|  | |
| За это сообщение автора поблагодарили: -DocSerzh- (1), S.Kuskov (5). | |
|  11.07.2019, 08:39 | #5 | 
| Участник | Цитата: 
		
			Сообщение от axm2017
			   Если посмотреть код МС то подобная проблема решается в SSRS через вызов не особенно документированных  useExistingTempDBTable takeOwnershipOfTempDBTable Использование можно глянуть в SrsReportProviderQueryBuilder или посмотреть поиском по SrsReportPreProcessedDetails::getTempDbNamesMapFromReportPreProcessedDetails Как вариант решения возможно прокатит | 
|  | 
|  11.07.2019, 20:56 | #6 | 
| Участник | 
			
			не понял. если и форма и ворд на клиенте, то зачем ещё что-то передавать? бери ссылку на буфер и делай выборку while select или я что-то упускаю? если желаешь посмотреть, как глубока кроличья нора, то велкам https://alexvoy.blogspot.com/2019/02...ed-in-cil.html 
				__________________ Felix nihil admirari | 
|  | |
| За это сообщение автора поблагодарили: mikki_messer (1). | |
|  15.07.2019, 14:16 | #7 | 
| Участник | Цитата: 
		
			Сообщение от wojzeh
			   не понял. если и форма и ворд на клиенте, то зачем ещё что-то передавать? бери ссылку на буфер и делай выборку while select или я что-то упускаю? если желаешь посмотреть, как глубока кроличья нора, то велкам https://alexvoy.blogspot.com/2019/02...ed-in-cil.html | 
|  | 
|  15.07.2019, 16:07 | #8 | 
| Участник | 
			
			это зависит от постановки бизнес-задачи. между выводом на форме и печатью отчёта искомые данные могут измениться. отсюда и пляши.
		 
				__________________ Felix nihil admirari | 
|  | |
| За это сообщение автора поблагодарили: mikki_messer (1). | |
| Теги | 
| takeownershipoftempdbtable, как правильно | 
|  | 
| 
 |