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

ZCL_DOCX_CLASS замена ZWWW для WORD
https://www.sapboard.ru/forum/viewtopic.php?f=13&t=97431
Страница 1 из 1

Автор:  AntonSikidin [ Сб, мар 09 2019, 18:34 ]
Заголовок сообщения:  ZCL_DOCX_CLASS замена ZWWW для WORD

Преимущества:
для работы не требуется установленный офис, отсюда следует что отчеты можно формировать в фоне и потом куда-нибудь отправлять почтой, открывается в офисе и опенофисе, формируется на стороне сервера, нельзя случайно испортить отчет не в тот момент скопировав текст в буфер обмена.


Исходники, инструкции , и примеры здесь https://github.com/AntonSikidin/zcl_docx .

Возможно что-то пойдет не так, варианта 2:
1) моя ошибка
2) вы сделали что-то не правильно, для проверки мне нужна тестовая программа которая заполняет данные и шаблон, чтобы выяснить что идет не так и почему.

Автор:  AntonSikidin [ Ср, мар 13 2019, 21:22 ]
Заголовок сообщения:  Re: ZCL_DOCX_CLASS замена ZWWW для WORD

переписал инструкцию на языке приближенном к человеческому, на не человеческом в папке examples_old

Автор:  AntonSikidin [ Пн, фев 10 2020, 17:17 ]
Заголовок сообщения:  Re: ZCL_DOCX_CLASS замена ZWWW для WORD

Обновил инструмент, в общем случае теперь можно редактировать шаблон с помощью вкладки "Developer" и ничего более если вам не нужно ничего кроме переменных и таблиц.

если понадобится более сложный документ чем переменные и таблицы, то в инструкции пошагово все описано.

https://github.com/AntonSikidin/zcl_docx

Автор:  AntonSikidin [ Вт, апр 28 2020, 22:04 ]
Заголовок сообщения:  Re: ZCL_DOCX_CLASS замена ZWWW для WORD

Best way to create Microsoft Word docx from abap

сделал 3 версию, выкинул лишнее, меньше действий руками

исходники, примеры, ридми https://github.com/AntonSikidin/zcl_docx
видео как сделать свой собственный документ https://www.youtube.com/watch?v=iScstHjoQ4U

Автор:  bdmalex [ Ср, апр 29 2020, 00:12 ]
Заголовок сообщения:  Re: ZCL_DOCX_CLASS замена ZWWW для WORD


формируется на стороне сервера,


...
В какой директории он сохраняется, "по умолчанию" ..?

Автор:  AntonSikidin [ Ср, апр 29 2020, 13:43 ]
Заголовок сообщения:  Re: ZCL_DOCX_CLASS замена ZWWW для WORD

если вот так

Code:
zcl_docx3=>get_document(
    iv_w3objid    = 'ZDOCX_EXAMLE' " name of our template, obligatory
*      iv_on_desktop = 'X'           " by default save document on desktop
*      iv_folder     = 'report'      " in folder by default 'report'
*      iv_path       = ''            " IF iv_path IS INITIAL  save on desctop or sap_tmp folder
*      iv_file_name  = 'report.docx' " file name by default
*      iv_no_execute = ''            " if filled -- just get document no run office
*      iv_protect    = ''            " if filled protect document from editing, but not protect from sequence
                                   " ctrl+a, ctrl+c, ctrl+n, ctrl+v, edit
    iv_data       = gs_templ_data  " root of our data, obligatory
*      iv_no_save    = ''            " just get binary data not save on disk
    ).


то на рабочем столе в папку 'report'

а вот так никуда не сохраняется,
Code:
DATA
       : lv_document TYPE xstring  " variable to hold generated document, can be omitted
       .

*first case:  send document as attachment

lv_document = zcl_docx3=>get_document(
    iv_w3objid    = 'ZDOCX_EXAMLE'
    iv_data       = gs_templ_data
    iv_no_save    = 'X'   ).


будет в переменной lv_document

Автор:  bdmalex [ Ср, апр 29 2020, 15:43 ]
Заголовок сообщения:  Re: ZCL_DOCX_CLASS замена ZWWW для WORD

Меня больше интересовал вариант с заполнением iv_path...и как я понимаю документ тогда сохраняется на серверной стороне...

Автор:  AntonSikidin [ Ср, апр 29 2020, 17:35 ]
Заголовок сообщения:  Re: ZCL_DOCX_CLASS замена ZWWW для WORD

bdmalex написал:
Меня больше интересовал вариант с заполнением iv_path...и как я понимаю документ тогда сохраняется на серверной стороне...

не оно сохранялось по пути на машине пользователя, но если нужно сохранять на сервер, то нужно заменить пару строчек.

Цитата:
cl_gui_frontend_services=>gui_download( EXPORTING bin_filesize = lv_bytecount
filename = lv_path
filetype = 'BIN'
CHANGING data_tab = lt_file_tab
EXCEPTIONS
OTHERS = 1
).


заменить на

Code:

  OPEN DATASET  lv_path FOR OUTPUT IN BINARY MODE.
  IF sy-subrc NE 0 .
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

TRANSFER  rv_document TO  lv_path .

CLOSE DATASET  lv_path .

и подправить слеши в lv_path


либо ничего не менять, вызвать вот так
Code:
DATA
       : lv_document TYPE xstring  " variable to hold generated document, can be omitted
       .

*first case:  send document as attachment

lv_document = zcl_docx3=>get_document(
    iv_w3objid    = 'ZDOCX_EXAMLE'
    iv_data       = gs_templ_data
    iv_no_save    = 'X'   ).


а потом lv_document сохранять уже куда пожелаете, пользователю, на сервер, можно сразу письмом отправить куда нибудь.

Автор:  Crik [ Ср, сен 20 2023, 12:41 ]
Заголовок сообщения:  Re: ZCL_DOCX_CLASS замена ZWWW для WORD

Добрый день. Не подскажите как вывести в документе image?

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