powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle forms - вопрос по форме (запрет изменений)
6 сообщений из 6, страница 1 из 1
Oracle forms - вопрос по форме (запрет изменений)
    #35228060
Kromka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всезнающий All, подскажи КАК.
Форма - табличная, отображается 10 строк.
Есть datablock, с кучей полей, одно из них пусть будет Status_id , и другое Status (остальные не трогаю).
Первое не видимое, второе - наоборот. Оба сидят на LOV, который на Record Group.
Набор LOV примерно таков
1 Введено
2 Утверждено
3 Отменено
4 Исполнено
По дефолту, сначала в эти поля пишется 1 и " Введено " соответственно. После - юзер может отредактировать все поля, но стоит такая задача -
"Если поле записано как " Утверждено ", то его можно в будущем изменить только на " Отменено " или " Исполнено "
Нутром понимаю, что нужно сравнить новое значение поля со старым, и в случае несоответствия выдать raise Form_Trigger_Failure; .
Но - в каком триггере и как это может выглядеть?
...
Рейтинг: 0 / 0
Oracle forms - вопрос по форме (запрет изменений)
    #35228120
AndreyArtemev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверку можно в триггере KEY-LISTVAL сделать.
Хотя лучше если запрос в лове написать так чтобы лишние варианты не показывались.
...
Рейтинг: 0 / 0
Oracle forms - вопрос по форме (запрет изменений)
    #35228854
Kromka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreyArtemevПроверку можно в триггере KEY-LISTVAL сделать.
Хотя лучше если запрос в лове написать так чтобы лишние варианты не показывались.
В лове пишется запрос? Наверное, ты имел в виду в рекорд-группе ?
Тогда его(запрос) надо делать зависимым...
У меня сейчас так выглядит
SELECT v.FLEX_VALUE_ID, V.FLEX_VALUE, V.DESCRIPTION
FROM FND_FLEX_VALUES_VL V
WHERE FLEX_VALUE_SET_ID =
(SELECT FLEX_VALUE_SET_ID
FROM FND_FLEX_VALUE_SETS VS
WHERE VS.FLEX_VALUE_SET_NAME = 'XX_STATUS')
AND ENABLED_FLAG = 'Y'
AND SUMMARY_FLAG = 'N'
Значение последней строки - честно не совсем понимаю? но дело не в этом.
У меня была идея, сделать как в триггерах на таблицу, типа
if (:NEW.STATUS_VALUE_ID <> :OLD.STATUS_VALUE_ID) and (:OLD.STATUS_VALUE_ID=2 and :NEW.STATUS_VALUE_ID=1) then raise Form_Trigger_Failure;
то есть - если меняется статус с "Утверждено" на "Введено".
Но я не знаю как это сделать в формсах.(((
...
Рейтинг: 0 / 0
Oracle forms - вопрос по форме (запрет изменений)
    #35228884
Apeldop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
create_group_from_query + Set_LOV_Property - т.е. создать запрос и зафигачить его в этот LOV, чтобы ненужные значения в принципе не выводились.
...
Рейтинг: 0 / 0
Oracle forms - вопрос по форме (запрет изменений)
    #35228890
AndreyArtemev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Запрос например такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT v.FLEX_VALUE_ID, V.FLEX_VALUE, V.DESCRIPTION
FROM FND_FLEX_VALUES_VL V
WHERE FLEX_VALUE_SET_ID =
(SELECT FLEX_VALUE_SET_ID
FROM FND_FLEX_VALUE_SETS VS
WHERE VS.FLEX_VALUE_SET_NAME = 'XX_STATUS')
AND ENABLED_FLAG = 'Y'
AND SUMMARY_FLAG = 'N'
and ( (:BLOCK.FLEX_VALUE_ID= 2  and v.FLEX_VALUE_ID!= 1 )
     or (:BLOCK.FLEX_VALUE_ID!= 2 ) )

2. Через KEY-LISTVAL там можно самому показывать LOV (функция SHOW_LOV ) и обрабатывать результат.

В любом случае недоступный (по логике) вариант лучше не выводить в список для выбора.
...
Рейтинг: 0 / 0
Oracle forms - вопрос по форме (запрет изменений)
    #35232541
Kromka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо обоим за мысли!!!
на KEY-LISTVAL повесил свой триггер, в котором собираю условную часть запроса (оказалась немного запутанная логика) и потом через Show_Lov выдаю нужное пользователю.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle forms - вопрос по форме (запрет изменений)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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