Зарегистрироваться | Сообщения за день | Поиск | Все разделы прочитаны |
Результаты опроса: Нужен ли .Net Аксапте? | |||
Конечно нужен, это ведь дополнительные возможности. |
![]() ![]() ![]() ![]() |
32 | 84.21% |
Все что надо можно через DLL делать и не мучиться. |
![]() ![]() ![]() ![]() |
3 | 7.89% |
Знал бы прикуп жил бы в Сочи. |
![]() ![]() ![]() ![]() |
3 | 7.89% |
Голосовавшие: 38. Вы ещё не голосовали в этом опросе |
|
Опции темы |
|
![]() |
#1 |
очами вижу
|
Цитата:
Сообщение от KingPeas
![]() И вот тут то и встает вопрос как мне получить список параметров отчета на RS2005? В документации по SQL BOL содержит несколько примеров для получения данных. Вот шаги которые я для себя уяснил:
1) Получить новый экземпляр ReportingService 2) Указать путь к серверу и права 3) Найти отчет 4) получить коллекцию параметров 5) перебрать параметры и получить нужную информацию. Сколько не копался в сборках .NET не нашел ни одного метода как пройти даже первый шаг. Так что надеюсь на вашу помощь. Из представленных выше примеров видно, что описание параметров отчета можно получить из объекта класса ServerReport, который вручную создать невозможно. Поэтому, чтобы получить список параметров необходимо:
Еще хочу заметить, что для использования ReportViewer нужна сборка Microsoft.ReportViewer.WebForms.dll Последний раз редактировалось RumataEstor; 12.06.2008 в 18:19. |
|
![]() |
#2 |
Британский учённый
|
Цитата:
Сообщение от RumataEstor
![]() Из представленных выше примеров видно, что описание параметров отчета можно получить из объекта класса ServerReport, который вручную создать невозможно. Поэтому, чтобы получить список параметров необходимо:
1. Создать Microsoft.Reporting.WebForms.ReportViewer. 2. Установить его свойства на ваш отчет: .ProcessingMode = ProcessingMode.Remote; .ServerReport.ReportServerUrl = new Uri("http://ваш ури"); .ServerReport.ReportPath = "/ваш путь отчета". 3. Получить список параметров с помощью метода ServerReport.GetParameters(). Возможно ситуация поменялась в 5.0, где интеграция более тесная. Или может как то через веб сервисы можно получать.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
![]() |
#3 |
очами вижу
|
Лично я не вижу связи между .NET классами и версией Axapta. В Axapta может поменяться способ использования сборок (например, вводом ключевого слова using и необязательностью полного квалификатора класса), но никак не интерфейс предоставляемый сборкой.
|
|
![]() |
#4 |
Британский учённый
|
Имелось в виду возможность реализации тех примеров, что я приложил, напрямую в DAX 4.0.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
![]() |
#5 |
очами вижу
|
Цитата:
То, что в C# можно написать Код: using Microsoft.Reporting.WebForms; ... var report = new ReportViewer(); Код: Microsoft.Reporting.WebForms.ReportViewer report = new Microsoft.Reporting.WebForms.ReportViewer(); |
|
![]() |
#6 |
Британский учённый
|
Цитата:
Сообщение от RumataEstor
![]() Опять же, не вижу разницы, из C# их использовать или из Аксапты. Подключил сборку, создал объект нужного класса и получил результат.
То, что в C# можно написать Код: using Microsoft.Reporting.WebForms; ... var report = new ReportViewer(); Код: Microsoft.Reporting.WebForms.ReportViewer report = new Microsoft.Reporting.WebForms.ReportViewer(); ![]()
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
![]() |
#7 |
очами вижу
|
Цитата:
![]() |
|
![]() |
#8 |
Участник
|
Ура у меня заработало) Спасибо всем за помощь, а особенно:
Цитата:
Сообщение от RumataEstor
![]() ...
Поэтому, чтобы получить список параметров необходимо:
Еще хочу заметить, что для использования ReportViewer нужна сборка Microsoft.ReportViewer.WebForms.dll X++: static void RSGetReportParameter(Args _args) { Microsoft.Reporting.WebForms.ReportViewer ReportViewer = new Microsoft.Reporting.WebForms.ReportViewer(); Microsoft.Reporting.WebForms.ProcessingMode ProcessingMode; Microsoft.Reporting.WebForms.ServerReport ServerReport; Microsoft.Reporting.WebForms.ReportParameterInfoCollection ParameterCollection; Microsoft.Reporting.WebForms.ReportParameter ReportParameter; System.Uri url = new System.Uri('http://ax-dev/ReportServer'); int i; int parmNum; str name; ; //ReportViewer.set_ProcessingMode(?*?); Как установить не знаю по умолчанию Local ServerReport = ReportViewer.get_ServerReport(); ServerReport.set_ReportServerUrl(url); ServerReport.set_ReportPath('/ABCD_New/ABCD_New'); ParameterCollection = ServerReport.GetParameters(); parmNum = ParameterCollection.get_Count(); info (strfmt('Всего параметров: %1', parmnum)); for (i = 0; i < parmNum; i++) { ReportParameter = ParameterCollection.get_Item(i); name = ReportParameter.get_Name(); info (strFmt("%1 - %2",i,name)); } info('Конец списка'); } ![]()
Насколько это критично если я использую не Remote а Local подключение? И есть идеи как его установить?
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. ![]() |
|
|
За это сообщение автора поблагодарили: iCloud (2). |
Теги |
.net, отчет, reporting services |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|