powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Вызов LOV после LOV
11 сообщений из 11, страница 1 из 1
Вызов LOV после LOV
    #36312611
MikeS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Есть проблема:

В блоке данных есть элемент, который заполняется из LOV.

Необходимо по изменению этого элемента сформировать другой LOV, по которому заполнится еще
один элемент. Как это сделать?

Заранее благодарен.
...
Рейтинг: 0 / 0
Вызов LOV после LOV
    #36312686
shapm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для того элмента, который заполняется ЛОВ-ом
написать тригер
When-Validate-Item
в котором поправить Query для Record Group
для 2-го ЛОВа
...
Рейтинг: 0 / 0
Вызов LOV после LOV
    #36312760
MikeS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shapm,

Извините за неточность.

Править Query для Record Group не надо, т.к. там есть строчка

and s.id_street=rpad(:CLIENTS.ID_STREET,11)

ссылающаяся на этот элемент. (:CLIENTS.ID_STREET).

В When-Validate-Item (:CLIENTS.ID_STREET) у меня написано

rg_id := Find_Group('RG_POSTINDEX_BY_STREET');
IF NOT Id_Null(rg_id) THEN
errcode := Populate_Group(rg_id);
lv_id := Find_LOV('LOV_POSTINDEX_BY_STREET');
IF NOT Id_Null(lv_id) THEN
status := Show_LOV(lv_id);
END IF;
END IF;

Беда в том, что When-Validate-Item не запускается после вызова первого LOV
...
Рейтинг: 0 / 0
Вызов LOV после LOV
    #36312784
Фотография John.D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я помню, ЛОВы нельзя вызвать из валидейт триггеров.
После вызова первого ЛОВ укажите Validate(Item_Scope).
В When-Validate-Item создайте короткий таймер, после которого показывайте второй ЛОВ.
...
Рейтинг: 0 / 0
Вызов LOV после LOV
    #36312796
MikeS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
John.D,

А если LOV вызывается по F9 ?
...
Рейтинг: 0 / 0
Вызов LOV после LOV
    #36312816
Фотография John.D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KEY-LISTVAL

Вызывать из программ, ес-но, DO_KEY('List_values');
...
Рейтинг: 0 / 0
Вызов LOV после LOV
    #36313833
Алымов Анатолий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если вызов второго LOV сделать в другом триггере, например в post-item?
...
Рейтинг: 0 / 0
Вызов LOV после LOV
    #36314363
shapm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал, согласовал навигацию между полями, для которых вызываются ЛОВы,
потом либо post_text_item для первого поля либо pre_text_item для второго вызываю
2-ой ЛОВ, все по TAB-у проходит как надо, один недостаток,
если для первого поля ЛОВ не вызываешь, то для второго он все равно выскакивает...
...
Рейтинг: 0 / 0
Вызов LOV после LOV
    #36315479
Алымов Анатолий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно в пакетной или глобальной переменной сохранить результат выбора первого LOV (не выбора)

IF NOT Id_Null(lv_id) THEN
бла-бла-бла
END IF;
И это анализировать во втором триггере
...
Рейтинг: 0 / 0
Вызов LOV после LOV
    #36319101
sequence
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeSДоброго времени суток!

Есть проблема:

В блоке данных есть элемент, который заполняется из LOV.

Необходимо по изменению этого элемента сформировать другой LOV, по которому заполнится еще
один элемент. Как это сделать?

Заранее благодарен.

Возможно возвращать несколько значений в несколько полей из LOV'а.
...
Рейтинг: 0 / 0
Вызов LOV после LOV
    #36332574
efendi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MikeSДоброго времени суток!

Есть проблема:

В блоке данных есть элемент, который заполняется из LOV.

Необходимо по изменению этого элемента сформировать другой LOV, по которому заполнится еще
один элемент. Как это сделать?

Заранее благодарен.

Для того, чтобы вызвать второй( третий, четвертый и т.д) не обязательно переносить фокус в элемент, к которому он привязан.
Повесить на первый элемент триггер KEY-LISTVAL с кодом:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
declare
	q boolean;
begin
	q := show_lov('first_lov');
	if q then
          q := show_lov('second_lov');
          if q then
            ......
          end if;
	end if;
end;
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Вызов LOV после LOV
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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