Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Поле с десятичной точкой / 8 сообщений из 8, страница 1 из 1
16.11.2010, 12:07
    #36959056
Galina Sh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле с десятичной точкой
Здравствуйте!
Помогите справиться со следующей ситуацией:
в некой форме одно из полей должно быть с десятичной точкой. При вводе значения в это поле через "," и переходе на другое поле - ошибку перехватываю и заставляю пользователя ввести через "." Но если сразу после ввода через "," нажать "выход" - то кроме моего сообщения о том, что разделителем должна быть точка возникает сообщение CLose form? и никак не могу от него избавиться. Подскажите, как добиться правильного ввода значения и можно ли как-то в момент ввода "," автоматически менять ее на "." Спасибо
...
Рейтинг: 0 / 0
16.11.2010, 12:19
    #36959089
Алымов Анатолий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле с десятичной точкой
Почему бы просто не поставить тип поля number?
...
Рейтинг: 0 / 0
17.11.2010, 20:03
    #36962584
Galina Sh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле с десятичной точкой
Поле то у меня Number, но надо контролировать пользователей - как вводят информацию. Введут через "," - наткнутся на английский вопрос при выходе.
...
Рейтинг: 0 / 0
18.11.2010, 05:05
    #36962971
Алымов Анатолий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле с десятичной точкой
перехватывать сообщения в on-error, on-message триггерах и выводить на русском
...
Рейтинг: 0 / 0
20.11.2010, 18:57
    #36967575
Galina Sh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле с десятичной точкой
у меня на блоке стоит триггер On-error
... if errror_code=50016 then
set_alert_property(...'В качестве разделителя должна быть точка')
raise form_trigger_failure; ...

А на форме Key_exit, где спрашиваю сохранять ли изменения
если выбрали сохранять - commit; exit_form;
если не сохранять - exit_form (no_commit);

И получается, если ввели значение через "," и нажали выход , то сначала появляется вопрос о сохранении данных, потом 2-ое сообщение , что разделителем должна быть точка,
а потом 3-е сообщение "Close this form?" которое никак не могу убрать.

Что делать?
...
Рейтинг: 0 / 0
22.11.2010, 10:01
    #36969012
OmegaMale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле с десятичной точкой
Galina Sh,

в Key_exit напишите что-то вроде такого:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
DECLARE
  button_yes 		PLS_INTEGER := ALERT_BUTTON1;
	button_cancel	PLS_INTEGER := ALERT_BUTTON3;
	response			PLS_INTEGER;
BEGIN
  
  IF :SYSTEM.FORM_STATUS = 'CHANGED' THEN
  	
  	response := SHOW_ALERT('save_changes_request');
  	
  	IF  response = button_cancel THEN
  		
  		RAISE FORM_TRIGGER_FAILURE;
  		
  	ELSIF response = button_yes THEN
      
       COMMIT_FORM;
      
       IF FORM_FAILURE THEN
         MESSAGE(ERROR_TEXT || 'Проверьте введенные данные!');
         RAISE FORM_TRIGGER_FAILURE;
       END IF;       
    ELSE
    	-- Do not save
    	NULL;   	
    END IF;
    
  END IF;
  
  EXIT_FORM(NO_VALIDATE);
END;
...
Рейтинг: 0 / 0
22.11.2010, 10:04
    #36969016
OmegaMale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле с десятичной точкой
Galina Sh,

То есть, нужно проверять успешность COMMIT_FORM.
...
Рейтинг: 0 / 0
25.11.2010, 12:10
    #36976525
Galina Sh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле с десятичной точкой
OmegaMale,

БОЛЬШОЕ СПАСИБО. Заработало!!!!!!!!!!!!!
Только я еще перед Commit добавила проверку данных

Enter;
if not form_success then
raise form_trigger_failure;
else
commit;
end if;

потому как не могла выйти без сохранения из формы с ошибочным вводом данных
Еще раз СПАСИБО!!!
...
Рейтинг: 0 / 0
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Поле с десятичной точкой / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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