|
![]() |
#1 |
Участник
|
Проблемы с выгрузкой отчета их HTML в Excel. Ax3.0
Всем привет. Прошу прощения, если сделала что- то не так, я здесь новичок.
![]() ![]() |
|
![]() |
#2 |
Axapta Retail User
|
Стандартными способами отчеты в Excel поместить нельзя, нужно самим писать отчеты.
Существует несколько способов. Например, сделайте поиск по форуму - ключевое слово - ComExcelDocument_RU
__________________
Романтик.. |
|
![]() |
#3 |
Участник
|
Цитата:
Стандартными способами отчеты в Excel поместить нельзя, нужно самим писать отчеты.
ПыСы. Здесь на форуме вчера да и сегодня 4-5 раз пыталась найти похожую тему- по поиску, но не нашла, есть схожие- но у них проблема в другом. |
|
![]() |
#4 |
Участник
|
xenikk на верное имел ввиду что, люди редко пользуются выгрузкой отчёта в html. И ещё реже дальнейшей конвертацией в excel.
Если нужен какой то отчёт заказывают программерам. Если просто данные копи-пастом в Excel через буфер. |
|
![]() |
#5 |
Участник
|
У меня это было связано с тем, что в заголовке HTML документа ( в теге <HEAD>)
Аксапта не добавляет строку <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"> Попробуйте вставить ее вручную в проблемном документе. Может быть количество страниц и не причем. |
|
![]() |
#6 |
Участник
|
Цитата:
xenikk на верное имел ввиду что, люди редко пользуются выгрузкой отчёта в html. И ещё реже дальнейшей конвертацией в excel.
Если нужен какой то отчёт заказывают программерам. VC А что эта строка дает? |
|
![]() |
#7 |
Участник
|
|
|
![]() |
#8 |
Участник
|
Я делел так:
X++: public void run() //метод run отчета { TextBuffer tb = new TextBuffer(); str path = element.printJobSettings().filename(); ; super(); tb.fromFile(path); tb.regularExpressions(false); tb.find('<head>'); tb.insert('\n<meta http-equiv=Content-Type content="text/html; charset=windows-1251">', tb.matchPos()+tb.matchLen()); tb.toFile(path); } Последний раз редактировалось Lucky13; 28.03.2008 в 13:59. |
|
![]() |
#9 |
Участник
|
Цитата:
Сообщение от Lucky13
![]() Я делел так:
X++: public void run() //метод run отчета { TextBuffer tb = new TextBuffer(); str path = element.printJobSettings().filename(); ; super(); tb.fromFile(path); tb.regularExpressions(false); tb.find('<head>'); tb.insert('\n<meta http-equiv=Content-Type content="text/html; charset=windows-1251">', tb.matchPos()+tb.matchLen()); tb.toFile(path); } А вообще, обидно, что кажется нельзя добавить эту строку при генерации HTML файлов из любого отчета. Если бы класс ReportOutput не был системным, достаточно было бы добавить одну строку в его метод printHTML Если бы метод printHTML не был объявлен как final, можно было бы обьявить его наследник, добавить код подобный вашему в его унаследованный метод printHTML и вызывать конструктор этого класса-наследника вместо конструктора исходного ReportOutput в методе newReportOutput класса SysPrintOptions. А так мне что то способа не видится |
|
![]() |
#10 |
Участник
|
Цитата:
Цитата:
Сообщение от vc
![]() А вообще, обидно, что кажется нельзя добавить эту строку при генерации HTML файлов из любого отчета.
Если бы класс ReportOutput не был системным, достаточно было бы добавить одну строку в его метод printHTML Если бы метод printHTML не был объявлен как final, можно было бы обьявить его наследник, добавить код подобный вашему в его унаследованный метод printHTML и вызывать конструктор этого класса-наследника вместо конструктора исходного ReportOutput в методе newReportOutput класса SysPrintOptions. А так мне что то способа не видится |
|
![]() |
#11 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: vc (1). |
![]() |
#12 |
Участник
|
|
|
![]() |
#13 |
Участник
|
Да должно получиться. Единственное, что при этом эффект будет только лишь на предпросмотре (т.е. когда в первый раз выбираем канал вывода). В случае если мы уже вывели отчет на экран и пытаемся сохранить в html, то эффекта не будет, там аксапта просто не вызывает этот метод. Причем во втором случае используются одни закрытые классы и никак не впихнуть свой код перед выводом файла.
2Бриллиантик, а вообще если вручную вставить строчку то у вас нормально выводится? Может вообще не в этом дело. |
|
![]() |
#14 |
Участник
|
Блин, точно. У меня это самый частый сценарий использования. Сейчас вспомнил, что в свое время пытался найти какую то зацепку в SysReportRun при нем. И не нашел.
|
|
![]() |
#15 |
Участник
|
Еще раз сорри. Я не особо разбираюсь именно в программировании. Вот метод run формы этого отчета:
void run() { element.buildFormInit(); if (!element.setSendToSelection(clientSysPrintOptions.parmTarget())) { if (!element.setSendToSelection(PrintMedium::Printer)) { element.setSendToSelection(PrintMedium::Screen); } } sendTo.setFocus(); element.lock(); super(); this.buildFormRun(); element.unLock(); if (BMMainControl::inAction()) element.closeOk(); } Мне надо вставлять сюда? Они чтото совсем не похожи |
|
![]() |
#16 |
Участник
|
Вставлять нужно в метод run самого отчета. Найти его можно так:
1. Найти этот отчет в меню (не в главном, а в пункте Menu AOT) 2. Посмотреть какой MenuItem этот пункт использует. 3. Скорее всего это и есть имя отчета, его поискать в Reports 4. Если такого нет, то найти такой MenuItem и посмотреть на какой отчет он ссылается. Если метода run с не будет его нужно создать и вставить в него приведенный код. |
|
![]() |
#17 |
Участник
|
Цитата:
Сервис / Параметры / Общие / Параметры Web документа / Кодировка / Кириллица (Windows)
Этот метод я нашла через "формы- название формы", там методы, среди них run- такой какой я выложила сюда, а если заходить в репорт- там есть методы но там нет метода run. Я че то ваще запуталась. Помогите мне, плиззз |
|
![]() |
#18 |
Участник
|
Вы в Экселе ищете? Вроде должно быть
|
|
![]() |
#19 |
Участник
|
Сорри за тупизм, а где надо искать? я искала в Аксапте. А надо было в Екселе? поняна, я нашла в Екселе, там стоит кириллица виндоуз.
Так мне никто не поможет, да? Последний раз редактировалось Бриллиантик; 28.03.2008 в 15:13. |
|
![]() |
#20 |
Участник
|
Masel, я просто не могу понять куда именно вставлять эту строку, я ее вставила, он говорит что какая то функция не обьявлена, а как ее обьявить- не знаю. В общем понять в чем проблема- не могу,уже несколько дней прошло, а решения я не вижу
|
|
Теги |
ax3.0 |
|
![]() |
||||
Тема | Ответов | |||
Проблемы при экспорте в Excel | 4 | |||
Экспорт отчета в Excel | 17 | |||
проблемы с Excel | 6 | |||
Печать отчета в Excel. Axapta 3.0 | 2 |
|