Всплывающие формы помогают пользователям получить дополнительную информацию, связанную с полем формы или ячейкой таблицы, не переходя никуда с текущей формы. Элементы управлени формы или ячейки в таблице, позволяющие вызывать формы с наведением, помечаются оранжевым квадратиком в левом верхнем углу (см. рис. 1). При наведении указателя мышки на такое поле формы или ячейку в таблице появляется маленькая иконка прикрепленного документа, по нажатию на которую отображается всплывающая форма.
Пользователи имеют возможность включать/выключать механизм всплывающих форм. Для этого необходимо вызвать окно настроек пользователя и поставить/убрать флажок в пункте "Включить формы с наведением".
Администратор имеет возможность включать/выключать механизм форм с наведением для конкретного веб-сервера. Для этого необходимо в менеджере серверов выбрать нужный веб-сервер и пройти в меню Configuration -> Web Runtime
. В секции Web Runtime
отметить флажок Show Popup(s)
.
В jas.ini данная настройка выглядит так:
[OWWEB]
SHOWPOPUP=True
Если в настройках веб-сервера (jas.ini) значение параметра InYourFaceError
установлено в FALSE
, формы с наведением не будут показываться, даже если ShowPopup
установлено в TRUE
.
Ассоциировать всплывающую форму с полем на форме или колонкой в таблице можно двумя путями: в специальных приложениях администрирования и при разработке приложения в конструкторе форм. Рекомендуется работать с назначением форм с наведением полям на форме или колонкам в таблице через приложения администратора P958973 - Работа с определениями функций
и P958974 - Работа с авторизациями функций
.
В приложении P958973 - Работа с определениями функций
регистрируется сама всплывающая форма (форма с наведением) в виде функции с уникальным именем. Необходимо, так же, указать элемент данных, при наведении на который будет показываться данная форма, само приложение и форму. Имена функий, включенных в стандартную поставку, начинаются с JDE. При регистрации всплывающей формы собственной разработки название ее лучше начинать с другого буквосочетания. Рекомендуется, так же, добавлять в конце имени алиас элемента данных.
В приложении P958974 - Работа с авторизациями функций
осуществляется назначение (или авторизация) зарегистрированной в приложении P958973
функции. В нем можно указать в какой среде, для какого пользователя или роли, на какой форме какого приложения для какого кода продукта какая функция формы с наведением используется. В полях "Имя формы", "Имя объекта" и "Код продукта" допустимо использование значение "*ALL". Именно так и заданы функции форм с наведением, поставляющиеся с Oracle JD Edwards EnterpriseOne.
Не смотря на то, что в приложении P958974
для поля "Код продукта" допустимо значение "*ALL", реально оно работает только начниая с версии ядра 9.1.4.1. До выхода ядра 9.1.4.1 необходимо было создавать для каждого кода продукта свою запись (именно в таком виде и поставляется система). По этому поводу существует Баг.
При добавлении/правке определения формы с наведением в приложении P958973
существует возможность запретить реакцию на наведение указателя мышки для конкретного элемента данных.
P958973
. Запрет реакции на наведение.P958974
.
Существуют случаи, когда не обойтись без "ручного" вызова формы с наведением из какого-либо приложения. Во-первых, когда форма с наведением обладает нестандартной структурой данных (параметры другого типа или их больше, чем предусмотрено для всплывающих форм), во-вторых, когда на форме существует более одного элемента управления, связанного с одним элементом данных, но несущего разные смысловые нагрузки, например элемент данных AN8 может представлять в одном месте сотрудника, в другом - клиента. Для "ручного" вызова формы с наведением используется конструктор форм:
Mouse Is Hovered
.Show Popup (Web Only)
, которая находится в секции General
.Show Popup (Web Only)
в обработчике события Mouse Is Hovered
.Формы с наведением или всплывающие формы, по сути своей, являются формами сообщений (Message Forms), в свойсвтах которых установлен флажок "Pop-up Form" (см. рис. 8).
После того, как отмечен флажок "Pop-up Form", все кнопки на ней становятся невидимыми, а форма выступает в качестве простого контейнера для элементов управления. Однако набор этих элементов не велик: Lablel, Text Block, Group Box и Image
. Поэтому информативная часть всех, поставляемых с системой форм с наведением, создается "вручную" методом генерации HTML содержимого (см. ниже фрагмент кода обработчика события Dialog is Initialized
формы с наведением W41700C
приложения P41700
).
0059 Convert Math_Numeric To String
VA evt_mnUTCTimeWithSeconds_AN8 -> BF mnMathNumeric01
VA evt_UniqueNumber_DL01 <- BF szString
0060 VA evt_szHTMLString_A030 = "<table cellpadding=0 cellspacing=0 width=375px> <tbody> <tr> <td> <TABLE id="
0061 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_1t cellpadding=0 cellspacing=0 style='z-index:100;position:relative;margin-right: -35px;cursor:pointer'><tbody><TR onclick='showContent("))
0062 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],concat([VA evt_UniqueNumber_DL01],",7,1,3)'><TD><img id="))
0063 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_1s src = '/jde/share/images/tab_start_a.png' /></TD> <TD id="))
0064 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_1m background = '/jde/share/images/tab_mid_a.png' align='center' valign='center' width=75> <a id="))
0065 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_1a class='popup_a' href='#' onclick='showContent("))
0066 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],concat([VA evt_UniqueNumber_DL01],",7,1,3)'>"))
0067 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],[TV Main])
0068 VA evt_szTempHTMLString_A030 = "</a></td> <TD style='z-index:50;position:relative' ><img id="
0069 VA evt_szTempHTMLString_A030 = concat([VA evt_szTempHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_1e src='/jde/share/images/tab_end_a.png' width=37 height=19/></TD> </TR></tbody></TABLE><td><TABLE id="))
0070 VA evt_szTempHTMLString_A030 = concat([VA evt_szTempHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_2t cellpadding=0 cellspacing=0 style='margin-right: -35px;z-index:0;position:relative;cursor:pointer'> <tbody><TR onclick='showContent("))
0071 VA evt_szTempHTMLString_A030 = concat([VA evt_szTempHTMLString_A030],concat([VA evt_UniqueNumber_DL01],",7,2,3)'><TD><img id="))
0072 VA evt_szTempHTMLString_A030 = concat([VA evt_szTempHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_2s src ='/jde/share/images/tab_start_n.png'/></TD><TD id="))
0073 VA evt_szTempHTMLString_A030 = concat([VA evt_szTempHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_2m background = '/jde/share/images/tab_mid_n.png' align='center' valign='center' width=93> <a id="))
0074 VA evt_szTempHTMLString_A030 = concat([VA evt_szTempHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_2a class='popup_b' href='#' onclick='showContent("))
0075 VA evt_szTempHTMLString_A030 = concat([VA evt_szTempHTMLString_A030],concat([VA evt_UniqueNumber_DL01],",7,2,3)'>"))
0076 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],[VA evt_szTempHTMLString_A030])
0077 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],[TV Process])
0078 VA evt_szTempHTMLString_A030 = "</a></td> <TD style='z-index:50;position:relative' ><img id="
0079 VA evt_szTempHTMLString_A030 = concat([VA evt_szTempHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_2e src='/jde/share/images/tab_end_n.png' width=37 height=19/></TD> </TR></tbody></TABLE><td><TABLE id="))
0080 VA evt_szTempHTMLString_A030 = concat([VA evt_szTempHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_3t cellpadding=0 cellspacing=0 style='margin-right: -20px;z-index:0;position:relative;cursor:pointer'> <tbody><TR onclick='showContent("))
0081 VA evt_szTempHTMLString_A030 = concat([VA evt_szTempHTMLString_A030],concat([VA evt_UniqueNumber_DL01],",7,3,3)'><TD><img id="))
0082 VA evt_szTempHTMLString_A030 = concat([VA evt_szTempHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_3s src ='/jde/share/images/tab_start_n.png'/></TD><TD id="))
0083 VA evt_szTempHTMLString_A030 = concat([VA evt_szTempHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_3m background = '/jde/share/images/tab_mid_n.png' align='center' valign='center' width=83 > <a id="))
0084 VA evt_szTempHTMLString_A030 = concat([VA evt_szTempHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_3a class='popup_b' href='#' onclick='showContent("))
0085 VA evt_szTempHTMLString_A030 = concat([VA evt_szTempHTMLString_A030],concat([VA evt_UniqueNumber_DL01],",7,3,3)'>"))
0086 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],[VA evt_szTempHTMLString_A030])
0087 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],[TV Sales Code])
0088 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],"</a></td> <TD style='z-index:50;position:relative' ><img id=")
0089 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_3e src= '/jde/share/images/tab_end_n.png' width=37 height=19/></TD></TR></tbody> </TABLE></td></tr></tbody></table>"))
0090 // Main Tab Contents
0091 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],"<div style='border: 2px solid #C2DFFF; WIDTH: 375px; HEIGHT: 100px;'><div id='")
0092 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],concat([VA evt_UniqueNumber_DL01],"_7_1'> <table width=100% height=70%><tbody>"))
0093 // Stock Type
...
0199 // Sales Code 5
0200 Retrieve DD Base Row/Column Heading For Languages
"SRP5" -> BF szDataItem
VA evt_szDDName_ALPH <- BF szDescriptionRow
SL LanguagePreference -> BF szLanguagePreference
0201 Get UDC
"SRP5" -> BF szDataDictionaryItem
"41" -> BF szSystemCode
"S5" -> BF szRecordTypeCode
VA evt_szSalesReportCode5_SRP5 -> BF szUserDefinedCode
SL LanguagePreference -> BF szLanguagePreference
VA evt_szUDCDescription_DL01 <- BF szDescription001
"1" -> BF cSuppressErrorMessage
0202 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],"<tr><td class='popup_ttlen'>")
0203 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],[VA evt_szDDName_ALPH])
0204 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],"</td><td class='popup_tdtan'>")
0205 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],[VA evt_szUDCDescription_DL01])
0206 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],"</td></tr>")
0207 //
0208 VA evt_szHTMLString_A030 = concat([VA evt_szHTMLString_A030],"</tbody></table></div></div>")
0209 Add Segment(FC Information, VA evt_szHTMLString_A030, <Default,Default,0,Default>, <No>, VA evt_iSegmentID_INT01)
Кроме упомянутой выше системной функции Show Popup (Web Only)
, применяющейся для вызова формы с наведением, существуют еще три системных функции, применяющиеся со всплывающими формами: [Grid] Get Hovered Row (Web Only)
- возвращает строку таблицы, над которой произошло событие наведения, [General] Get Collaborate (Web Only)
- генерирует HTML-блок, содержащий список контактов с адресами электронной почты для данного AN8 и [General] Set VCard
- генерирует ссылку на vCard.
Для того, чтобы форма с наведением могла вызываться автоматически (при соответствующих настройках в административных приложениях P958973
и P958974
), необходимо создать для нее структуру данных для передачи входных параметров, удовлетворяющую следующему условию: первые два параметра должны быть строковыми и обладать достаточной длиной для принятия соответствующих значений. В первый параметр помещается алиас элемента данных, связанный с элементом управления на форме или колонкой в таблице, для которых определено событие наведения; во второй параметр структуры данных формы помещается значение этого поля формы или ячейки таблицы (см. рис. 9).
Как уже говорилось выше, информация на форме с наведением создается путем генерации HTML-блока в обработчике события Dialog is Initialized
формы. В принципе, существует несколько стандартных приемов, облегчающих формирование этого HTML-блока. Рассмотрим их подробнее. На рис. 10 представлен пользователський интерфейс всплывающей формы.
Для создания вкладок на форме с наведением руководствуйтесь несколькими принципами:
<div>
. Если вкладка неактивна, то в стиле тега <div>
прописывается атрибут display: none
.showContent()
.Для отображения на форме с наведением необходимого изображения, связанного с сотрудником, товаром, поставщиком и т. д., следуйте следующим правилами:
Image
.[General] Set Default MOImage
. Это изображение должно быть прикреплено к записи в соответствующей таблице в качестве медиа-объекта. Кроме того, выводится изображение, помеченное как изображение по-умолчанию (к записи в таблице можно прикрепить неограниченное количество изображений).На форме с наведением можно разместить ссылку на визитную карточку в формате vCard для дальнейшего прикрепления к сообщению электронной почты. Для этого воспользуйтесь системной функцией [General] Set VCard
.
Система поставляется с несколькими готовыми всплывающими формами: