Текущее время: Сб, июн 28 2025, 08:21

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Вывод в один pdf нескольких документов с разрывом страницы между ними. Как?
СообщениеДобавлено: Вт, апр 29 2008, 08:54 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вс, сен 02 2007, 15:10
Сообщения: 670
Откуда: Moscow
Собственно это что-то типа массовой печати, но формироваться должен одна pdf-ка, на которой друг за другом через разрыв страницы выведены отдельные документы.

_________________
Если кризис ведет к очищению, то удар битой по голове должен вести к просветлению. (с) Я.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 29 2008, 09:59 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Если речь о выводе смартформ в PDF - то нет проблем. В цикле формируйте документы, выбрасывайте их в общую OTF-табличку, разделяя переходом на новую страницу, в конце вызов ФМ CONVERT_OTF_2_PDF - и все.

Upd: Combining Multiple Smartform Outputs Into One PDF File


Последний раз редактировалось John Doe Вт, апр 29 2008, 10:25, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 29 2008, 10:06 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вс, сен 02 2007, 15:10
Сообщения: 670
Откуда: Moscow
Использую на текущий момент для создания формуляра транзакцию sfp. Т.е. сам формуляр уже нарисован и быстро перестроиться на другой вариант не смогу.
Прим. Тем не менее спасибо за вариант. Скорее всего, буду пробовать его на следующих задачах.

_________________
Если кризис ведет к очищению, то удар битой по голове должен вести к просветлению. (с) Я.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 06 2008, 19:51 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, июн 01 2005, 19:32
Сообщения: 253
Откуда: Москва
Если уж вы взялись за Adobe Forms то никакого резона перепрыгивать "вниз" на Smart Forms нет. Adobe намного лучше и имеет куда больше возможностей по форматированию и созданию сложных документов (если не считать нескольких редких ситуаций, когда ABAP и доступ к БД нужен уже из самой формы).

Вопрос к вашей задаче: вам нужно выводить на отдельных страницах внутри одного PDF одинаковый по сути и форматированию формуляр (пример, 100 счетов-фактур разным клиентам) или все документы разные (пример, заказ, накладная, счет, счет-фактура, акт в одном PDFе)?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, май 12 2008, 11:33 
Начинающий
Начинающий

Зарегистрирован:
Пт, янв 18 2008, 12:06
Сообщения: 21
Аналогичный вопрос. Необходимо объединить N-ое количество экземпляров формуляра в один PDF-файл. Тоесть один формуляр, с разными данными. Пробовал объединять с помощью:
SFPOUTPUTPARAMS-BUMODE = 'X' (M)
вызывая N-раз call function fm_name
в теле 'FP_JOB_OPEN' ...... 'FP_JOB_CLOSE'.

В результате получается несколько PDF-файлов, а хотелось бы объединения в один файл с несколькими страницами.

Заранее благодарю за помощь


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, май 12 2008, 23:48 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, июн 01 2005, 19:32
Сообщения: 253
Откуда: Москва
agava написал(а):
Аналогичный вопрос. Необходимо объединить N-ое количество экземпляров формуляра в один PDF-файл. Тоесть один формуляр, с разными данными. Пробовал объединять с помощью:
SFPOUTPUTPARAMS-BUMODE = 'X' (M)
вызывая N-раз call function fm_name
в теле 'FP_JOB_OPEN' ...... 'FP_JOB_CLOSE'.

В результате получается несколько PDF-файлов, а хотелось бы объединения в один файл с несколькими страницами.

Заранее благодарю за помощь


В данном случае нужен другой подход.
Не нужно несколько раз вызывать в цикле call function.
Нужно вызвать один раз, но передать ему не одну запись, а сразу все (как бы вы это делали с таблицей позиций в заказе или фактуре, только на уровень выше).
Ну и, соответственно, цикл должен быть уже в самой форме по переданным записям и для каждой формируется отдельная страница (или несколько), после которых вставляется разрыв страницы.

Понятно?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 13 2008, 12:57 
Начинающий
Начинающий

Зарегистрирован:
Пт, янв 18 2008, 12:06
Сообщения: 21
Более менее понятно. Сейчас пробую данный подход, спасибо за помощь.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июн 17 2008, 16:25 
Ассистент
Ассистент

Зарегистрирован:
Чт, июн 08 2006, 07:39
Сообщения: 30
Добрый день, нельзя ли поподробнее рассказать про объединение нескольких документов PDF в одни файл с несколькими страницами.
Непойму какой цикл должен быть в самой PDF форме по переданным записям. Просто столкнулся этой же проблемой. Если можно то пример кода.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 18 2008, 08:48 
Специалист
Специалист

Зарегистрирован:
Пн, янв 14 2008, 10:33
Сообщения: 163
интересная тема, если прокатит не надо будет лепить кучу обработок в одиной форме.

Вот обнаружил в SFPOUTPUTPARAMS поле BUMODE (Режим объединения) значения в домене обнадеживают =)

..нашлась по "PDF BUMODE" всего одна ссылочка по теме:

https://www.sdn.sap.com/irj/sdn/go/port ... 6c727f8be1

"Only forms that are called within oneFP_JOB_OPEN -FP_JOB_CLOSE section can be bundled (do not close the job after each form). Forms Processing can only bundle documents that are part of oneOPEN/CLOSE section."

.. и кажется оно?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 18 2008, 09:50 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
b_e_s написал(а):
интересная тема, если прокатит не надо будет лепить кучу обработок в одиной форме.

Вот обнаружил в SFPOUTPUTPARAMS поле BUMODE (Режим объединения) значения в домене обнадеживают =)

..нашлась по "PDF BUMODE" всего одна ссылочка по теме:

https://www.sdn.sap.com/irj/sdn/go/port ... 6c727f8be1

"Only forms that are called within oneFP_JOB_OPEN -FP_JOB_CLOSE section can be bundled (do not close the job after each form). Forms Processing can only bundle documents that are part of oneOPEN/CLOSE section."

.. и кажется оно?
Разве? Насколько я понял из документа по ссылке, речь идёт об накоплении документов в пакет перед передачей в печать - оптимизация производительности, использования ресурсов и пр. Но не про получение одного документа из нескольких.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 18 2008, 16:17 
Специалист
Специалист

Зарегистрирован:
Пн, янв 14 2008, 10:33
Сообщения: 163
.. и правда не помогло =(
.. вместо нескольких страниц появился скролинг по нескольким документам, можно ли как-то объединить их в один?

Code:
*&---------------------------------------------------------------------*
*& Report  ZZ_TEST_PDF_MULTY
*&---------------------------------------------------------------------*

REPORT  zz_test_pdf_multy.

PARAMETERS:
  p_page TYPE i DEFAULT 2,
  p_row TYPE i DEFAULT 4.

END-OF-SELECTION.

  DATA:
    tb_itf TYPE tsftext,
    s_itf TYPE tline.

  DATA:
    c_fmname TYPE rs38l_fnam,
    s_outputparams TYPE sfpoutputparams,
    s_docparams TYPE sfpdocparams,
    s_formoutput TYPE fpformoutput,
    s_sfpjoboutput TYPE sfpjoboutput,
    c_page TYPE string,
    c_row TYPE string.

  CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
    EXPORTING
      i_name     = 'FP_TEST_00'
    IMPORTING
      e_funcname = c_fmname.

  s_outputparams-nodialog = 'X'.
  s_outputparams-device   = 'PRINTER'.
  s_outputparams-preview  = 'X'.
  s_outputparams-dest     = 'PDF'.
  s_outputparams-getpdf   = ' '.
  s_outputparams-title    = sy-title.
*  s_outputparams-bumode   = 'M'.

  CALL FUNCTION 'FP_JOB_OPEN'
    CHANGING
      ie_outputparams = s_outputparams
    EXCEPTIONS
      cancel          = 1
      usage_error     = 2
      system_error    = 3
      internal_error  = 4
      OTHERS          = 5.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  s_docparams-langu   = 'R'.
  s_docparams-country = 'RU'.

  DO p_page TIMES.
    MOVE sy-index TO c_page.
    REFRESH tb_itf.
    DO p_row TIMES.
      MOVE sy-index TO c_row.
      c_row = sy-index.
      CONCATENATE
          'page' c_page 'row' c_row
        INTO s_itf-tdline SEPARATED BY space.
      APPEND s_itf TO tb_itf.
    ENDDO.
    CALL FUNCTION c_fmname
      EXPORTING
        /1bcdwb/docparams  = s_docparams
        textlines          = tb_itf
      IMPORTING
        /1bcdwb/formoutput = s_formoutput
      EXCEPTIONS
        usage_error        = 1
        system_error       = 2
        internal_error     = 3.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
  ENDDO.

  CALL FUNCTION 'FP_JOB_CLOSE'
    IMPORTING
      e_result       = s_sfpjoboutput
    EXCEPTIONS
      usage_error    = 1
      system_error   = 2
      internal_error = 3
      OTHERS         = 4.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.


вот еще встретилось:
Combining Multiple Smartform Outputs Into One PDF file

https://www.sdn.sap.com/irj/sdn/go/port ... 4f26944450

но тут через Smartform делают а это не то.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 17 2008, 13:54 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
Тоже интересует данный вопрос .
Кто-нибудь что-нибудь нарыл по слиянию нескольких форм?

_________________
Sapere aude!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 17 2008, 14:12 
Специалист
Специалист

Зарегистрирован:
Пн, янв 14 2008, 10:33
Сообщения: 163
пока нет .. мне так никто нигде ничего не ответил =(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 17 2008, 16:57 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Делал таким образом массовую печать приказов в HR.
Данные в форму передаются в виде таблицы. В формуляре у корневой subform на закладке Accessibility в поле SubForm role выбираете Table.
После этого на закладке Object -> Binding выбираете ваш табличный параметр и ставите галку Repeat Subform for each Item, а на закладке Pagination в поле After выбираете Go To Next Page.

Минус - после всей пачки приказов лезет пустая страница, побороть руки не дошли.

_________________
С уважением, Сергей Королев


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 18 2008, 13:18 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
Сергей Королев написал:
Данные в форму передаются в виде таблицы. В формуляре у корневой subform на закладке Accessibility в поле SubForm role выбираете Table.
.

Спасибо за идею :D

_________________
Sapere aude!


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB