powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Не вовремя появляется форма для ввода значений гибких полей
6 сообщений из 6, страница 1 из 1
Не вовремя появляется форма для ввода значений гибких полей
    #38702263
shurik_shink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В DataBlock 'MY_BLOCK' есть гибкое поле

При выполнении кода по нажатию кнопки
go_block('MY_BLOC');
Execute_Query(NO_VALIDATE);

Для первой записи блока появляется форма для ввода значений гибких полей, несмотря на то что не производится ни вставки ни обновления записи.


Подскажите, кто знает, - Как подавить появление формы?
...
Рейтинг: 0 / 0
Не вовремя появляется форма для ввода значений гибких полей
    #38702264
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shurik_shinkExecute_Query(NO_VALIDATE);
Интересно, что это за синтаксис такой NO_VALIDATE. Можно ссылку на доку?
Посмотрел в доке по 6i, там такого не было, что это значит. Просто интересно

shurik_shinkДля первой записи блока появляется форма для ввода значений гибких полей...
Ни с того ни с сего, форма для ввода значений гибких полей появится не может.

Глядя в хрустальный шар, я и то догадываюсь, где у Вас ошибка. Подозреваю, что просто Вы зачем-то гибкое поле сделали первым (или единственным) в блоке. Соответственно оно получает фокус ввода - появляется форма для ввода.
...
Рейтинг: 0 / 0
Не вовремя появляется форма для ввода значений гибких полей
    #38702280
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevshurik_shinkExecute_Query(NO_VALIDATE);
Интересно, что это за синтаксис такой NO_VALIDATE. Можно ссылку на доку?
Посмотрел в доке по 6i, там такого не было, что это значит. Просто интересно

Леонид,

NO_VALIDATE всегда было.
Назначение - если в блоке были изменения (status = 'CHANGED'), то отбросить все изменения и выполнить запрос.
Без NO_VALIDARE форма будет спрашивать что делать с изменениями.
Leonid Kudryavtsevshurik_shinkДля первой записи блока появляется форма для ввода значений гибких полей...
Ни с того ни с сего, форма для ввода значений гибких полей появится не может.

Глядя в хрустальный шар, я и то догадываюсь, где у Вас ошибка. Подозреваю, что просто Вы зачем-то гибкое поле сделали первым (или единственным) в блоке. Соответственно оно получает фокус ввода - появляется форма для ввода.

shurik_shink,

Леонид верно говорит. Видимо гибкое поле - первое куда перемещается курсор при GO_BLOCK.
...
Рейтинг: 0 / 0
Не вовремя появляется форма для ввода значений гибких полей
    #38702289
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел ЛузановNO_VALIDATE всегда было...
Честно полез в 6i Reference, там такого нет ))) (Forms Builder Reference, 6i, partNo A73074-01 страница 113 )
Мы всегда явно давали CLEAR_BLOCK, если нужно было изменения отменить.

Правда, нарвались на багу с Popup-Menu из-за чего у одного из заказчиков 3 тыс. записей разом из БД пропало ))), пришлось ручками восстанавливать и потом около месяца программу тестировать, что бы место сбоя отловить.
...
Рейтинг: 0 / 0
Не вовремя появляется форма для ввода значений гибких полей
    #38702410
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

По ходу это я перепутал.
Действительно, NO_VALIDATE это в CLEAR_BLOCK|FORM параметром передается.

А с синтаксисом execute_query(no_validate) все просто.
Первый параметр процедуры execute_query - числового типа данных.
А все эти NO_VALIDATE, ALL_RECORDS, ASK_COMMIT, и пр. это все числовые константы, объявленные глобально где-то внутри Формсов.
Если интересно, то числа, которые скрываются за ними можно узнать через message('no_validate = ' || no_validate);

Поэтому передать no_validate в execute_query можно, это компилируется и работает, но execute_query будет молча игнорировать незнакомое число в качестве параметра.

Формсов под рукой нет, но думаю, что как-то так все и происходит.
...
Рейтинг: 0 / 0
Не вовремя появляется форма для ввода значений гибких полей
    #38702590
shurik_shink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsevshurik_shinkExecute_Query(NO_VALIDATE);
Интересно, что это за синтаксис такой NO_VALIDATE. Можно ссылку на доку?
Посмотрел в доке по 6i, там такого не было, что это значит. Просто интересно

shurik_shinkДля первой записи блока появляется форма для ввода значений гибких полей...
Ни с того ни с сего, форма для ввода значений гибких полей появится не может.

Глядя в хрустальный шар, я и то догадываюсь, где у Вас ошибка. Подозреваю, что просто Вы зачем-то гибкое поле сделали первым (или единственным) в блоке. Соответственно оно получает фокус ввода - появляется форма для ввода.
Да действительно, проблема была в том что гибкое поле было первым в DataBlock. Поставил его в конец, проблема исчезла.
Всем спасибо.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Не вовремя появляется форма для ввода значений гибких полей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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