03.07.2009, 08:41 | #1 |
Участник
|
Экспорт стандартных отчетов в Excel ?
Бухгалтерия просит экспорт отчетов в Excel, и в этом я с ними солидарен. Необходимая на мой взгляд функциональность.
Проблема не новая и скорее всего уже решенная в каком-то виде. Подскажите, какие есть инструменты решения, где посмотреть, где скачать? Может кто поделится, если не жалко? |
|
03.07.2009, 11:00 | #2 |
Участник
|
Обычно финансовые контроллеры против такого... Кроме как сохранить в *.htm и открыть в эксель стандартными методами особо ничего не сделать...
|
|
03.07.2009, 14:24 | #3 |
Участник
|
Неужели бесплатно никто не поделится?
|
|
03.07.2009, 16:21 | #4 |
Участник
|
В тематических форумах реклама и коммерция запрещена.
Коммерческие предложения разрешены только в разделе Рынок. Serg забанен на 7 дней, коммерческие предложения и их обсуждения удалены из этой ветки. |
|
03.07.2009, 16:27 | #5 |
Участник
|
Цитата:
Походите по ним, поищите. А также расширенный поиск с тегом "Законченный пример" и с ключевым словом Excel. в частности экспорт в шаблон excel Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Пример работы с Excel через COM Вывод изображения в Excel-отчёт. |
|
04.07.2009, 12:00 | #6 |
Участник
|
Цитата:
Сообщение от mazzy
Внизу есть рубрика "Похожие темы".
Походите по ним, поищите. А также расширенный поиск с тегом "Законченный пример" и с ключевым словом Excel. |
|
04.07.2009, 19:05 | #7 |
Участник
|
Для стандартных отчетов давным-давно вроде люди писали соотв. приблуду на базе наследника класса ReportOutputUser. В теме Экспорт отчета в Excel приводится краткое описание решения, а также рекомендации посмотреть PDFViewer и WebReportHTML.
|
|
04.07.2009, 20:41 | #8 |
Участник
|
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 |
Участник
|
а я вам про это и ответил.
|
|
05.07.2009, 14:12 | #10 |
Участник
|
Поиск по тегу Законченный пример
законченный пример Цитата:
А вот замешивать в обычные тематические ветки скрытую или явную рекламу - действительно запрещено. См. Концепция независимого форума AXForum и Лицензионное соглашение |
|
|
За это сообщение автора поблагодарили: Boris22 (1). |
05.07.2009, 14:27 | #11 |
Участник
|
Спасибо за разъяснения, Сергей!
Я тут новенький. Ещё всего не знаю. А с утверждением, извиняюсь, поторопился. |
|
09.04.2010, 16:11 | #12 |
Участник
|
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 |
Участник
|
|
|
12.04.2010, 14:04 | #14 |
Участник
|
Смотрите - \Classes\ClassFactory\createViewer
Смотрите в качестве примера - \Classes\PDFViewer PS: хелп по классу ReportOutputUser кажется есть только в AX 3.0 Последний раз редактировалось Irv; 12.04.2010 в 14:09. |
|
12.04.2010, 14:16 | #15 |
Участник
|
И _http://forum.mazzy.ru/index.php?showtopic=2265&st=0 заодно.
|
|