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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.08.2012, 12:39   #3  
AlexeyVS is offline
AlexeyVS
Участник
 
103 / 31 (2) +++
Регистрация: 02.04.2010
2. Пишем специальную aspx-страницу для вызова загрузчика, например, downloadFile.aspx со следующим содержимым:

Код:
<%@ Page Language="C#" Trace="false" %>
<%@ Assembly Name="Microsoft.Dynamics.Framework.Portal, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" %>
<%@ Assembly Name="Microsoft.Dynamics.Framework.Data.Ax, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" %>
<%@ Assembly Name="Microsoft.Dynamics.Framework.BusinessConnector, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" %>
<%@ Assembly Name="Microsoft.Dynamics.Framework.BusinessConnector.Proxy, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" %>
<%@ Assembly Name="Microsoft.Dynamics.Framework.Metadata.AX, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" %>
<%@ Import Namespace="Microsoft.Dynamics.Framework.Portal" %>
<%@ Import Namespace="Microsoft.Dynamics.Framework.Portal.UI" %>
<%@ Import Namespace="Microsoft.Dynamics.AX.Framework.Portal.Data" %>
<%@ Import Namespace="Microsoft.Dynamics.Framework.BusinessConnector.Proxy" %>
<%@ Import Namespace="Microsoft.Dynamics.Framework.BusinessConnector.Session" %>
<%@ Import Namespace="Microsoft.Dynamics.Framework.BusinessConnector.Adapter" %>
<%@ Import Namespace="Microsoft.Dynamics.AX.Framework.Services.Client" %>

<script runat="server">
    void Page_Load(object sender, EventArgs e)
    {
        AxSharepointWebSession session = null;
        string fileName = this.Request.QueryString["file"];
        
        try
        {
            session = SessionHelper.Instance.GetSharepointSession();
            
            if (session != null)
            {
                session.AxaptaAdapter.CallStaticClassMethod("EPDocuGet", "runDownloadFile", fileName);

                Response.Flush();
            }
        }
        catch (System.Exception)
        {
            // Current design is to not display errors to the user
            // Errors are stored in the event log for review by the site operator
        }
        finally
        {
            if (session != null)
            {
                SessionHelper.Instance.ReleaseSharepointSession(session);
            }
        }
    }
</script>
Страницу кладем на сервер в папку C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ep

Как видно, при загрузке этой страницы будет происходить получение имени файла из параметров запроса и вызов созданного в п. 1 метода с передачей ему имени файла.

3. Создаем в АОТ ссылку на эту страницу. Web\Web Menu ITems\URLs
Назовем ее DownloadFile.
В свойстве URL пишем: _layouts/ep/downloadFile.aspx
Теги
ax2009, ax2012, enterprise portal, mime types, законченный пример

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX 2012 EP. Повторный вызов Load AlexeyVS DAX: Программирование 0 04.07.2012 13:04
dynamics-community.at: Dynamics AX 2012 Trainings Blog bot DAX auf Deutsch 0 19.06.2012 18:11
AX 2012 EP deployment HTTP error 401: Unauthorised offenmeier DAX: Программирование 2 25.10.2011 14:05
dynamics-ax: Microsoft Dynamics AX 2012 Excel Add-in Blog bot DAX Blogs 0 08.06.2011 08:12
dynamics-ax: Microsoft Dynamics AX 2012 and the importance of PowerPivot Blog bot DAX Blogs 0 17.02.2011 21:11

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:36.