Текущее время: Вт, дек 23 2025, 00:41

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Печать нескольких формуляров вместе
СообщениеДобавлено: Пт, июн 05 2009, 10:45 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, сен 10 2008, 11:30
Сообщения: 95
Такая проблемма: формуляр (smartform) у меня должен быть распечатан несколько раз в LOOP-e с немого разными данными, и клиент не доволен, что несколько раз появляется диалог печати. Подскажите, пожалуйста, как это лучше всего осуществить:
показать диалог, чтобы пользователь выбрал принтер и все остальное, потом запихать в цикле все формуляры в один спул, а после цикла отправить весь этот спул на печать, на выбранное устройство.
Заранее спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Печать нескольких формуляров вместе
СообщениеДобавлено: Пт, июн 05 2009, 11:30 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Можно. Примерно так. Я привожу только значимые параметры для вашего вопроса. Остальное как обычно.
Code:
  IF первый формуляр.
    g_control_param-no_close  = 'X'.
  IF не первый формуляр.
    g_composer_param-tdnewid = space.
    g_control_param-no_open  = 'X'.
  ENDIF.
  IF последний формуляр.
    g_control_param-no_close = space.
    g_composer_param-tdfinal = 'X'.
  ENDIF.

  CALL FUNCTION функция печати формуляря
       EXPORTING
            control_parameters = g_control_param
            output_options     = g_composer_param
            user_settings      = space
       EXCEPTIONS
            formatting_error   = 1
            internal_error     = 2
            send_error         = 3
            user_canceled      = 4
            OTHERS             = 5.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Печать нескольких формуляров вместе
СообщениеДобавлено: Пт, июн 05 2009, 11:49 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, сен 10 2008, 11:30
Сообщения: 95
Спасибо.
Вопрос 1: диалог должен 1 раз выйти, на нем пользователь что-то выберет. Как сохранить то, что он выберет и запускать остальные формуляры с этими параметрами но уже без диалога?
Вопрос 2: Как отправить весь этот спул на печать после цикла, с выбранными в первом диалоге параметрами? (и как узнать номер спула?)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Печать нескольких формуляров вместе
СообщениеДобавлено: Пт, июн 05 2009, 11:59 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
По поводу диалога, если мне не изменяет память, то так и будет, как вы описали. Параметры запросит один раз.
Чтобы сразу печатать:
Code:
g_control_param-preview = space.
g_composer_param-tdimmed = 'X'.
g_composer_param-tdnoprev = 'X'.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Печать нескольких формуляров вместе
СообщениеДобавлено: Пт, июн 05 2009, 14:31 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, сен 10 2008, 11:30
Сообщения: 95
OK, спасибо за подсказку, буду пробовать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Печать нескольких формуляров вместе
СообщениеДобавлено: Пт, июн 05 2009, 19:32 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Я один раз делала вообще очень просто - пользователи вводили принтер прямо на selection screen и потом все формы сразу шли на печать. Фрагмент кода:

Code:
PARAMETERS: p_dest  TYPE tsp03-padest OBLIGATORY.

<...>

DATA: w_ctrlop TYPE ssfctrlop,
      w_output TYPE ssfcompop.

* Do not pop up the dialog box where user selects print options
  w_ctrlop-no_dialog = c_yes.

* Set printer
  w_output-tddest = p_dest.
  w_output-tdimmed = c_yes.
  w_output-tddelete = c_yes.

  CALL FUNCTION w_fm_name
    EXPORTING
      control_parameters = w_ctrlop
      output_options     = w_output
<...>
      user_settings      = space
    EXCEPTIONS
      formatting_error   = 1
      internal_error     = 2
      send_error         = 3
      user_canceled      = 4
      OTHERS             = 5.

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

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


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

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


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

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