Текущее время: Ср, июл 30 2025, 17:45

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: скрипт для PDF-формуляра
СообщениеДобавлено: Пн, фев 15 2010, 13:26 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, фев 15 2010, 13:14
Сообщения: 46
Откуда: Минск
Пол: Женский
Помогите советом.
Есть элемент типа сабформа5. и другой элемент типа Текстфилд9.
Нужно написать скрипт такой: если сабформа1 не находится на последней странице, то высота Текстфилд1 = 1 см.
Я пробую писать так
(событие layout:ready для элемента Sabform5)
if (xfa.layout.page(this) != xfa.layout,pageCount() )
{
TextField9.h = "1cm";
}

К сожалению, ничего не происходит


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: скрипт для PDF-формуляра
СообщениеДобавлено: Пн, фев 15 2010, 13:51 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, апр 05 2008, 22:12
Сообщения: 63
Пол: Мужской
1. xfa.layout,pageCount() - там наверное все-таки точка
2. уточните можно ли на layout:ready - менять элементы, возможно они там уже сформированы, возможно необходимо поставить что-то более раннее. - лучше уточните по курсу или адобовскому мануалу.
3. возможно нужно подробнее прописать путь к элементу - типа Sabform5->TextField9.
4. ну и не путать formcalc и java


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: скрипт для PDF-формуляра
СообщениеДобавлено: Пн, фев 15 2010, 15:15 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, фев 15 2010, 13:14
Сообщения: 46
Откуда: Минск
Пол: Женский
----- data.all.Subform5::ready:form - (JavaScript, client) -----------------------------------------

if( xfa.layout.page(this) != xfa.layout.pageCount() )
{
TextField9.h = "1cm";
}

попробовала изменить событие. скрипт не срабатывает по прежнему. причем, если условие удалить - высыта поля изменяется.
значит, проблема в определении номера страницы. Что же я пишу не так?
Попробовала написать
TextField9.rawValue = xfa.layout.page(this);
В поле вставляется значение -1


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: скрипт для PDF-формуляра
СообщениеДобавлено: Пн, фев 15 2010, 15:56 
Специалист
Специалист

Зарегистрирован:
Ср, апр 29 2009, 07:08
Сообщения: 197
Откуда: AUS RUSSLAND
Пол: Мужской
Only2611 написала:
Что же я пишу не так?
Попробовала написать
TextField9.rawValue = xfa.layout.page(this);
В поле вставляется значение -1

Если layout не готов, то он и не возвращает число страниц, как собственно говоря и номер текущей


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: скрипт для PDF-формуляра
СообщениеДобавлено: Пн, фев 15 2010, 16:24 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, апр 05 2008, 22:12
Сообщения: 63
Пол: Мужской
xfa.layout.page(this);
-> тут помойму надо передавать ссылку на видимый обьект как параметр, т.е. this.TextField9 попробуйте


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: скрипт для PDF-формуляра
СообщениеДобавлено: Пн, фев 15 2010, 16:43 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, фев 15 2010, 13:14
Сообщения: 46
Откуда: Минск
Пол: Женский
k1lc0m написал:
xfa.layout.page(this);
-> тут помойму надо передавать ссылку на видимый обьект как параметр, т.е. this.TextField9 попробуйте

попробовала. результат все тот же -1.
точно также если прописываю в layout ready
TextField9.rawValue = xfa.layout.page(this.TextField9);
поле остается пустым


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: скрипт для PDF-формуляра
СообщениеДобавлено: Пн, фев 15 2010, 16:46 
Специалист
Специалист

Зарегистрирован:
Ср, апр 29 2009, 07:08
Сообщения: 197
Откуда: AUS RUSSLAND
Пол: Мужской
Code:
xfa.layout.page(this);

Возвращает текущую страницу только в событии layout:ready, а не в form:ready. Если нужно изменить размер именно у последней сабформы5 (я так понимаю она в цикле выводится) то можно через массив обратиться


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: скрипт для PDF-формуляра
СообщениеДобавлено: Пн, фев 15 2010, 16:57 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, апр 05 2008, 22:12
Сообщения: 63
Пол: Мужской
получилось вот так - layout:ready, formCalc
Code:
if ($layout.page(ref($)) == $layout.pageCount()) then
   $.h   = "2in"
endif


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: скрипт для PDF-формуляра
СообщениеДобавлено: Пн, фев 15 2010, 17:27 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, фев 15 2010, 13:14
Сообщения: 46
Откуда: Минск
Пол: Женский
вобщем крутила-вертела и оказалось, что не отрабатывал скрипт изза ошибки в синтаксисе. я писала != а нужно было <>.
if( xfa.layout.page(this) <> xfa.layout.pageCount() )
{
TextField9.h = "1cm";
}
К сожалею, этот момент выяснила, а проблема осталась нерешенной.
Есть формуляр, в нем PageSet из двух страниц, на последней странице сделан колонтитул - два поля с данными внизу экрана.
и вот форма наполняется данными - и когда получается так, что форма наполнилась данными до самого нижнего края страницы - отрабатывает мой скриат, а потом добавляется еще эта последняя страница с колонтитулом. и мне нужно както последний элемент данных опустить пониже - так чтобы он попал на последннюю страницу с колонтитулом. Думала, если расширю размер текстового поля - то оно перескочит. но по событию layout:ready - последняя страница из пейджсета еще не добавилась - поэтому вся хитрость не удалась...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: скрипт для PDF-формуляра
СообщениеДобавлено: Пн, фев 15 2010, 17:37 
Специалист
Специалист

Зарегистрирован:
Ср, апр 29 2009, 07:08
Сообщения: 197
Откуда: AUS RUSSLAND
Пол: Мужской
Only2611 написала:
вобщем крутила-вертела и оказалось, что не отрабатывал скрипт изза ошибки в синтаксисе. я писала != а нужно было <>.
if( xfa.layout.page(this) <> xfa.layout.pageCount() )
{
TextField9.h = "1cm";
}
К сожалею, этот момент выяснила, а проблема осталась нерешенной.
Есть формуляр, в нем PageSet из двух страниц, на последней странице сделан колонтитул - два поля с данными внизу экрана.
и вот форма наполняется данными - и когда получается так, что форма наполнилась данными до самого нижнего края страницы - отрабатывает мой скриат, а потом добавляется еще эта последняя страница с колонтитулом. и мне нужно както последний элемент данных опустить пониже - так чтобы он попал на последннюю страницу с колонтитулом. Думала, если расширю размер текстового поля - то оно перескочит. но по событию layout:ready - последняя страница из пейджсета еще не добавилась - поэтому вся хитрость не удалась...

Попробуйте использовать Conditional Breaks на вкладке paginations, т.е. если понимаете, что последняя запись на этой странице. то делаете переход (break before) на вторую страницу


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: скрипт для PDF-формуляра
СообщениеДобавлено: Пн, фев 15 2010, 17:49 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, фев 15 2010, 13:14
Сообщения: 46
Откуда: Минск
Пол: Женский
ни разу не делала Conditional Breaks. чтото не соображу что там писать :oops:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: скрипт для PDF-формуляра
СообщениеДобавлено: Пн, фев 15 2010, 17:57 
Специалист
Специалист

Зарегистрирован:
Ср, апр 29 2009, 07:08
Сообщения: 197
Откуда: AUS RUSSLAND
Пол: Мужской
В Вашем случае нужен скрипт:) Чтобы определял, что текущая запись последняя(break before) или предпоследняя (break after), если у вас на сабформе 5 есть какой-то обязательный элемент, который всегда заполнен, то можно тупо:
Code:
Subform5[+1].FIELD1 == ""


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: скрипт для PDF-формуляра
СообщениеДобавлено: Пн, фев 15 2010, 18:09 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, фев 15 2010, 13:14
Сообщения: 46
Откуда: Минск
Пол: Женский
Кажется, conditional break мне не подходит. В хелпе пишут, что это связано с табличкой. а у меня нету никакой таблички. Есть сабформа - в ней набор полей. И вот если она опускается приблизительно до самого нижнего края страницы - то эта страница идет как обычная из PageSet, а потом добавляется еще чистая страница, на которой внизу колонтитул. Както нужно выявить, что сабформа опустилась слишком низко на странице - и перекинуть ее на следущую страницу.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: скрипт для PDF-формуляра
СообщениеДобавлено: Вт, фев 16 2010, 09:33 
Специалист
Специалист

Зарегистрирован:
Ср, апр 29 2009, 07:08
Сообщения: 197
Откуда: AUS RUSSLAND
Пол: Мужской
Правильно я понял, что у Вас только одна сабформа5, которая даже не выводится в цикле?но тогда каким образом она заполняется,или от чего зависит заполнение страницы?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: скрипт для PDF-формуляра
СообщениеДобавлено: Вт, фев 16 2010, 10:07 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, фев 15 2010, 13:14
Сообщения: 46
Откуда: Минск
Пол: Женский
в формуляре есть много разных элементов, шапка с полями, потом таблица с данными, а потом в конце идет сабформа - в ней несколько полей. Количество страниц фактически зависит от количества записей в таблице. На последней странице в формуляре должен быть выведен нижний колонтитул. Для этого я сделала PageSet из двух страниц, как уже писала.


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

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


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

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


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

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