Показать сообщение отдельно
Старый 04.02.2005, 10:02   #18  
lugachy is offline
lugachy
Участник
 
82 / 11 (1) +
Регистрация: 15.03.2004
Цитата:
Сообщение от lexa_q
В описании они предлагают перекрывать prompt() отчета для установки printJobSettings.setTarget/setViewerType. Это не гуд так как придется добавлять этот код во все отчеты.
Форма в которой выбирается канал вывода - она везде одна и та же - sysPrintForm.

Модифицируем методы::

buildSendToList(***)
{
***
***
//самый конец метода

formListItem = new FormListItem("Excel", imageListAppl_Print.image(#ImageExcel), PrintMedium::ViewerClass);
sendTo.addItem(formListItem);
}

changeTarget(***)
{
//В конец тала switch'a добавляем
case PrintMedium::ViewerClass :
element.setTargetSettings(#TAB_PRINTER, "Вывести отчет в Excel", PrintMedium::ViewerClass, true);
break;

И нет никакой необходимости править каждый отчет.
Если вам необходимо создать несколько каналов вывода (я, например, такой задачи еще не придумал), то это можно сделать с помощью дополнительного енума, и аксапту ломать не придется.

В качестве примера по реализации Viewer-класса могу порекомендовать посмотреть классы WebReportHTML и WebReportBase.

Скажите, вы уже определились конкретно что вы хотите получить?? В каком виде вы хотите получать отчеты в Эксель? Если у вас задача получать в экселе красивые отчеты, да еще и для заказчика - бросайте это дело. Или по крайней мере определитесь сначала что и как вы хотите получить.

Для заказчика лучше разработаь мастер отчетов, по типу штатного мастера отчетов, только для Экселя.

}