Зарегистрироваться | Сообщения за день | Поиск | Все разделы прочитаны |
Результаты опроса: Нужен ли .Net Аксапте? | |||
Конечно нужен, это ведь дополнительные возможности. | 32 | 84.21% | |
Все что надо можно через DLL делать и не мучиться. | 3 | 7.89% | |
Знал бы прикуп жил бы в Сочи. | 3 | 7.89% | |
Голосовавшие: 38. Вы ещё не голосовали в этом опросе |
|
Опции темы |
19.06.2008, 14:18 | #13 |
Участник
|
Цитата:
X++: Microsoft.Dynamics.ReportingServices.ReportingService2005 ReportingServices = new Microsoft.Dynamics.ReportingServices.ReportingService2005(); X++: info (ReportingServices.ToString()); Microsoft.Dynamics.ReportingServices.ReportingService2005 так что ошибка непонятно где( Может у кого есть возможность в 2009 посмотреть код, там вроде описание необходимых параметров есть, возможно и ошибки более детальные выдаются... Вот результирующий код X++: static void RSGetReportParameter2(Args _args) { Microsoft.Dynamics.ReportingServices.ReportingService2005 ReportingServices = new Microsoft.Dynamics.ReportingServices.ReportingService2005(); Microsoft.Dynamics.ReportingServices.CatalogItem catalogItem; Microsoft.Dynamics.ReportingServices.ItemTypeEnum itemTypeEnum; Microsoft.Dynamics.ReportingServices.ReportParameter reportParameter; SRSItemTypeEnum ItemType; System.Net.ICredentials cred = CLRInterop::staticInvoke("System.Net.CredentialCache", "get_DefaultCredentials"); System.Exception exception; System.Array ar, ar2, arEmpty; System.Text.StringBuilder sb = new System.Text.StringBuilder(); System.Uri url = new System.Uri('http://ax-dev/ReportServer'); str name, path; int i, j, arLength, arLength2, typeElement; str type; anytype getFieldValue(CLRObject _object, str _fieldName) { System.Type t; System.Reflection.FieldInfo fieldInfo; ; t = _object.GetType(); fieldInfo = t.GetField(_fieldName); return fieldInfo.GetValue(_object); } ; try { ReportingServices.set_WebServiceUrl('http://ax-dev/ReportServer/ReportService2005.asmx'); ReportingServices.set_Credentials(cred); ar = ReportingServices.ListChildren('/',true); arLength = ar.get_Length(); for (i=0; i< arLength; i++) { catalogItem = ar.GetValue(i); path = getFieldValue(catalogItem,"Path"); name = getFieldValue(catalogItem,"Name"); typeElement = getFieldValue(catalogItem,"Type"); ItemType = typeElement; info (strfmt('%1 - %2 (%3)',ItemType, path, name)); ar2 = ReportingServices.GetReportParameters(path, null, false, null, null); arLength2 = ar2.get_Length(); for (j = 0; j < arLength2; j++) { reportParameter = ar2.GetValue(j); name = getFieldValue(reportParameter,"Name"); info(strFmt('--Параметр %1',name)); } } } catch (Exception::CLRError) { info('Ошибка .NET'); exception = CLRInterop::getLastException(); name = exception.ToString(); info (name); } info('Конец'); }
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. |
|
Теги |
.net, отчет, reporting services |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|