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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.05.2019, 11:15   #1  
raniel is offline
raniel
Участник
Аватар для raniel
 
235 / 11 (1) +
Регистрация: 20.10.2006
? AX365 Выгрузка в шаблон Excel
Добрый день. Пытаюсь в DAX 365 сделать выгрузку данных в Excel в заранее подготовленный шаблон

Вот мой код:
X++:
 XMLExcelDocument_RU                 excelDocument;
  
  excelDocument = XMLExcelDocument_RU::newFromResource(TemplateProvider_RU::getFor(null).get(resourceStr(TestEXL)));


И при инициализации класса возникает ошибка:
В методе createFile класса WinAPI, на строке
X++:
[FONT=&quot]createFile.call(fileName,access,0,0,flags,#FILE_ATTRIBUTE_ARCHIVE,0);[/FONT]
вылетает с ошибкой:
An exception of type 'Microsoft.Dynamics.Ax.Xpp.ErrorException' occurred in aoskernel.dll but was not handled in user code
Additional information: Функция "CreateFileW" в библиотеке DLL "C:\windows\system32\KERNEL32.dll" привела к возникновению исключения.


Так же не работает и такой способ
X++:
excelDocument = XMLExcelDocument_RU::newFromFile(@"C:\tmp\JobXML.xlsx",@"C:\tmp\JobXML3_111.xlsx");
ошибка возникает (класс WinAPI)в строке:
X++:
 findFirstFile(str filename)
  [FONT=&quot]return [findFirstFile.call(filename, data),data.wString(#offset44)];[/FONT]


An exception of type 'Microsoft.Dynamics.Ax.Xpp.ErrorException' occurred in aoskernel.dll but was not handled in user code

Additional information: Функция "FindFirstFileW" в библиотеке DLL "C:\windows\system32\KERNEL32.dll" привела к возникновению исключения.

Пытаюсь просто создать свой файл:
X++:
   excelDocument = XMLExcelDocument_RU::construct();
   excelDocument.newFile(@"C:\tmp\JobXML1_New.xlsx");
Возникает ошибка в методе findFirstFile
В строке:
X++:
 return [findFirstFile.call(filename, data),data.wString(#offset44)];
An exception of type 'Microsoft.Dynamics.Ax.Xpp.ErrorException' occurred in aoskernel.dll but was not handled in user code

Additional information: Функция "FindFirstFileW" в библиотеке DLL "C:\windows\system32\KERNEL32.dll" привела к возникновению исключения.


Единственный способ когда удаётся выгрузить данные в Excel это:
X++:
  excelDocument = XMLExcelDocument_RU::construct();
  excelDocument.open(@"C:\tmp\JobXML1.xlsx");
Тогда открывается просто файл и получается записывать в него данные. Но сохранить под другим именем не даёт.
Что я не так делаю или так у всех?

Последний раз редактировалось raniel; 14.05.2019 в 11:28.
Старый 14.05.2019, 22:14   #2  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
630 / 660 (24) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Вы когда пишите c:\temp вы хотите его на виртуалке сохранить или ждёте что браузер его сохранит вам на клиент ?
Старый 15.05.2019, 08:19   #3  
raniel is offline
raniel
Участник
Аватар для raniel
 
235 / 11 (1) +
Регистрация: 20.10.2006
Цитата:
Сообщение от skuull Посмотреть сообщение
Вы когда пишите c:\temp вы хотите его на виртуалке сохранить или ждёте что браузер его сохранит вам на клиент ?
Ожидаю, на виртуалке. Ведь я открываю на ней файл и могу модифицировать.
Старый 15.05.2019, 09:02   #4  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
630 / 660 (24) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
А смысл? Пускай оно заработает сейчас, как это будет работать в продакшене ?
Старый 15.05.2019, 09:53   #5  
raniel is offline
raniel
Участник
Аватар для raniel
 
235 / 11 (1) +
Регистрация: 20.10.2006
Цитата:
Сообщение от skuull Посмотреть сообщение
А смысл? Пускай оно заработает сейчас, как это будет работать в продакшене ?
Ну я в своих примерах использую путь C:\... это просто пока разбираюсь с работой. Теоретический мне важно сформировать файл, а дальше я могу его положить хоть в сетевую папку
Старый 15.05.2019, 11:00   #6  
sukhanchik is offline
sukhanchik
Moderator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,695 / 2316 (83) +++++++++
Регистрация: 13.06.2004
Адрес: Москва
Оно так теперь не работает. Это ж D365. Надо забыть, что работаем в Windows с какой-то локальной файловой системой. Файл можно только загрузить через Upload и сохранить через Download в браузере. Файл формируется в оперативной памяти, а дальше он уже либо отсылается в браузер, либо кладется куда-то по URL-у (например, на Sharepoint Online)
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 15.05.2019 в 11:03.
За это сообщение автора поблагодарили: raniel (1).
Старый 15.05.2019, 15:39   #7  
raniel is offline
raniel
Участник
Аватар для raniel
 
235 / 11 (1) +
Регистрация: 20.10.2006
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Оно так теперь не работает. Это ж D365. Надо забыть, что работаем в Windows с какой-то локальной файловой системой. Файл можно только загрузить через Upload и сохранить через Download в браузере. Файл формируется в оперативной памяти, а дальше он уже либо отсылается в браузер, либо кладется куда-то по URL-у (например, на Sharepoint Online)
А какие нибудь примеры есть чтоб сформировать и отослать в браузер(ну или загрузить через URL)? Что нить элементароне, просто для ориентира.
Старый 15.05.2019, 16:16   #8  
sukhanchik is offline
sukhanchik
Moderator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,695 / 2316 (83) +++++++++
Регистрация: 13.06.2004
Адрес: Москва
Самое простое - это посмотреть, как теперь прикрепляются и скачиваются прикрепленные документы (которые через скрепку)
Класс DocuFileSave для сохранения файла
Классы FileUpload* для загрузки файла (в наследнике RunBase)
Класс File

Посмотрите ссылки (Find references) как они используются и какой от этого получается результат для пользователя
__________________
Возможно сделать все. Вопрос времени
Старый 15.05.2019, 18:07   #9  
sukhanchik is offline
sukhanchik
Moderator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,695 / 2316 (83) +++++++++
Регистрация: 13.06.2004
Адрес: Москва
Выложил пример (правда не совсем под Вашу задачу, но по крайней мере для понимания принципа, как теперь читаются и записываются файлы)
D365FO: Пример импорта из (экспорта в) Excel
__________________
Возможно сделать все. Вопрос времени
Старый 20.05.2019, 09:28   #10  
AnGor is offline
AnGor
Участник
Аватар для AnGor
 
81 / 40 (2) +++
Регистрация: 30.08.2007
Адрес: Bad Dürkheim
Записей в блоге: 6
Вот мой пример:
https://gist.github.com/AnGor1980/8e...a60341e394e7ce

Шаблон надо в ресурс загрузить - по коду разберётесь
За это сообщение автора поблагодарили: raniel (1).
Теги
ax365, excel, file

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Переодически вылетает выгрузка в Excel raniel DAX: Программирование 23 26.08.2011 19:07
Очень медленно происходит выгрузка отчетов в Excel Leopold Stotch DAX: Программирование 8 31.05.2011 13:47
Создание файла-xlsx (Excel 2007) из файла - xltx (шаблон Excel 2007) не работает 111andrei DAX: Программирование 2 11.11.2010 17:57
автоматическая выгрузка в Excel из SpreadSheet 11 NetBus DAX: Программирование 11 29.05.2007 17:56
Не идет выгрузка отчета в Excel. Слабая машина. asabin DAX: Администрирование 27 29.06.2005 10:48
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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