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

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


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

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


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

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