powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Как не выпустить пользователя
7 сообщений из 7, страница 1 из 1
Как не выпустить пользователя
    #38323965
Как не выпустить пользователя из TEXT_ITEM пока его значение не будет удовлетворять некоторому условию? Например, равняться 3 или 33 или 333.
При этом у TEXT_ITEM LOV должен отсутствовать.
...
Рейтинг: 0 / 0
Как не выпустить пользователя
    #38324011
Можно, конечно просто разделить на ноль в WHEN-VALIDATE-ITEM триггере.
Но при этом возникают сообщения об ошибке. А хотелось бы, чтобы их не было...
...
Рейтинг: 0 / 0
Как не выпустить пользователя
    #38324023
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не выпускать,

в вышеупомянутом триггере, что-то вроде этого:
Код: plsql
1.
2.
3.
IF :BLOCK.TEXT_ITEM<>'3' OR :BLOCK.TEXT_ITEM IS NULL THEN 
	raise form_trigger_failure; 
END IF;
...
Рейтинг: 0 / 0
Как не выпустить пользователя
    #38324035
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в вашем случае так вернее
Код: plsql
1.
2.
3.
IF :BL.A NOT IN (3,33,333) OR :BL.A IS NULL THEN 
	raise form_trigger_failure; 
END IF;
...
Рейтинг: 0 / 0
Как не выпустить пользователя
    #38324069
Спасибо, mRdUKE

К сожалению, raise form_trigger_failure позволяет покинуть TEXT_ITEM.
Это для меня является удивительным.

Деление на ноль - оставляет в нём и не выпускает, но формирует текст с ошибкой.

Как такое может быть? какое из свойств формы следует проверить?
...
Рейтинг: 0 / 0
Как не выпустить пользователя
    #38324091
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действительно удивительно.
Как вариант ещё можно попробовать обрабатывать ошибку в триггерах ON-MESSAGE, ON-ERROR, ... :SYSTEM.MESSAGE_LEVEL = ...
Или вместо raise form_trigger_failure сделать go-item в этот же text_item, а чтобы обойти FRM-40737 читать тут
...
Рейтинг: 0 / 0
Как не выпустить пользователя
    #38324298
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не выпускатьК сожалению, raise form_trigger_failure позволяет покинуть TEXT_ITEM.
Это для меня является удивительным.

Здесь нет ничего удивительного :-)
Это просто невозможно!
Невозможно покинуть text_item если when-validate-item завершается вызовом ошибки, в частности raise form_trigger_failure
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Как не выпустить пользователя
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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