CftClub.ru
Клуб специалистов ЦФТ-Банк

OOXML выгрузка отчетов в PDF

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих
Предыдущая тема :: Следующая тема  
Автор Сообщение
stales
Участник
Неподтвержденный


Вступление в Клуб: 01.03.2018
СообщениеПт Мар 02, 2018 06:46   OOXML выгрузка отчетов в PDF Ответить с цитатой
Полезность: Нет оценки
Имеется отчет excel (основанный на шаблоне экселевском) , есть потребность открывать его в АРМе в PDF и передавать его во внешние системы(например для отправки по почте как вложение) также в PDF. При формировании отчета через [OOXML].[API_ORSA] (например putReport2Run)при установлении параметра p_extention=pdf, происходит формирование отчета с расширением pdf , но по факту это экселевский файл. Каким образом можно внутри операции формирования отчета через OOXML(используя сервер отчетов) преобразовать отчет в PDF и выводить на печать в АРМе и выгружать во внешние системы в PDF формате ?
Guest_SPb
Участник со стажем
Неподтвержденный


Вступление в Клуб: 27.02.2014
СообщениеПт Мар 02, 2018 12:21    Ответить с цитатой
Полезность: Нет оценки
Решал аналогичную задачу, но использовал пакет [EXCEL].
В валидаторе операции писал что-то вроде этого:
Код:

   if P_MESSAGE = 'VALIDATE' and P_INFO = 'OK' then
      -- Формирование отчёта
      if [EXCEL].F_CLICK then
         [EXCEL].F_CLICK := FALSE;
         [EXCEL].open_file(f_name == ::[SYSTEM_PARAMS].[GET]('PATH_PRINT_EXCEL')||'Имя_Шаблона.xlt', bVisible == FALSE);
         MakeReport(this);     -- генерация отчета
         v_EXCEL_FileName := v_Path||lpad(to_char(this.[DOCUMENT_NUM]),6,'0')||'_'||to_char(this.[DOCUMENT_DATE],'yyyy.dd.mm_hh24.mi')||'.xlsx';
         v_PDF_FileName := substr(v_EXCEL_FileName, 1, length(v_EXCEL_FileName)-5) || '.pdf';
         [EXCEL].Save_As(v_EXCEL_FileName);   -- запись полученных данных в EXCEL-файл
         [EXCEL].Save_Pdf(v_PDF_FileName);   -- запись полученных данных в PDF-файл
         [EXCEL].CloseAll;      -- закрытие EXCEL-таблицы с данными отчёта
      end If;
      v_Str := [EXCEL].Exec_Script(V_DEST_STR);
      if v_Str = 'DONE' then
         stdio.put_line_buf('<%shell_command start "title" "'||v_PDF_FileName||'"%>');   -- запуск внешнего приложения для просмотра PDF-файла
      end if;
stales
Участник
Неподтвержденный


Вступление в Клуб: 01.03.2018
СообщениеПт Мар 02, 2018 15:18    Ответить с цитатой
Полезность: Нет оценки
Спасибо большое , за комментарий, но насколько я понимаю [EXCEL] формирует файлы локально во временных каталогах, а мне бы хотелось получать файл в виде объекта в операции и перенаправлять его во внешние системы..(не искать файлик на компе у пользователя) вот и интересно можно на уровне сервера отчетов сделать преобразование excel->pdf ?
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru