Текущее время: Сб, авг 02 2025, 14:36

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 09:49 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, фев 10 2009, 20:43
Сообщения: 80
Пол: Мужской
Здравствуйте уважаемые программисты! Подскажите пожалуйста ...

При выводе формуляра SMARTFORMS с неопределённым количеством страниц, необходимо определить общее количество страниц в формуляре, обработать полученное значение (добавить число n ... )и вывести на экран ... При считывании sfsy-jobpages получаем текущий номер страницы ... Как быть ?

Заранее спасибо ...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 10:42 
Специалист
Специалист

Зарегистрирован:
Чт, мар 22 2007, 14:40
Сообщения: 142
Пол: Мужской
не много не понял вопроса.

вы хотите печатать в smartform е номера страниц со смещением номера ( оригинальный номер)+n ?
или же после вывода формы, хотите в своей программе получить выведенное кол-во страниц и вывести на экран не в форме а просто на экран ??

по переменным которые доступны для вывода в smartform
SFSY-PAGE page number/number of pages
SFSY-FORMPAGES Total number of form pages
SFSY-JOBPAGES Total number of pages of print job

но они реально заполняются только в конце вывода формы. (т.к при выводе данных программа не знает уместит она контент на текущей странице или нет и если не умещает то увеличивает счетчик переменных),
и использовать для смещение нумерации их не получиться.

после вывода SF . возвращается значение выведенных страниц в переменную
DOCUMENT_OUTPUT_INFO-TDFPAGES.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 10:59 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, фев 10 2009, 20:43
Сообщения: 80
Пол: Мужской
Pokusannoe_Zubilo написал:
не много не понял вопроса.

вы хотите печатать в smartform е номера страниц со смещением номера ( оригинальный номер)+n ?
или же после вывода формы, хотите в своей программе получить выведенное кол-во страниц и вывести на экран не в форме а просто на экран ??


Я хочу печатать в smartform е номера страниц со смещением номера ...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 11:15 
Специалист
Специалист

Зарегистрирован:
Чт, мар 22 2007, 14:40
Сообщения: 142
Пол: Мужской
попробуйте так:

завести гл. переменную g_page

далее создайте отдельное окно на странице для печати номеров (не MAIN )
в нем:
в коде перед выводом g_page.

g_page = SFSY-PAGE + n.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 11:22 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, фев 10 2009, 20:43
Сообщения: 80
Пол: Мужской
Pokusannoe_Zubilo написал:
попробуйте так:
завести гл. переменную g_page
далее создайте отдельное окно на странице для печати номеров (не MAIN )
в нем:
в коде перед выводом g_page.
g_page = SFSY-PAGE + n.


Это понятно, проблема в том, что мне нужно выводить следующую строку:

Стр. SFSY-PAGE + n из SFSY-JOBPAGES + n


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 11:28 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
вам же кажется уже подсказали SFSY-FORMPAGES ? + еще одну глобальную переменную

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 11:35 
Специалист
Специалист

Зарегистрирован:
Чт, мар 22 2007, 14:40
Сообщения: 142
Пол: Мужской
movicom написал:

Это понятно, проблема в том, что мне нужно выводить следующую строку:

Стр. SFSY-PAGE + n из SFSY-JOBPAGES + n


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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 11:45 
Специалист
Специалист

Зарегистрирован:
Чт, мар 22 2007, 14:40
Сообщения: 142
Пол: Мужской
если не секрет, зачем это вам нужно ? может можно по другом подойти к решению задачи ?
подозреваю что вы выводите несколько фольмуляров в один spool и хотите иметь сквозную нумерацию или другая задача ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 12:30 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, фев 10 2009, 20:43
Сообщения: 80
Пол: Мужской
Pokusannoe_Zubilo написал:
если не секрет, зачем это вам нужно ? может можно по другом подойти к решению задачи ?
подозреваю что вы выводите несколько фольмуляров в один spool и хотите иметь сквозную нумерацию или другая задача ?


Выводимый формуляр является не отдельным документом, а продолжением другого, созданного без использования SAP. В этом документе есть некоторое количество страниц - (n). В формуляре который вывожу я, нумерация должна начинаться не с 1, а должна продолжать нумерацию ... поэтому передаю из программы количество страниц в первичном документе и хочу сложить его с количеством страниц в моём формуляре ...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 12:32 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, фев 10 2009, 20:43
Сообщения: 80
Пол: Мужской
ghost написал:
вам же кажется уже подсказали SFSY-FORMPAGES ? + еще одну глобальную переменную


Если бы это работало я бы не спрашивал ....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 12:41 
Специалист
Специалист

Зарегистрирован:
Чт, мар 22 2007, 14:40
Сообщения: 142
Пол: Мужской
Как вариант могу предложить попробовать следующий финт.

создайте еще один формуляр (допустим TMP_PAGES) который на входе будет имень переменную N
и исходя из нее формировать N пустых страниц. (думаю это вы легко знаете как сделать)

далее
перед выводом вашего основного формуляра.

вызывайте TMP_PAGES
с параметрами
CONTROL_PARAMETERS-NO_CLOSE = 'X' - говорит о том чтобы не закрывать спул.
и
GETOTF = 'X' т.е. не выводить формуляр в печать а получить его содержимое во внутреннюю табличку.

далее вызываете свой формуляр
с параметрами
CONTROL_PARAMETERS-NO_OPEN = 'X' т.е. не открывать заново спул а использовать уже открытый.

по идее SFSY-JOBPAGES счетчик у этих двух формуляров должен быть один и сквозной. и следовательно во втором формуляре он уже будет увеличен на N.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 13:25 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, фев 10 2009, 20:43
Сообщения: 80
Пол: Мужской
Спасибо за совет!!!! Это действительно поможет, только вот я не могу убрать экран выбора принтера, настроек печати, который вызывается при вызове формуляра. Не подскажете как это сделать?

Пробовал параметры CONTROL_PARAMETERS-DEVICE, CONTROL_PARAMETERS-NO_DIALOG - не помогает ...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 13:29 
Специалист
Специалист

Зарегистрирован:
Чт, мар 22 2007, 14:40
Сообщения: 142
Пол: Мужской
вызывайте первый формуляр с теми же параметрами что и ваш основной (копируйте от туда) за исключенем вышеказанных
+ NO_DIALOG='M'.

p.s. а какой DEVICE вы пытались задать ?

+ если у вас стоит USER_SETTINGS='X'
убедитесь что в параметрах пользователя заполнен принтер по умолчинию.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 13:40 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, фев 10 2009, 20:43
Сообщения: 80
Пол: Мужской
Pokusannoe_Zubilo написал:
вызывайте первый формуляр с теми же параметрами что и ваш основной (копируйте от туда) за исключенем вышеказанных
+ NO_DIALOG='M'.

p.s. а какой DEVICE вы пытались задать ?

+ если у вас стоит USER_SETTINGS='X'
убедитесь что в параметрах пользователя заполнен принтер по умолчинию.


А что означает параметр NO_DIALOG='M' ? Потому что у меня всё равно выводится окно параметров печати ...

В DEVICE пытался писать свой принтер, после этого вообще не происходит вызова формуляра ...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать количество страниц в формуляре SMARTFORMS?
СообщениеДобавлено: Вт, мар 31 2009, 13:46 
Специалист
Специалист

Зарегистрирован:
Чт, мар 22 2007, 14:40
Сообщения: 142
Пол: Мужской
movicom написал:
[

А что означает параметр NO_DIALOG='M' ? Потому что у меня всё равно выводится окно параметров печати ...

В DEVICE пытался писать свой принтер, после этого вообще не происходит вызова формуляра ...


опечатался

NO_DIALOG='X'.

оставьте DEVICE пустым
и USER_SETTINGS=' '

если вы указали GETOTF='X'
то формуляр и не должен печатать ни чего.
посмотрите возвращает ли он кол-во напечатанных страниц в DOCUMENT_OUTPUT_INFO.

а так же не забывайте обрабатывать EXPETIONS (при вызове FM формуляра) и сообщения об ошибке. там все будет написано если что не так.


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

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


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

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


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

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