logo

24 июн. 2010 г.

BIP: просмотр XML-отчетов в Firefox

Если вы разрабатывали шаблоны для BI Publisher в виде XSL для вывода в Excel (с 2003 версии MS Office есть возможность сохранять Word/Excel документы в формате XML, соответственно, и открывать их "как родные"). То, наверняка, знаете, что при использовании браузера, отличного от IE, сформированный XML документ не открывается сразу в Excel.

К тому же много где стандартным браузером является не IE, а Mozilla Firefox.
Несправедливо из-за такой несуразицы лишать себя очень мощного средства вывода в Эксель.






Что примечательно, при экспортировании отчета такой проблемы нет.


Очевидно, что в момент нажатия кнопки «Экспорт» сервлет BI Publisher отсылает нам поток байтов отчета с content-disposition = attachment. Таким образом, в момент появления окна загрузки Файрфокса вы можете сами поставить в соответствие файлу программу его открывающую.

Итак, обработчики нажатия кнопок «Просмотр» и «Экспорт» немного отличаются.


Не буду вдаваться в подробности. Скажу лишь, что решения проблемки достаточно немного поправить javascript-библиотеку xdo.js



Код функции viewReport заменим на следующий:

function viewReport(ctxpath) {
var theForm = document.xdoRptForm;
theForm._xpt.value='0';

//jack carver start
if ( theForm._xf.value =='txml' ) return exportReport('xdoRptForm', theForm.action);
//jack carver end


if (theForm._xf.value=='analyze') return callServer(ctxpath + '/crosstab.jsp',true);
else if (theForm._xf.value=='html') return writeReport(ctxpath, 'xdoRptForm', true);
else return writeBinaryReport(ctxpath, 'xdoRptForm', false);
}


В итоге получаем устраивающее нас поведение BI Publisher для выводимых в XML-формате отчетов в браузере Mozilla Firefox:


2 комментария:

  1. Этот комментарий был удален автором.

    ОтветитьУдалить
  2. какой выход есть для аналогичной проблемы на BI 11 для Mozilla Firefox (а так же для некоторых версий IE)?

    ОтветитьУдалить