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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.07.2009, 19:05   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Для стандартных отчетов давным-давно вроде люди писали соотв. приблуду на базе наследника класса ReportOutputUser. В теме Экспорт отчета в Excel приводится краткое описание решения, а также рекомендации посмотреть PDFViewer и WebReportHTML.
Старый 04.07.2009, 20:41   #2  
Boris22 is offline
Boris22
Участник
Аватар для Boris22
 
9 / 11 (1) +
Регистрация: 03.07.2009
ena_ax, не ищите здесь готовых решений. По правилам этот форум не для рекламы, раздач и продаж готовых модификаций. Начните с простого:
1. Если под экспортом стандартных отчетов Вы подразумеваете вывод уже построенных отчетов во внутреннем формате:
На форме SysPrintForm повесить опцию для вывода (\Forms\SysPrintForm\Designs\Design\[Group:MainGroup]\[Tab:MainTab]\[TabPage:General]\[Group:TargetSpecificationGroup]\[Tab:TargetTab]\[TabPage:ExcelTab]).
В \Forms\SysPrintForm\Methods\ClassDeclaration прописать макрос #DEFINE.TAB_EXCEL(5)
В \Forms\SysPrintForm\Methods\buildFormRun прописать:
if (! clientSysPrintOptions.showOutputScreen())
{
formListItem = new FormListItem("Excel", imageListAppl_Print.image(#ImageClass), PrintMedium::ViewerClass);
sendTo.addItem(formListItem);

В \Forms\SysPrintForm\Methods\closeOk прописать:
if (clientSysPrintOptions.parmTarget() == PrintMedium::ViewerClass)
{
clientSysPrintOptions.parmViewerType(ReportOutputUserType::Viewer4);
}
В \Forms\SysPrintForm\Methods\changeTarget прописать:
case PrintMedium::File:
//,PrintMedium::ViewerClass:
element.setTargetSettings(#TAB_FILE, "@SYS53220", PrintMedium::File, true, false); //AX4

2. Если Вы хотите создать отчеты с нуля с выводом в Excel:
Определитесь, на основе какой технологии Вы собираетесь выполнять экспорт отчетов в Excel.
Если на основе COM - технологии, то Вам необходимо:
1. Если при выводе необходимо создавать файл Excel и произвольным образом выводить в файл данные: На основе классов ComOfficeDocument_RU и ComExcelDocument_RU, предварительно их доработав, создать классы потомки которые и будут выполнять пересчет и вывод данных в Excel.
2. Если при выводе необходимо воспользоваться заранее заготовленным шаблоном то Вам необходимо создать для этого потомок RunBaseBatch. Обеспечить интерфейс ввода начальных данных перекрытием методов dialog(), init(), queryRun(), run() Далее в созданном методе, например setInitialParameters() определяем наличие в указанном месте файла шаблона при помощи winapi инициализируем введенные параметры и выводим отчет при помощи созданного для этих целей метода\методов. Для пересчета и вывода данных необходимо создать класс потомок.
Старый 05.07.2009, 14:12   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Boris22 Посмотреть сообщение
ena_ax, не ищите здесь готовых решений.
Поиск по тегу Законченный пример
законченный пример

Цитата:
Сообщение от Boris22 Посмотреть сообщение
По правилам этот форум не для рекламы, раздач и продаж готовых модификаций.
По правилам этот форум позволяет и рекламировать, и продавать готовые модификации. Но только в одном разделе: в разделе Рынок.

А вот замешивать в обычные тематические ветки скрытую или явную рекламу - действительно запрещено.

См. Концепция независимого форума AXForum
и Лицензионное соглашение
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: Boris22 (1).
Старый 05.07.2009, 14:27   #4  
Boris22 is offline
Boris22
Участник
Аватар для Boris22
 
9 / 11 (1) +
Регистрация: 03.07.2009
Спасибо за разъяснения, Сергей!
Я тут новенький. Ещё всего не знаю. А с утверждением, извиняюсь, поторопился.
Старый 09.04.2010, 16:11   #5  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
case PrintMedium::ViewerClass:
element.setTargetSettings(#TAB_FILE, "@SYS53220",PrintMedium::ViewerClass, true, false); //AX4

Попробовал как в примере Boris22. (AX 4.0)
но при нажатии ОК:
Сообщение (16:07:24)
Ошибка времени выполнения: ReportOutputUser (Объект), метод endReport вызван с недопустимыми параметрами.

Трассировка стека

(C)\Classes\ReportOutputUser\endReport
(C)\Classes\ReportOutputUser\printViaClass
(C)\Classes\ReportViewer\printToTarget
(C)\Classes\ReportViewer\dialogAndPrint

Похоже что для
clientSysPrintOptions.parmViewerType(ReportOutputUserType::Viewer4);
не предусмотрено какого то вывода.

Можно ли как то выцепить данные из репорта (т.к. SysPrintForm запускается из него) и вывести их в Эксель в нормальном виде с одной шапкой и строками без пустых мест?
Старый 12.04.2010, 13:44   #6  
player is offline
player
Участник
 
107 / 69 (3) ++++
Регистрация: 25.08.2007
Цитата:
Сообщение от Boris22 Посмотреть сообщение
. Начните с простого:
Тема простоты не раскрыта, например про собственную реализацию наследника класса ReportOutputUser, который и должен выводить в случае Viewer4...
Теги
excel, отчет

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Классы для генерации отчетов в Excel Eldar9x DAX: Программирование 29 10.06.2011 13:18
EP2009. Не вижу стандартных отчетов на сервере отчетов. slava09 DAX: Администрирование 8 19.08.2008 08:03
Экспорт в Excel exodus DAX: Программирование 1 23.01.2008 09:35
Экспорт в Excel через WorkBooks.OpenText() Владимир Максимов DAX: Программирование 2 09.04.2004 17:16
Экспорт отчетов в Excel tolstjak DAX: Прочие вопросы 10 18.02.2004 09:12
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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