SAPфорум.RU
https://www.sapboard.ru/forum/

Отчеты на основе шаблонов
https://www.sapboard.ru/forum/viewtopic.php?f=13&t=96231
Страница 1 из 1

Автор:  matik [ Ср, мар 28 2018, 14:16 ]
Заголовок сообщения:  Отчеты на основе шаблонов

Xml template toolkit
XTT поможет автоматизировать ваши отчеты

* Возьмите существующий отчет
* Используйте соответствующий редактор (MS Excel | Word или Adobe LiveCycle Designer) и замените некоторые его части маркерами, заключенными в {фигурные скобки}
* В Excel cвяжите формулы, диаграммы и сводные таблицы с этими маркерами
* В коде вызовите метод merge () для передачи всех данных, включая вложенные структуры, таблицы и деревья для передачи данных в шаблоне
* Воспользуйтесь одним из методов download () | send () | show () для соответствующего действия


Оглавление
примеры tr Z_XTT_INDEX
* Пример №01 Вывод простой структуры
* Пример №02 Вывод простой таблицы
* Пример №03 Вложенные блоки
* Пример №04 Типы данных и пост обработка Exce
* Пример №05 Деревья (группировка по полям)
* Пример №06 Деревья (на основе связи родитель дочерний)
* Пример №07 Вызов макроса и событие prepare_raw
* Пример №08 Дополнение ;direction=column
* Инструкция по установке

Ключевые особенности
Различные классы для разных целей:
* ZCL_XTT_EXCEL_XLSX – Книга Excel (.xlsx), Книга Excel с поддержкой макросов (.xlsm)
* ZCL_XTT_EXCEL_XML - XML-таблица 2003 (.xml)
* ZCL_XTT_WORD_DOCX - Документ Word (.docx), Документ Word с поддержкой макросов (.docm)
* ZCL_XTT_WORD_XML - Документ Word 2003 XML (.xml), Документ Word XML (.xml)
* ZCL_XTT_PDF - Adobe XML Form (.xdp)

Генерация отчетов без OLE:
* Сервер приложений SAP предоставляет готовый файл
* Никаких макросов и проблем безопасности
* Доступность фонового выполнения

Использование шаблонов:
* Отделение данных от ABAP кода (нет методов как cell-> set_bold (true) итд)
* Использование знакомого редактора как MS Word, MS Excel и Adobe LiveCycle Designer
* Не нужно быть гуру XML и генерировать XML самостоятельно
* Полное сохранение исходного форматирования документа
* Формирование сложных объектов отчетности, таких как сводные таблицы и диаграммы


Библиотека доступна по ссылке

Автор:  dev403k [ Ср, дек 26 2018, 17:34 ]
Заголовок сообщения:  Re: Отчеты на основе шаблонов

Добрый день.
Мы воспользовались вашими рекомендациями по заполнению шаблонов Word. Очень понравилась простота вывода.
Моя версия офиса 2016.
Проблема возникает при сохранении документа word в XML.
Что можете посоветовать/порекомендовать, если в файле XML фигурные скобки не определяются как спецсимвол. Т.е. моя переменная {R-VNAME} в файле XML выглядит вот так

Code:
<w:t>{</w:t>
…..
<w:t>R</w:t>
…..
<w:t>–</w:t>
…..
<w:t>VNAME</w:t>
…..
<w:t>}</w:t>
…..

Должна …<w:t>{R-VNAME}</w:t>…

Кто-нибудь сталкивался с такой проблемой? В моем случае программа не может найти переменную {R-VNAME} и заменить ее на нужную. Что касается вывода таблицы – там все конвертируется нормально.
Спасибо.

Автор:  matik [ Чт, дек 27 2018, 06:56 ]
Заголовок сообщения:  Re: Отчеты на основе шаблонов

Добрый день
да именно в word бывает такая проблема (excel и pdf нет)
она возникает от того что ворд разбивает {R-VNAME} на отдельные блоки вроде этого
Code:
<w:t>{</w:t>
те создает отдельные стили форматирования на казалось бы "цельную" строку {R-VNAME}
в 90% случаев решается копированием всего блока вместе с символами {} в блокнот -> Копированием текста из блокнота (уже без какого-либо форматирования)-> Обратной вставкой в ворд в тоже место (форматирование будет такое же куда будете вставлять текст)
когда не помогает открываю текст nodepad++
там ищу { и } удаляю все что по середине и прописываю все переменную вручную

спасибо за отзыв
рад буду помочь

последнее изменение: 19/04/2019
теперь эти 2 формата
Изображение
если встертять такой шаблон
Изображение
обработают его так
Изображение

спасибо Брат Мигель за совет

Автор:  xbusterx [ Чт, апр 18 2019, 21:38 ]
Заголовок сообщения:  Re: Отчеты на основе шаблонов

Добрый день! Интересный инструмент. Хотелось бы узнать, есть ли возможность выгрузки фото из системы в шаблон?
Спасибо за ответ.

Автор:  matik [ Пт, апр 19 2019, 06:32 ]
Заголовок сообщения:  Re: Отчеты на основе шаблонов

День добрый
прямой поддержки фото или двоичных данных нет

  • если фото в одном экземпляре можно его менять в .zip архиве Ms Office или в любом другом формате (те вставить любое фото в шаблон и его менять его рантайм, к примеру в header для разных БЕ)
    Изображение
    скормить классу CL_ABAP_ZIP xstring из IR_CONTENT->* и обратно присвоить CL_ABAP_ZIP->save( )
  • для фото которое должно повторяться несколько раз (те оно в internal table) только ZCL_XTT_EXCEL_XML и ZCL_XTT_WORD_XML
    и с шаблоном не все так просто
    Изображение
    . . . base64 encoded data here заменить дополнение {;type=as_is} те передать string уже в готовом base64 (увы в MS редакторе шаблон уже не откроешь после этого)
    про дополнения типов подробнее тут
    Пример №04 Типы данных и пост обработка Excel и про сам XML 2003

PS
есть мысль сделать {;type=base64} для xstring но как сделать декларативно в шаблоне пока не представляю

Автор:  AntonSikidin [ Пт, апр 19 2019, 19:22 ]
Заголовок сообщения:  Re: Отчеты на основе шаблонов

matik написал:
Добрый день
да именно в word бывает такая проблема (excel и pdf нет)
она возникает от того что ворд разбивает {R-VNAME} на отдельные блоки вроде этого
Code:
<w:t>{</w:t>
те создает отдельные стили форматирования на казалось бы "цельную" строку {R-VNAME}
в 90% случаев решается копированием всего блока вместе с символами {} в блокнот -> Копированием текста из блокнота (уже без какого-либо форматирования)-> Обратной вставкой в ворд в тоже место (форматирование будет такое же куда будете вставлять текст)
когда не помогает открываю текст nodepad++
там ищу { и } удаляю все что по середине и прописываю все переменную вручную



я тоже решал эту проблему и решил, нужно нормализовать документ после загрузки

https://github.com/AntonSikidin/zcl_doc ... class.abap

метод normalize_key, только я еще метки привожу к верхнему регистру, вам это скорее всего не нужно.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/