Формы Oracle не могут вводить текстовые поля в режиме запросов после перехода на OFM 12C

При вводе в формы Oracle в текстовом поле в режиме запроса все удаляется, как только я что-либо печатаю.

Такое поведение наблюдается только после перехода на OFM 12c и только в одной конкретной форме


person Atif    schedule 07.10.2019    source источник
comment
Понятия не имею, но - попробуйте перекомпилировать все это (Ctrl+Shift+K). Может быть, это поможет.   -  person Littlefoot    schedule 07.10.2019
comment
Пробовал, но тот же результат   -  person Atif    schedule 07.10.2019
comment
Всякий раз, когда я нажимаю на любое поле в фоновом режиме (проверено в файле трассировки), для обновления запроса some_field запускается. на 11г такого нет   -  person Atif    schedule 07.10.2019
comment
Извините, я не знаю, почему это происходит. Есть ли триггер в этом текстовом поле? Возможно, какой-то код Java?   -  person Littlefoot    schedule 07.10.2019
comment
Нет конкретного поля, но все поля в форме. Есть ли способ узнать, как этот запрос запускается?   -  person Atif    schedule 07.10.2019


Ответы (2)


Вероятно, в вашем коде есть что-то, что вы описали, однако учтите это.

Если весь текст выделен (например, синий), когда вы вводите поле, а затем вводите что-либо, существующий текст будет удален. Именно так работает любой пользовательский интерфейс. Выбранный текст должен быть отменен перед вводом, если вы хотите сохранить его.

Если вы не хотите, чтобы текст автоматически выделялся при входе в поле с помощью мыши, установите FORMS_SELECT_ON_CLICK=0

Обратите внимание, что работает только при использовании мыши для ввода поля. Дополнительные сведения см. в Руководстве по новым функциям Forms 12c.

https://www.oracle.com/a/tech/docs/oracleforms-1221-newfeatures.pdf

person MichaelJF    schedule 02.12.2019

Наконец-то я смог решить эту проблему. В режиме запроса есть свойство формы Режим блокировки, значение которого в 11g было Immediate, но после изменения значения на задержанное в 12c оно работает нормально.

person Atif    schedule 25.05.2020