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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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