Текущее время: Пт, июн 22 2018, 22:27

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Установка границ в языке FormCalc
СообщениеДобавлено: Вт, ноя 30 2010, 19:06 
Начинающий
Начинающий

Зарегистрирован:
Сб, ноя 01 2008, 16:51
Сообщения: 16
Здравствуйте!

Есть PDF-форма с таблицей. В ней программно нужно у одной ячейки некоторые границы сделать невидимыми, а другие - наоборот видимыми и жирными.
Столкнулся со следующей проблемой. При изменении свойств одной стороны, остальные 3 получают такие же значения. А если точнее, логика вообще не прослеживается...

Вот пример с отдельностоящим текстовым полем:
После такого кода границы не видны:
Code:
data.Subform1.NAME_tmp.border.edge[1].presence = "invisible"

data.Subform1.NAME_tmp.border.edge[0].presence = "visible"
data.Subform1.NAME_tmp.border.edge[0].thickness  = "0.02in" 


А после такого кода видны все:
Code:
data.Subform1.NAME_tmp.border.edge[0].presence = "visible"
data.Subform1.NAME_tmp.border.edge[0].thickness  = "0.02in"

data.Subform1.NAME_tmp.border.edge[1].presence = "invisible"


Как это работает, мне не понятно... Кто-нибудь может подсказать, как в FormCalc программно установить одну границу видимую (например, верхнюю), а другую (например, нижнюю) - невидимую?

Заранее благодарен!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Установка границ в языке FormCalc
СообщениеДобавлено: Ср, дек 01 2010, 16:44 
Начинающий
Начинающий

Зарегистрирован:
Сб, ноя 01 2008, 16:51
Сообщения: 16
Проблема несколько уточнилась: границы действительно устанавливаются по одной через массив. Если руками в дизайнере поставить у них разную толщину, то эти значения потом нормально выводятся через message box. Загвоздка в том, что, если поменять в скрипте тип линии или толщину, то на экране ничего не происходит.

Может кто-нибудь знает метод или функцию в FormCalc, которая бы перерисовывала элемент или содержимое контейнера или даже сразу всей страницы?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Установка границ в языке FormCalc
СообщениеДобавлено: Ср, дек 01 2010, 17:27 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 21:38
Сообщения: 364
Рискну предположить (сам не пробовал) это зависит от момента, в который запускается скрипт. Необходимо до отрисовки.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Установка границ в языке FormCalc
СообщениеДобавлено: Ср, дек 01 2010, 18:39 
Начинающий
Начинающий

Зарегистрирован:
Сб, ноя 01 2008, 16:51
Сообщения: 16
Ставил на инициализацию (она вроде до отрисовки) и на движение мыши. При движении мыши почему-то меняются все границы сразу, но не по-отдельности... В общем, адобовский дизайнер - одна из самых глючных сред, которые я видел. По количеству багов винда 95-я отдыхает
=(

Спасибо за совет! Попробую еще с событиями поиграться...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Установка границ в языке FormCalc
СообщениеДобавлено: Ср, дек 01 2010, 19:01 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 21:38
Сообщения: 364
можно еще ready:layout попробовать


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Установка границ в языке FormCalc
СообщениеДобавлено: Чт, дек 02 2010, 08:56 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, ноя 20 2008, 17:29
Сообщения: 241
Откуда: RU->DE
Пол: Мужской
vis_ABAPER написал(а):
почему-то меняются все границы сразу, но не по-отдельности...


Там же вроде ещё есть свойство что-то типа set together/individually. Сейчас к сожалению не могу посмотреть.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Установка границ в языке FormCalc
СообщениеДобавлено: Чт, дек 02 2010, 11:00 
Начинающий
Начинающий

Зарегистрирован:
Сб, ноя 01 2008, 16:51
Сообщения: 16
BaBuin написал:
Там же вроде ещё есть свойство что-то типа set together/individually. Сейчас к сожалению не могу посмотреть.


Есть в дизайнере. Для этого объекта, конечно же стоит "set individually", однако как её поменять программно я не знаю (чтобы удостовериться, что оно не переставилось каким-то чудом ) . Возможно, это только опция дизайнера...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Установка границ в языке FormCalc
СообщениеДобавлено: Чт, дек 02 2010, 12:29 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, ноя 20 2008, 17:29
Сообщения: 241
Откуда: RU->DE
Пол: Мужской
Вот тут что-то похожее обсуждают:
http://forums.adobe.com/thread/756937?d ... hread=true

Но у меня так тоже не заработало :(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Установка границ в языке FormCalc
СообщениеДобавлено: Пт, дек 03 2010, 11:13 
Начинающий
Начинающий

Зарегистрирован:
Сб, ноя 01 2008, 16:51
Сообщения: 16
У меня заработало, но опять не так, как надо....

Вот такой код:
Code:
data.TextField1::mouseEnter - (FormCalc, client)
$.ui.oneOfChild.border.getElement("edge", 2).color.value = "0,255,255"

меняет цвет, но опять-же не отдельной границы, а всех сразу и, главное, не внешней, а внутренней, т.е. не вокруг всего текстового поля, а вокруг области ввода. Т.е. подпись остается снаружи границы. Тип этой границы можно указать в дизайнере в свойстве "Appearance". Можно установить обводку для области ввода утопленную, плоскую или вообще убрать. НО! Нельзя менять её цвет. А в скриптинге - можно =) А внешнюю границу - вокруг подписи и области ввода можно менять в дизайнере, но нельзя в скрипте...

Чувствую, что разработчики перепутали эти границы и скриптинг работает не с той.

Вот вообще шикарная иллюстрация (может проверить любой). Создаем пустую форму, на неё кидаем один элемент типа "text Field". Нижнюю границу у него делаем сплошную, красного цвета. В редакторе скриптов на событие mouseEnter ставим такой код:
Code:
data.TextField1::mouseEnter - (FormCalc, client)

xfa.host.messageBox($.border.edge[2].color.value)
$.border.edge[2].color.value = "0, 255, 0"

Переходим на закладку "Preview PDF". Наводим мышку на поле. На экране появится "255, 0, 0". Закрываем message - на экране текстовый элемент с красной нижней границей и зеленой обводкой вокруг области ввода.
На экран выводится цвет ВНЕШНЕЙ границы, а изменяется цвет ВНУТРЕННЕЙ =)

В общем, я оставляю попытки побороть этот глюк... Спасибо всем за попытки помочь!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Установка границ в языке FormCalc
СообщениеДобавлено: Пт, дек 03 2010, 11:28 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, ноя 20 2008, 17:29
Сообщения: 241
Откуда: RU->DE
Пол: Мужской
Да уж.. тривиальная задача по сути. Обидно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Установка границ в языке FormCalc
СообщениеДобавлено: Чт, мар 03 2011, 13:28 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, янв 19 2009, 12:17
Сообщения: 71
Пол: Мужской
BaBuin написал:
Вот тут что-то похожее обсуждают:
http://forums.adobe.com/thread/756937?d ... hread=true

Но у меня так тоже не заработало :(


Спасибо за линк. А то как раз возникла похожая задача. А не заработало возможно потому, что если скрывать верхнюю границу у ячейки таблицы, то нужно также скрыть нижнюю границу у ячейки выше.
Сейчас как раз пытаюсь разобраться, как правильно обратиться к ячейке выше с этой целью.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Установка границ в языке FormCalc
СообщениеДобавлено: Вт, фев 06 2018, 10:08 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 03 2013, 11:57
Сообщения: 12
Столкнулся с подобной задачей по отображению границ поля. В свойствах все границы делал видимыми, когда скрывал определенную сторону работало как то некорректно,
проверял выводом на экран значений отображения границ.
Потом тупо прописал все стороны с нужными мне свойствами и все заработало.
ниже привел пример, вдруг кому понадобится. Да и если рисуете в таблице учитывайте что между ячейками верхняя и нижняя пересекаются, также правая и левая.
Code:
$.border.edge[0].presence = "hidden"   " верхняя
$.border.edge[1].presence = "visible"   " правая
$.border.edge[2].presence = "hidden"   " нижняя
$.border.edge[3].presence = "visible"    " левая


Либо тоже самое
Code:
      
$.border.getElement("edge",0).presence = "hidden"
$.border.getElement("edge",1).presence = "visible"
$.border.getElement("edge",2).presence = "hidden"
$.border.getElement("edge",3).presence = "visible"


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

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


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

Сейчас этот форум просматривают: BingBot


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

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