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). |
Теги |
как правильно |
|
|