Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемНаталия Селиверстова
1 Описание различных способов получения отчетов MS Excel в "ПАРУС - Предприятие 8" Миндияров Илья Главный специалист Центра информационных технологий и консалтинга ПАРУС
2 Комплексная система управления. Вопросы рассматриваемые в презентации Использование пользовательских приложений. Способы ускорения вывода данных в пользовательские приложения. Способы формирования отчета в формате XML на стороне сервера (отчет с типом "Двоичные данные"). Способ ускорения формирования уже существующих отчетов MS Excel.
3 Комплексная система управления. Использование пользовательских приложений. Использования переменных vararray Плюсы – минимальные переделки. Минусы – незначительное ускорение работы
4 Комплексная система управления. Использование пользовательских приложений. Метод дает хорошие результаты при выводе большого кол-ва столбцов
5 Комплексная система управления. Использование пользовательских приложений. Написание программы на Visual Basic использую PL/SQL Минусы – сложно писать, сложно сопровождать Плюсы – очень быстро работает, не нужно полностью перерабатывать пользовательское приложение. Пишем процедуру на PL/SQL следующим образом – большие статичные блоки кода на VB описываем функциями, которые возвращают clob
6 Комплексная система управления. Использование пользовательских приложений. Написание программы на Visual Basic использую PL/SQL Затем такие функции будем добавлять в программу следующим образом. Где С,С1,С2 - clob
7 Комплексная система управления. Использование пользовательских приложений. Написание программы на Visual Basic использую PL/SQL Пишем программу так, чтобы все данные из запроса попали в текст программы VB
8 Комплексная система управления. Использование пользовательских приложений. Написание программы на Visual Basic использую PL/SQL ВАЖНО! Размер одной процедуры на VBA не может превышать 64 Кб. Я разбивал процедуры по 500 записей
9 Комплексная система управления. Использование пользовательских приложений. Написание программы на Visual Basic использую PL/SQL Запишем все Clobы в один. Преобразуем Clob в Blob
10 Комплексная система управления. Использование пользовательских приложений. Написание программы на Visual Basic использую PL/SQL Преобразование Clob в Blob нужно если у вас кодировка БД отлична от CP-1251.
11 Комплексная система управления. Использование пользовательских приложений. Написание программы на Visual Basic использую PL/SQL В пользовательском приложении пишем следующий код.
12 Комплексная система управления. Использование пользовательских приложений. Написание программы на Visual Basic использую PL/SQL Чтобы такой код работал необходимо разрешение Доверять доступ к объектной модели проектов VBAДоверять доступ к объектной модели проектов VBA
13 Комплексная система управления. Отчеты с типом Двоичные данные Первый способ – формирование книги MS Excel на основе SQL запроса с последующим форматированием на стороне клиента Плюсы – быстро работает Минусы – сложно описывать форматирование
14 Комплексная система управления. Отчеты с типом Двоичные данные Первый способ – формирование книги MS Excel на основе SQL запроса с последующим форматированием на стороне клиента Форматирование можно описать либо в тексте процедуры отчета, либо загрузить и обработать любой clob/blob из штатного раздела (шаблоны документов, пользовательские приложения)
15 Комплексная система управления. Отчеты с типом Двоичные данные Первый способ – формирование книги MS Excel на основе SQL запроса с последующим форматированием на стороне клиента Значение NULL для поля RUN_CMD означает, что файл необходимо сохранить в каталоге %TEMP%, но НЕ вызывать никакую команду ОС Данная возможность появилась в релизе от
16 Комплексная система управления. Отчеты с типом Двоичные данные Первый способ – формирование книги MS Excel на основе SQL запроса с последующим форматированием на стороне клиента
17 Комплексная система управления. Отчеты с типом Двоичные данные Второй способ – на PL/SQL сгенерировать HTML, а затем HTML открыть в MS Excel. Плюсы – просто и быстро Минусы – нет формул, отформатированные числа являются строками, сложно сделать отчет на несколько листов.
18 Комплексная система управления. Отчеты с типом Двоичные данные Второй способ – на PL/SQL сгенерировать HTML, а затем HTML открыть в MS Excel.
19 Комплексная система управления. Отчеты с типом Двоичные данные Второй способ – на PL/SQL сгенерировать HTML, а затем HTML открыть в MS Excel. Данная возможность появилась в релизе от
20 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. Плюсы – быстрее невозможно Минусы – очень трудно исправлять печатную форму отчета 1 шаг Подготовить книгу Excel. Важно сразу хорошо подготовить все стили – затем это будет сложно исправить
21 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. 2 шаг Сохранить книгу в формате XML. Открыть книгу в XML-редакторе
22 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. 3 шаг Скопировать всю книгу в функцию, которая возвращает Clob
23 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. 4 шаг Удаляем атрибуты Удаляем атрибуты ss:ExpandedColumnCount ss:ExpandedRowCount в тэге Table Заменяем значение на переменную
24 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. 4 шаг Результат
25 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. 5 шаг Вырезаем в текстовый редактор тэг Row с данными
26 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. 6 шаг Вырезаем в новую функцию весь xml, который идет после тэга Row, где описан заголовок таблицы
27 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. 7 шаг Проверим работу отчета следующим образом
28 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. 7 шаг Результатом должна быть таблица без данных
29 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. 7 шаг Если что-то сделали не так, то появится подобное окно. Внимательно прочитайте указанный файл отчета, для исправления ошибки. Или выполните действия заново начиная с шага 2.
30 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. 8 шаг Проверим, что корректно формируется таблица
31 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. 8 шаг Результат
32 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. 9 шаг Подставляем поля курсора
33 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. Результат
34 Комплексная система управления. Отчеты с типом Двоичные данные Третий способ – на PL/SQL напрямую сгенерировать MS Excel. Сложности: Если в тэге Row с данными (либо в строках после отчета) встречается атрибут ss:Index, то необходимо в пустых строках добавить пробелы в любую ячейку, чтобы избавиться от ss:Index.
35 Комплексная система управления. Ускорение существующих отчетов MS Excel Силами ЦИТК Парус разработан пакет PL/SQL, который по данным, сгенерированным штатным пакетом Силами ЦИТК Парус разработан пакет PL/SQL, который по данным, сгенерированным штатным пакетом PRSG_EXCEL, создает XML формата OfficeML на сервере. Ограничения пакета: Никогда не будет реализован PRSG_EXCEL.EXECUTE_MACROS. Пока ТОЛЬКО реализованы методы PRSG_EXCEL.LINE_APPEND PRSG_EXCEL.LINE_CONTINUE PRSG_EXCEL.LINE_DELETE PRSG_EXCEL.CELL_VALUE_WRITE. Row с атрибутом ss:Index. Пока не умеет работать с шаблонами в которых встречается тэг Row с атрибутом ss:Index.
36 Комплексная система управления. Ускорение существующих отчетов MS Excel Пример использования Создать процедуру для двоичного отчета в которой вызвать процедуру существующего отчета MS Excel
37 Комплексная система управления. Ускорение существующих отчетов MS Excel Пример использования Вызвать Вызвать UDO_PKG_MSEXEL.PROCESS Входной параметр – шаблон существующего отчета сохраненный в формате XML Выходной параметр – готовый отчет MS Excel.
38 Комплексная система управления. Ускорение существующих отчетов MS Excel Пример использования Результат
39 Комплексная система управления. Ускорение существующих отчетов MS Excel Сложность: Когда сохраните шаблон в XML в текстовом редакторе необходимо проверить, что нет текста Row ss:Index. Если такой текст встретился добавьте в пустые строки пробелы в первую ячейку.
40 Комплексная система управления. Ускорение существующих отчетов MS Excel На существующих отчетах прирост производительности увеличивался в 9-10 раз.
41 Комплексная система управления. Ускорение существующих отчетов MS Excel Вопрос Нужно ли дорабатывать до полного соответствия с методами Нужно ли дорабатывать UDO_PKG_MSEXEL до полного соответствия с методами PRSG_EXCEL?
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.