AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.01.2009, 15:34   #1  
Blog bot is offline
Blog bot
Участник
 
25,475 / 846 (79) +++++++
Регистрация: 28.10.2006
1. Create a new codeunit. In this scenario we will call this codeunit "CUWebReport" with ID 50000

2. Navigate to "C/AL Globals" and create a function called "GenerateReport"



3. Select "Locals"

4. Select the "Return Value" tab

5. Set "Return Type"=Text and "Length"=100



6. With this completed close "C/AL Locals" window.

7. Now with "C/AL Globals" windows active again. Select "Variables" tab.

8. Create a variable called "filename" with "Data Type"=Text and "Length"=100



9. Now let's add the following code to this codeunit:
filename := 'C:inetpubPdfDocuments';
filename += FORMAT(CREATEGUID);
filename := DELCHR(filename, '=', '{-}');
filename += '.pdf';
REPORT.SAVEASPDF(111,filename);
EXIT(filename);




10. Save and compile the codeunit.

11. Now it's time to expose this codeunit as Web Service. Navigate to "Administration/IT Administration/General Setup/Web Services"

12. Select codeunit 50000 and give this a service name, we use "Get_PDF_Report"



13. Now it is time to verify that we can see this web service. Open this URL http://localhost:7047/DynamicsNAV/WS/services.

You should now se this message in your browser, and your Web Service can now be called :



If you don't see this message, you might want to check that the service "Microsoft Dynamics NAV Business Web Services" has been started.

14. Now it is time to call the Web Service, in this example we use Microsoft Visual Web Developer 2005. And we use the following code to call the Web Service:


Partial Class _Default
Inherits System.Web.UI.Page


Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim service As localhost.Get_PDF_Report = New localhost.Get_PDF_Report()
service.UseDefaultCredentials = True
service.Url = "
http://localhost:7047/DynamicsNAV/WS/CRONUS_International_Ltd/Codeunit/Get_PDF_Report"
Response.ContentType = "application/pdf"
Dim pdfFileName As String = service.GenerateReport()
Response.TransmitFile(pdfFileName)
End Sub
End Class


But how to consume this Web Service is not in scope for this blog, so we suggest you have look our online help how to consume a Web Service from NAV 2009. Online help found here: http://msdn.microsoft.com/en-us/library/dd339004.aspx



15. Now also remember to impersonate your web servers application to an appropriate Dynamics NAV user.

16. After compiling a running our project we then get this button in our browser.



17. When activating this button, we get the report specified in Codeunit 50000 displayed as an PDF file in our browser.



Conclusion, now you can give this URL to people who don't have access to Dynamics NAV, and they can execute the report when they see a need for this. Thanks,

Torben Meyhoff, SDE & Claus LundstrГёm, Program Manager, Microsoft Dynamics NAV



Источник: http://blogs.msdn.com/nav-reporting/archiv...eb-service.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:05.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.