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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.07.2009, 08:41   #1  
ena_ax is offline
ena_ax
Участник
 
254 / 46 (2) +++
Регистрация: 06.12.2006
Экспорт стандартных отчетов в Excel ?
Бухгалтерия просит экспорт отчетов в Excel, и в этом я с ними солидарен. Необходимая на мой взгляд функциональность.

Проблема не новая и скорее всего уже решенная в каком-то виде.

Подскажите, какие есть инструменты решения, где посмотреть, где скачать?

Может кто поделится, если не жалко?
Старый 03.07.2009, 11:00   #2  
natterru is offline
natterru
Участник
 
129 / 26 (1) +++
Регистрация: 22.01.2007
Адрес: Санкт-Петербург
Обычно финансовые контроллеры против такого... Кроме как сохранить в *.htm и открыть в эксель стандартными методами особо ничего не сделать...
Старый 03.07.2009, 14:24   #3  
ena_ax is offline
ena_ax
Участник
 
254 / 46 (2) +++
Регистрация: 06.12.2006
Неужели бесплатно никто не поделится?
Старый 03.07.2009, 16:21   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
В тематических форумах реклама и коммерция запрещена.
Коммерческие предложения разрешены только в разделе Рынок.
Serg забанен на 7 дней, коммерческие предложения и их обсуждения удалены из этой ветки.
__________________
полезное на axForum, github, vk, coub.
Старый 03.07.2009, 16:27   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от ena_ax Посмотреть сообщение
Подскажите, какие есть инструменты решения, где посмотреть, где скачать?
Внизу есть рубрика "Похожие темы".
Походите по ним, поищите.

А также расширенный поиск с тегом "Законченный пример" и с ключевым словом Excel.

в частности
экспорт в шаблон excel
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент)
Пример работы с Excel через COM
Вывод изображения в Excel-отчёт.
__________________
полезное на axForum, github, vk, coub.
Старый 04.07.2009, 12:00   #6  
ena_ax is offline
ena_ax
Участник
 
254 / 46 (2) +++
Регистрация: 06.12.2006
Цитата:
Сообщение от mazzy Посмотреть сообщение
Внизу есть рубрика "Похожие темы".
Походите по ним, поищите.

А также расширенный поиск с тегом "Законченный пример" и с ключевым словом Excel.
Посмотрите внимательнее мой первый пост и название темы. Я спрашивал про экспорт стандартных отчетов Аксапта в Excel.
Старый 04.07.2009, 19:05   #7  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Для стандартных отчетов давным-давно вроде люди писали соотв. приблуду на базе наследника класса ReportOutputUser. В теме Экспорт отчета в Excel приводится краткое описание решения, а также рекомендации посмотреть PDFViewer и WebReportHTML.
Старый 04.07.2009, 20:41   #8  
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:08   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от ena_ax Посмотреть сообщение
Посмотрите внимательнее мой первый пост и название темы. Я спрашивал про экспорт стандартных отчетов Аксапта в Excel.
а я вам про это и ответил.
__________________
полезное на axForum, github, vk, coub.
Старый 05.07.2009, 14:12   #10  
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   #11  
Boris22 is offline
Boris22
Участник
Аватар для Boris22
 
9 / 11 (1) +
Регистрация: 03.07.2009
Спасибо за разъяснения, Сергей!
Я тут новенький. Ещё всего не знаю. А с утверждением, извиняюсь, поторопился.
Старый 09.04.2010, 16:11   #12  
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   #13  
player is offline
player
Участник
 
107 / 69 (3) ++++
Регистрация: 25.08.2007
Цитата:
Сообщение от Boris22 Посмотреть сообщение
. Начните с простого:
Тема простоты не раскрыта, например про собственную реализацию наследника класса ReportOutputUser, который и должен выводить в случае Viewer4...
Старый 12.04.2010, 14:04   #14  
Irv is offline
Irv
Участник
 
8 / 11 (1) +
Регистрация: 18.05.2006
Смотрите - \Classes\ClassFactory\createViewer
Смотрите в качестве примера - \Classes\PDFViewer

PS: хелп по классу ReportOutputUser кажется есть только в AX 3.0

Последний раз редактировалось Irv; 12.04.2010 в 14:09.
Старый 12.04.2010, 14:16   #15  
player is offline
player
Участник
 
107 / 69 (3) ++++
Регистрация: 25.08.2007
И _http://forum.mazzy.ru/index.php?showtopic=2265&st=0 заодно.
Теги
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, время: 12:25.