Текущее время: Пт, авг 01 2025, 14:46

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


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

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


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

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