1 / 24

Отчет с типом

Отчет с типом «Двоичные данные» – средство формирования отчетности в любом формате (HTML, Excel, Word, pdf). Миндияров Илья Главный специалист Центра информационных технологий и консалтинга ПАРУС mindiyarov@parus.ru. Вопросы рассматриваемые в презентации.

hanley
Download Presentation

Отчет с типом

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Отчет с типом «Двоичные данные» – средство формирования отчетности в любом формате (HTML, Excel, Word, pdf) Миндияров Илья Главный специалист Центра информационных технологий и консалтинга ПАРУС mindiyarov@parus.ru

  2. Вопросы рассматриваемые в презентации • Особенности создания отчетов с типом “Двоичные данные” • Пример создания пользовательских отчетов в MS Word Для получения текста программ нажмитеправой кнопкой мыши на объекте “BinaryReports.zip” выберите “Копировать”, а затем в проводнике нажмите правую кнопку мыши и выберите “Вставить”.

  3. Зачем нужно Отчеты с типом “Двоичные данные” применяются если: Нужно сформировать отчет с типом данных отличных от стандартных типов отчетов ПП Парус 8, например, PDF, HTML, RTF, MS Word (презентация http://www.parus.com/docs/09_mindijarov_13122012.pps); Нужно, частично или полностью, формировать отчет НЕ на клиенте ПП Парус 8 (презентация http://www.parus.com/docs/imindiyarov_20130725.ppsx); Предоставить пользователю произвольные файлы из других информационных систем.

  4. Особенности написания отчета Отчеты с типом “Двоичные данные” всегда: Основываются на процедуре PL/SQL. Имеют входной числовой параметр с типом привязки “Идентификатор процесса”. Данные, которые будут переданы клиенту должны быть записаны в таблицу FILE_BUFFER. Если необходимо вызывать отчет из разделов, то нужно выполнить “Загрузить из файла…” и указать любой файл ненулевой длины. Пример отчета: CREATE OR REPLACE PROCEDURE UDO_P_SAMPLE_BREPORT ( NPROCESS IN NUMBER --Идентификатор процесса ) IS c clob; begin dbms_lob.createtemporary(c,true,dbms_lob.call); dbms_lob.append(c,'Hello world!'); insert into FILE_BUFFER (IDENT, FILENAME, DATA, run_cmd) values (NPROCESS, '.txt', C, null); end ;

  5. Особенности написания отчета Особенности заполнения таблицы FILE_BUFFER В поле IDENT необходимо записывать “идентификатор процесса”; Если имя файла начинается с “.”, то на клиенте будет создано случайное имя файла; В поле DATA записываются данные с типом CLOB, либо в поле BDATA записываются данные с типом BLOB; Если в параметр RUN_CMD: записать NULL, то это будет запущено приложение, которое ассоциировано с расширением имени файла; записать ‘NULL’ (как строковую константу), то файл будет создан, но никакой команды на запуск выполнено не будет; Записатьимя исполняемого файла и символы ‘%1’, например, ‘some_program.exe /q -x %1’, то будет запущена указанная программа, символы %1 будут заменены на имя файла, который будет создан из полей BDATA или DATA.

  6. Особенности выполнения отчета Файлы создаются во временной папке пользователя (заданной в переменной окружения TEMP); Файлы не удаляются; Файлы создаются и выполняются по порядку, в зависимости от значения поля RN таблицы FILE_BUFFER;

  7. Установка примера Под пользователем SYS!Выполнить UnderSYS.sql Под администратором Парус 8!Выполнить UnderPARUS.sql Из папки “Пример” архива выполните UDO_P_CHANGEFIO_RPT.sql Добавьте пользовательский отчет с типом “Двоичные данные” У этого пользовательского отчета выполните действие “Загрузить из файла…” в качестве параметра укажите файл ФАМИЛИЯ.xml из папки “Пример” архива

  8. Установка примера Настройте образцы приказов и образцы пунктов приказов

  9. Демонстрация примера Создадим приказ о смене фамилии Ивановой на Петрову

  10. Демонстрация примера На вкладке пункт укажем 2 основания. Примечание: переход на новую строку осуществляется нажатием <Ctrl>+Enter

  11. Демонстрация примера Печатаем отчет

  12. Демонстрация примера Откроется MS Word

  13. Программная реализация примера Откроется MS Word и наберем текст приказа

  14. Программная реализация примера В свойствах документа добавим текстовые свойства как показано на скриншоте

  15. Программная реализация примера Вставляем поля в документ. Сохраняем документа как “XML – документ Word 2003” На скриншоте показаны коды полей

  16. Программная реализация примера Обратите внимание на константу TABLE_REASONS в отличии от PRSG_EXCEL таблицы идут по номерам в шаблоне, а не по именам

  17. Программная реализация примера Загружаем файл отчета

  18. Программная реализация примера Загружаем файл отчета

  19. Программная реализация примера Выбираем данные по отмеченным записям Обратите внимание вставляем разрывы страниц для НЕ первой записи

  20. Программная реализация примера Устанавливаем значения полей

  21. Программная реализация примера Поскольку оснований в приказе может быть несколько, то надо работать с таблицами. Удаляем единственную строку второй таблицы (с 1 строки по 1 строку) UDO_PKG_WINWORD.DELETE_TABLEROW(TABLE_REASONS, 1, 1); Добавляем в конец второй таблицы строку столько раз сколько строк в основании приказа. Поскольку каждая добавленная строка содержит поле 'REASON‘, то у метода SET_DOCPROPERTY указываем третий параметр nROW. UDO_PKG_WINWORD.SET_DOCPROPERTY('REASON', trim(s), nROW); То, что мы сначала удалили строки таблицы 2 ничего не значит nROW := UDO_PKG_WINWORD.APPEND_TABLEROW(TABLE_REASONS, 1, 1); APPEND_TABLEROW берет XML-кодстрок таблицы из оригинального шаблона

  22. Программная реализация примера Сохраняем новый XML – документ. Передаем на выполнение клиенту обычным образом Обратите внимание, что не обязательно в параметре run_cmd указывать‘winword.exe %1’

  23. Программная реализация примера Метод SHOWTABLEDEBUG позволяет понять как размечен оригинальный документ, какой порядковый номер имеют таблицы и строки в документе. Т – номер таблицы R – номер строки С – номер ячейки

  24. ВОПРОСЫ

More Related