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

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


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

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


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

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