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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.03.2008, 15:38   #1  
vc is offline
vc
Участник
Самостоятельные клиенты AX
Axapta Retail User
 
89 / 23 (1) +++
Регистрация: 03.06.2005
Цитата:
Сообщение от 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.
А вообще, обидно, что кажется нельзя добавить эту строку при генерации HTML файлов из любого отчета.
Если бы класс ReportOutput не был системным, достаточно было бы добавить одну строку в его метод printHTML
Если бы метод printHTML не был объявлен как final, можно было бы обьявить его наследник, добавить код подобный вашему в его унаследованный метод printHTML и
вызывать конструктор этого класса-наследника вместо конструктора исходного ReportOutput в методе newReportOutput класса SysPrintOptions.
А так мне что то способа не видится
Старый 28.03.2008, 15:49   #2  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от vc Посмотреть сообщение
Тут наверное где то должны быть проверки, что отчет сохраняется в файл, и формат отчета HTML.
Да, они длжны быть и есть, просто я упростил код для наглядности.
Цитата:
Сообщение от vc Посмотреть сообщение
А вообще, обидно, что кажется нельзя добавить эту строку при генерации HTML файлов из любого отчета.
Если бы класс ReportOutput не был системным, достаточно было бы добавить одну строку в его метод printHTML
Если бы метод printHTML не был объявлен как final, можно было бы обьявить его наследник, добавить код подобный вашему в его унаследованный метод printHTML и
вызывать конструктор этого класса-наследника вместо конструктора исходного ReportOutput в методе newReportOutput класса SysPrintOptions.
А так мне что то способа не видится
А что если добавить этот код в метод SysReportRun.Run()? По-моему должно получиться, надо попробовать.
Старый 28.03.2008, 15:57   #3  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
А что если добавить этот код в метод SysReportRun.Run()? По-моему должно получиться, надо попробовать.
Попробовал, работает однако
За это сообщение автора поблагодарили: vc (1).
Старый 28.03.2008, 16:11   #4  
vc is offline
vc
Участник
Самостоятельные клиенты AX
Axapta Retail User
 
89 / 23 (1) +++
Регистрация: 03.06.2005
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
Попробовал, работает однако
Спасибо, не туда копал, получается
Старый 28.03.2008, 16:00   #5  
Masel is offline
Masel
Участник
 
39 / 537 (18) +++++++
Регистрация: 19.09.2007
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
По-моему должно получиться, надо попробовать.
Да должно получиться. Единственное, что при этом эффект будет только лишь на предпросмотре (т.е. когда в первый раз выбираем канал вывода). В случае если мы уже вывели отчет на экран и пытаемся сохранить в html, то эффекта не будет, там аксапта просто не вызывает этот метод. Причем во втором случае используются одни закрытые классы и никак не впихнуть свой код перед выводом файла.

2Бриллиантик, а вообще если вручную вставить строчку то у вас нормально выводится? Может вообще не в этом дело.
Старый 28.03.2008, 16:38   #6  
vc is offline
vc
Участник
Самостоятельные клиенты AX
Axapta Retail User
 
89 / 23 (1) +++
Регистрация: 03.06.2005
Цитата:
Сообщение от Masel Посмотреть сообщение
В случае если мы уже вывели отчет на экран и пытаемся сохранить в html, то эффекта не будет, там аксапта просто не вызывает этот метод.
Блин, точно. У меня это самый частый сценарий использования. Сейчас вспомнил, что в свое время пытался найти какую то зацепку в SysReportRun при нем. И не нашел.
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблемы при экспорте в Excel ymv2000 DAX: Программирование 4 13.06.2007 06:51
Экспорт отчета в Excel Andronov DAX: Программирование 17 13.02.2006 16:13
проблемы с Excel Акавешка DAX: Программирование 6 27.10.2005 12:10
Печать отчета в Excel. Axapta 3.0 Fedr Kuzmich DAX: Функционал 2 19.05.2004 18:26
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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