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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.02.2005, 13:27   #9  
lexa_q is offline
lexa_q
Участник
 
12 / 10 (1) +
Регистрация: 02.02.2005
Адрес: Спб
В общем, как я понял, подход такой:
I. Модифицируем форму SysPrintForm, чтобы она предлагала новый канал вывода - наш. В методе initSendTo() добавляем пункт в список
II. В SysPrintForm.closeOK() надо задать параметры генерации, хранимые в clientSysPrintOptions. 2 параметра:
1) clientSysPrintOptions.parmTarget(PrintMedium::ViewerClass)
это прводит к тому, что ReportRun() вызывает ClassFactory::createViewer().
2) clientSysPrintOptions.parmViewerType( *XXX*)
*XXX* передатся в createViewer как параметр outputType.
III. Модифицируем метод
<div class='XPPtop'>X++</div><div class='XPP'>ClassFactory::createViewer(PrintJobHeader jobsCursor, PrintJobPages pagesCursor, ReportOutputUserType outputType, ReportRun report=NULL)
{
   ...
   [color=:blue]case[/color] *XXX*: [color=:blue]return[/color] [color=:blue]new[/color] MyViewer();
}</div>

Внимание, вопрос! 8)
Перечисление ReportOutputUserType не расширяемо - в него не добавить свое значение *XXX* ! Там есть неиспользуемое значение Viewer4, но не хотелось бы на него завязываться. Я попробовал в качестве *XXX* передавать просто число 100, и ловить в createViewer() тоже 100. Работает. Но пахнет это плохо! Как быть? Верен ли описанный подход?
Тут народ в http://www.axforum.ru/forums/showthread.ph...32267#post32267 тоже делал свой канал, они наверняка в курсе. Но при попытке написать им письмо сайт просит обратиться к админу, т.е. к mazzy. Обращаюсь! Mazzy, ка им написать?
 


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

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

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