Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / OEBS персонализация формы и when-button-pressed / 7 сообщений из 7, страница 1 из 1
22.03.2012, 17:53
    #37718496
Irhen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OEBS персонализация формы и when-button-pressed
Долго гуглил, читал доки...

Правильно ли я понимаю, что персонализацией невозможно отследить нажатие кнопки на форме?

Или возможны варианты?

Условием задачи предполагается, что саму форму изменять нельзя.
Форма стандартная, изменять ее не хотелось бы.
Необходимо по нажатию кнопки на форме выполнить проверку. Если результат отрицательный - не выполнять действие, назначенное кнопке.
Спасибо
...
Рейтинг: 0 / 0
22.03.2012, 18:42
    #37718636
Irhen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OEBS персонализация формы и when-button-pressed
...
Рейтинг: 0 / 0
22.03.2012, 20:26
    #37718751
Тупой Пух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OEBS персонализация формы и when-button-pressed
Irhen,

По ссылке методика внятно описана: через "Справка->Диагностика->Пользовательский код->Пользовательские события" включаешь отображение перехватываемых событий. Далее выполняешь действия на форме, и, если какое-то из событий подходит по твоей логике для выполнения проверки - вешаешь на это событие индивидуализацию. Не подходит ни одно - значит не судьба.
...
Рейтинг: 0 / 0
23.03.2012, 09:03
    #37719374
va_kochnev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OEBS персонализация формы и when-button-pressed
Irhen,
Иногда могут помочь следующие приемы:
1. Если по нажатию на кнопку происходит переход в другое окно. Например, в форме ввода заказов на приобретение по нажатию кнопки "Утвердить".
В этом случае можно повесить персонализацию на событие входа в данное окно(WHEN-NEW-ITEM-INSTANCE, WHEN-NEW-BLOCK-INSTANCE и т.п.). При попытке утверждения заказа на приобретение с помощью персонализации выполнял дополнительную проверку и в случае необходимости отключал кнопку "ОК" в окне утверждения, чтобы пользователь не смог продолжить утверждение заказа.

2. С помощью персонализации кнопка, на которую надо повесить дополнительную проверку, делается неактивной. Зато в меню "Сервис" или "Действия" добавляется новый пункт меню. В нем выполняется доп.проверка и запускается процедура, которая указана в триггере WHEN-BUTTON-PRESSED отключенной кнопки.
Для пользователя, конечно, инструкция работы с формой меняется, но иногда можно пойти на это, если другие способы не помогают.
...
Рейтинг: 0 / 0
23.03.2012, 11:43
    #37719675
Irhen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OEBS персонализация формы и when-button-pressed
va_kochnev,

Я как раз склоняюсь к 2-му варианту - с пунктом меню и отключением кнопки.
1-й пункт не подходит, поскольку по нажатию кнопки инициируются те же события, что и при открытии кнопки. То есть однозначно определить, что это имено нажатие кнопки не представляется возможным.

Спасибо всем.
...
Рейтинг: 0 / 0
23.03.2012, 15:27
    #37720250
crazy_hands
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OEBS персонализация формы и when-button-pressed
Irhen,

Еще есть кастомизация т.е. custom.pll. Справка->Диагностика->Пользовательский код->Пользовательские события и если есть там эта кнопка, то можно в custom.pll подвесить под нее код.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
procedure event(event_name varchar2) is
    form_name      varchar2(30) := name_in('system.current_form'); 
    block_name     varchar2(30) := name_in('system.cursor_block'); 
If(event_name='WHEN-VALIDATE-RECORD') Then
  		If(form_name='POXBWVRP') Then
  			If(block_name='NEW_DOCUMENT' And name_in('action.document_type')='RELEASE') Then
                                --Нажатие на кнопку
  				If(name_in('system.cursor_item')='NEW_DOCUMENT.OK') Then
...
Рейтинг: 0 / 0
23.03.2012, 15:53
    #37720312
Irhen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OEBS персонализация формы и when-button-pressed
crazy_hands,
спасибо
...
Рейтинг: 0 / 0
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / OEBS персонализация формы и when-button-pressed / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]