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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.03.2015, 07:38   #1  
ackid is offline
ackid
Участник
 
34 / 12 (1) ++
Регистрация: 21.10.2013
Создать и заполнить Excel в пакете
Доброе утро!
Стоит следующая задача. В пакете создать Excel файл - наполнить его данными, отправить по почте.
Документ создаю на основе XMLExcelDocument_RU класса.
Документ создаётся прекрасно из шаблона, встаю на нужный лист...

Код:
document = XMLExcelDocument_RU::newFromFileServer(templateFileName, newFileName);
document.workbook().getWorksheet(#reportWorksheet).parmSaveColumnWidths(true);
XMLExcelDocument_RU::newFromFileServer - этот метод сделал сам, потому что в обычной newFromFileServer используется WinApi, а мне надо WinApiServer.

И дальше я начинаю делать document.insertValue();
Тут он начинает орать что
Цитата:
Трассировка стека: Недопустимая попытка вызова ComExcelDocument_RU.colName2Num, запущенного в CIL в клиенте.
Смотрю на этот класс...ComExcelDocument_RU - а он у меня клиентский... Я конечно могу переписать этот метод , там нечего хитрого. Но он же вызывается где-то в insertValue(), а стандартные классы как то не good править)
Подскажите ... может кто знает как обойти такие вещи...неужели нельзя создать и отправить на сервере...спасибо!!!
Старый 02.03.2015, 07:58   #2  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Данная тема обсуждалась на форуме уже с 10 раз ( всем охото ексель в батче погонять) и если воспользоваться поиском можно найти ответы на все свои вопрос. К примеру Сохранение документа Excel
Старый 02.03.2015, 09:11   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от ackid Посмотреть сообщение
Смотрю на этот класс...ComExcelDocument_RU - а он у меня клиентский... Я конечно могу переписать этот метод , там нечего хитрого. Но он же вызывается где-то в insertValue(), а стандартные классы как то не good править)
Подскажите ... может кто знает как обойти такие вещи...неужели нельзя создать и отправить на сервере...спасибо!!!
Из ComExcelDocument_RU используются разные мелкие утилиты типа перекодирования адреса ячейки в номер строки и столбца. Тут без правки не обойдешься - либо надо эти статические методы делать неклиентскими либо надо перетаскивать их куда-то и делать неклиентскими там, но тогда менять все использование в XmlExcelDocument_RU и пр. С моей точки зрения первое проще.
Старый 02.03.2015, 11:13   #4  
ackid is offline
ackid
Участник
 
34 / 12 (1) ++
Регистрация: 21.10.2013
Цитата:
Сообщение от belugin Посмотреть сообщение
Тут без правки не обойдешься .
Да, так и сделал... создал свой класс и там создал статические методы - те которые мне нужны. Конечно пришлой поправить несколько классов например - OXMLRow_RU, OXMLCell_RU. Там просто вызываю статику со своего класса.

Вот странно , зачем делать класс который потенциально может использоваться как на клиенте так и на сервере...И в этом классе вызывать статические методы КЛИЕНТСКОГО класса.....
Старый 02.03.2015, 11:25   #5  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Я думаю, что потому, что во-первых, методов неклиентского класса не было. Во-вторых, насколько я помню XMLDocument изначально тоже был клиентским (если сейчас не) так как содержит код для распечатки через Excel.

Excel, кстати, не рекомендуется MS в качестве серверного решения.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
atinkerersnotebook: Using Export To Excel in Dynamics AX to Create Reporting Data Sources Blog bot DAX Blogs 1 12.10.2013 01:13
atinkerersnotebook: Using the Dynamics AX Excel Add-In Blog bot DAX Blogs 1 25.09.2013 07:11
atinkerersnotebook: Walkthrough & Tutorial Summary Blog bot DAX Blogs 1 09.09.2013 09:11
atinkerersnotebook: Using Excel to Import Products & Services in Dynamics AX Blog bot DAX Blogs 0 19.07.2013 15:11
Возможно ли создать документ Excel из X++ smailik DAX: Программирование 6 15.05.2012 18:22

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

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

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