SAPфорум.RU https://www.sapboard.ru/forum/ |
|
ZWWW - ФМ для выгрузки данных в WORD, EXCEL https://www.sapboard.ru/forum/viewtopic.php?f=13&t=4880 |
Страница 139 из 161 |
Автор: | moi_n_eau [ Вт, май 30 2017, 18:19 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Как полезно писать на форуме, напишешь и сразу понимаешь как сделать. Выделила весь текст в колонтитуле и всё отлично заработало. До этого просто закладку ставила в колонтитуле. |
Автор: | aar [ Пт, июн 02 2017, 10:51 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Доброе утро. Есть ли возможность использовать один макрос из нескольких документов, но чтобы он был в одном файле, чтобы не править макросы во всех документах? Возможно, в идеале, параметризировать его. Спасибо. |
Автор: | Parazit [ Пт, июн 02 2017, 13:51 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
aar написал(а): Доброе утро. Есть ли возможность использовать один макрос из нескольких документов, но чтобы он был в одном файле, чтобы не править макросы во всех документах? Возможно, в идеале, параметризировать его. Спасибо. Как оказалось, есть! Я попробовал на своём примере ZWWW_SAMPLE_INVOICE.xls. Вытащил из него макрос форматирования объединённых ячеек MergeCellsAutofit, поместил его в отдельный файл Excel и сохранил как надстройку Excel (*.xla) с именем "Func.xla". В шаблоне ZWWW_SAMPLE_INVOICE.xls изменил вызов макроса, вместо Code: Call MergeCellsAutofit(Range("Область_формата"))" написалCode: Run "'" + Application.ThisWorkbook.Path + "\Func.xla'!MergeCellsAutofit", Range("Область_формата") А при вызове ФМ передаю файл с общими макросами "FUNC.xla" через таблицу IT_FILES. В результате он выгружается вместе с шаблоном и доступен для вызова его макросов. Code: wa_Files-File_Name = 'Func.xla'. wa_Files-File_Data = ... "двоичный файл типа xstring Insert wa_Files into table lt_Files. Call function 'ZLCL_OPENFORM' exporting Source_Name = lv_File_Name tables it_Values = lt_Val[] it_Files = lt_Files[]. Я проверял на ФМ 'ZLCL_OPENFORM', поэтому измененный шаблон ZWWW_SAMPLE_INVOICE.xls и файл общих макросов FUNC.xla у меня брались с локального компьютера. Вы можете сохранить файл общих макросов так же, как шаблон, в Web-хранилище (тр.SMW0), или любом другом, и стандартными функциями считывать его и преобразовывать в тип xstring для передачи через параметр it_Files. |
Автор: | Igor_34_rus [ Пн, июн 05 2017, 17:36 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Для, вывода динамической картинки в выходной документ, по совету который прочитал в этой ветке, выгружаю рисунок во временную папку и вставляю её в документ. При печати из web dynpro, разумеется это не работает. Программа использует "JAR". Подскажите как можно вставить картинку для web dynpro? Я так понимаю, что можно вставить её и макрос для вставки картинки в тот же JAR, и запустить его? |
Автор: | Akafellas [ Вт, июн 06 2017, 11:17 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Добрый день! zwww_openform ver2.90 при выгрузке больше 100 строк в it_values переменная в шаблоне заполняется только 1 раз, т.е заголовок в шаблоне не дублируется и соответственно не заполняется повторно. Это при загрузке через макрос. Если указать optimize = 9999999, всё отрабатывает как надо. |
Автор: | Parazit [ Вт, июн 06 2017, 11:36 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Igor_34_rus написал(а): Для, вывода динамической картинки в выходной документ, по совету который прочитал в этой ветке, выгружаю рисунок во временную папку и вставляю её в документ. При печати из web dynpro, разумеется это не работает. Программа использует "JAR". Подскажите как можно вставить картинку для web dynpro? Я так понимаю, что можно вставить её и макрос для вставки картинки в тот же JAR, и запустить его? Посмотрите пример ZWWW_MANY_LIST, обратите внимание на параметр IT_FILES и вызываемый макрос 'LoadPhoto'. |
Автор: | Parazit [ Вт, июн 06 2017, 11:55 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Akafellas написал(а): Добрый день! zwww_openform ver2.90 при выгрузке больше 100 строк в it_values переменная в шаблоне заполняется только 1 раз, т.е заголовок в шаблоне не дублируется и соответственно не заполняется повторно. Это при загрузке через макрос. Если указать optimize = 9999999, всё отрабатывает как надо. Вообще через макрос должно работать аналогично. Мой код не изменялся? Можете прислать шаблон и содержимое IT_VALUES для проблемного случая при заданном OPTIMIZE=0. А если сможете, то и текстовый файл, выгружаемый для макроса - поймать в отладке, пока не удалился. (мыло: misterxyz (сбк) mail (тчк) ru) А вообще, конечно, лучше обновить версию. |
Автор: | Igor_34_rus [ Ср, июн 07 2017, 11:00 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Parazit написал: Igor_34_rus написал(а): Для, вывода динамической картинки в выходной документ, по совету который прочитал в этой ветке, выгружаю рисунок во временную папку и вставляю её в документ. При печати из web dynpro, разумеется это не работает. Программа использует "JAR". Подскажите как можно вставить картинку для web dynpro? Я так понимаю, что можно вставить её и макрос для вставки картинки в тот же JAR, и запустить его? Посмотрите пример ZWWW_MANY_LIST, обратите внимание на параметр IT_FILES и вызываемый макрос 'LoadPhoto'. Спасибо, разобрался. Но получается в каждый шаблон нужно вставлять макрос. А он может меняться. Для SAP GUI я сделал выгрузку и вызов своего макроса, сразу после Вашего, через расширение. Можно сделать тоже самое в JAR? Или возможно приложить файл с макросом и вызвать его средствами Вашей библиотеки? (что-то вроде <ИмяФайла%ИмяМакроса>, судя по коду метода "RunUserMacros", он так не умеет, но легко реализуется) |
Автор: | Parazit [ Ср, июн 07 2017, 13:14 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Igor_34_rus написал(а): ...Спасибо, разобрался. Но получается в каждый шаблон нужно вставлять макрос. А он может меняться. Для SAP GUI я сделал выгрузку и вызов своего макроса, сразу после Вашего, через расширение. Можно сделать тоже самое в JAR? Или возможно приложить файл с макросом и вызвать его средствами Вашей библиотеки? (что-то вроде <ИмяФайла%ИмяМакроса>, судя по коду метода "RunUserMacros", он так не умеет, но легко реализуется) Приём, который я описал (через it_Files), а также упаковка в Java-программу (*.jar), были изначально сделаны для вывода в Web Dynpro. То есть, если отчёт работает в SAP GUI, то он точно также, без каких-то особых ухищрений, должен работать в Web Dynpro (Web GUI, BSP). Проблема у Вас возникла потому, что Вы изменили (расширили) мой код, тем самым нарушив концепцию. Насколько я понял, целью было создать общую библиотеку часто употребимых макросов и, в случае их доработки, не изменять кучу шаблонов. Это возможно реализовать не ломая код, а используя существующий механизм. Пример я как раз описал несколькими постами выше: viewtopic.php?p=564594#p564594 . То есть можно создать один общий файл для макросов (например, *.xla), реализующих какие-то сложные функции, а в самих шаблонах создать простейшие макросы, вызывающие общий макрос. |
Автор: | Igor_34_rus [ Ср, июн 07 2017, 15:57 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Parazit написал: Igor_34_rus написал(а): ...Спасибо, разобрался. Но получается в каждый шаблон нужно вставлять макрос. А он может меняться. Для SAP GUI я сделал выгрузку и вызов своего макроса, сразу после Вашего, через расширение. Можно сделать тоже самое в JAR? Или возможно приложить файл с макросом и вызвать его средствами Вашей библиотеки? (что-то вроде <ИмяФайла%ИмяМакроса>, судя по коду метода "RunUserMacros", он так не умеет, но легко реализуется) Приём, который я описал (через it_Files), а также упаковка в Java-программу (*.jar), были изначально сделаны для вывода в Web Dynpro. То есть, если отчёт работает в SAP GUI, то он точно также, без каких-то особых ухищрений, должен работать в Web Dynpro (Web GUI, BSP). Проблема у Вас возникла потому, что Вы изменили (расширили) мой код, тем самым нарушив концепцию. Насколько я понял, целью было создать общую библиотеку часто употребимых макросов и, в случае их доработки, не изменять кучу шаблонов. Это возможно реализовать не ломая код, а используя существующий механизм. Пример я как раз описал несколькими постами выше: viewtopic.php?p=564594#p564594 . То есть можно создать один общий файл для макросов (например, *.xla), реализующих какие-то сложные функции, а в самих шаблонах создать простейшие макросы, вызывающие общий макрос. Да, но в моём случае придётся переделывать шаблоны, часть из них без поддержки макросов. Смысл своего макроса как раз в том, чтобы не трогать шаблоны. Не будите добавлять вызов внешнего макроса в библиотеку? |
Автор: | Ark555 [ Вт, июн 13 2017, 10:43 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Добрый день. Заранее извиняюсь за неумение пользоваться поиском, но есть ли пример выгрузки картинки через ZWWW гр. ф-й, например, фотографии. |
Автор: | Parazit [ Вт, июн 13 2017, 11:18 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Ark555 написал(а): Добрый день. Заранее извиняюсь за неумение пользоваться поиском, но есть ли пример выгрузки картинки через ZWWW гр. ф-й, например, фотографии. Программа ZWWW_MANY_LIST. На алгоритм не обращайте внимания, смотрите содержимое IT_VALUES перед вызовом ФМ. Для упрощения анализа уменьшите количество выбираемых записей на селекционном экране до 2-3, там по умолчанию 1000. |
Автор: | Ark555 [ Вт, июн 13 2017, 13:21 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Parazit написал: Ark555 написал(а): Добрый день. Заранее извиняюсь за неумение пользоваться поиском, но есть ли пример выгрузки картинки через ZWWW гр. ф-й, например, фотографии. Программа ZWWW_MANY_LIST. На алгоритм не обращайте внимания, смотрите содержимое IT_VALUES перед вызовом ФМ. Для упрощения анализа уменьшите количество выбираемых записей на селекционном экране до 2-3, там по умолчанию 1000. А если у меня есть путь к файлу мне обязательно заполнять табличку it_PhotoFiles. Ведь макрос LoadPhoto и так загрузит этот файл в шаблон? |
Автор: | Parazit [ Вт, июн 13 2017, 13:37 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Ark555 написал(а): Parazit написал: ... Программа ZWWW_MANY_LIST. На алгоритм не обращайте внимания, смотрите содержимое IT_VALUES перед вызовом ФМ. Для упрощения анализа уменьшите количество выбираемых записей на селекционном экране до 2-3, там по умолчанию 1000. А если у меня есть путь к файлу мне обязательно заполнять табличку it_PhotoFiles. Ведь макрос LoadPhoto и так загрузит этот файл в шаблон? Нет, не обязателен, но желателен. Параметр IT_FILES создан для облегчения выгрузки дополнительных файлов, например, фотографий. Главная его особенность в том, что файлы выгружаются в тот же каталог, куда и шаблон, причём и в случаях работы через Web (Web Dynpro, Web GUI, BSP) или Java GUI. То есть, если однажды клиент захочет, чтобы отчёты работали из Web (а я с таким сталкивался), то у вас будет меньше проблем с переделкой отчетов. |
Автор: | ssv10 [ Сб, июн 24 2017, 16:44 ] |
Заголовок сообщения: | ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Подскажите, пожалуйста, как правильно реализовать подитоги. Клиент хочет видеть в таблице суммы в разрезе видов документа. В шаблоне у меня строка с именем lines, никаких группировок или подитогов нет. Хожу по выбранным позициям и заполняю поля: Code: setline 'lines' l_cnt '[belnr]' '' <line>-belnr. setline 'lines' l_cnt '[blart]' '' <line>-blart. setline 'lines' l_cnt '[bldat]' '' <line>-bldat. setline 'lines' l_cnt '[bwwrt]' '' <line>-bwwrt. setline 'lines' l_cnt '[hwaer]' '' <line>-hwaer. setline 'lines' l_cnt '[augbl]' '' <line>-augbl. setline 'lines' l_cnt '[augdt]' '' <line>-augdt. Как изменить код так, чтобы подитоги по bwwrt в разрезе blart появились в шаблоне? Смотрела пример - программу ZWWW_MANY_LIST, в которой есть строки с типом V SetLine NameList 'User' Num '' 'V' 'Function'. SetLine NameList 'User' Num '[DEPARTMENT]' '' it_Usr-DEPARTMENT. Пробовала добавлять у себя строку, но тогда в экселе просто пустая строка выводится. Code: setline 'lines' l_cnt '' 'V' 'blart'.
setline 'lines' l_cnt '[blart]' '' l_blart. setline 'lines' l_cnt '[bwwrt]' '' l_bwwrt. |
Страница 139 из 161 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |