powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / возможность реализации в IG формсовского аналога lov и триггера post-query
6 сообщений из 6, страница 1 из 1
возможность реализации в IG формсовского аналога lov и триггера post-query
    #39687142
rootvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, здравствуйте!
При миграции приложений из Oracle Forms в среду APEX (18.1 или 5.1.4) возникли затруднения с Interactive Grid и полем, определенным как lov (или select list). Пусть у нас есть блок табличной формы в Oracle Forms. При помощи post-query триггера и lov можно сделать так, чтобы для некоторого поля в блок выводились все значения, а при помощи lov-а можно было выбрать (т.е. изменить, добавить) только некоторое множество, ограниченное условием. Тексты sql querу для lov и для триггера разные, по условию where. Это нужно в некоторых случаях, описывать долго (ну например, уволенный/перемещенный сотрудник, данные по нему должны выводится за прошлые периоды (даты), но при добавлении новых строк он не должен быть в lov-е).
В APEX с IG так не получается, да, есть lov, но механизма, аналогичного post-query я не вижу или не догадываюсь как реализовать.
Есть ли у кого-то идеи по построению описанного механизма в IG?
Заранее благодарен за помощь.

p.s.
Есть выход убрать grid и перейти на IR + форма. Но тогда пользователям придется часто "прыгать" из отчета в форму и обратно, что не очень удобно. Все же, тут IG был бы гораздо интереснее.

-
С уважением,
rootvg
...
Рейтинг: 0 / 0
возможность реализации в IG формсовского аналога lov и триггера post-query
    #39687243
heavyside
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rootvg,

Мы подобное решаем так:
Пишем в lov запрос который нам нужен при добавлении union all select name, id from emp where id = <id сотрудника в текущей строке>
Т.е. добавляем ещё строку с текущим сотрудником. Когда смотришь какую-то запись, где сотрудник исключен по какому-то признаку из выборки, то отрабатывает вторая часть условия. У нас часто такие запросы, если запись заблокирована для использования.
...
Рейтинг: 0 / 0
возможность реализации в IG формсовского аналога lov и триггера post-query
    #39687333
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
heavysiderootvg,

Мы подобное решаем так:
Пишем в lov запрос который нам нужен при добавлении union all select name, id from emp where id = <id сотрудника в текущей строке>
Т.е. добавляем ещё строку с текущим сотрудником. Когда смотришь какую-то запись, где сотрудник исключен по какому-то признаку из выборки, то отрабатывает вторая часть условия. У нас часто такие запросы, если запись заблокирована для использования.

Маленькая поправка, нужно использовать union. А если уж совсем юзер фредли, то делать так:
Код: plsql
1.
2.
3.
select name, id from emp where id = <id сотрудника в текущей строке>
union all
select name, id from emp where id!= <id сотрудника в текущей строке> and <Какое то еще условие>


Таким образом текущая строка будет всегда вверху. :)
...
Рейтинг: 0 / 0
возможность реализации в IG формсовского аналога lov и триггера post-query
    #39687336
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
select name, id from emp where id = <id сотрудника в текущей строке> and id != <ID пользователя сессии>
union all
select name, id from emp where id = <ID пользователя сессии>
union all
select * from (
    select name, id from emp where id!= <id сотрудника в текущей строке> and id != <ID пользователя сессии> and <Какое то еще условие>
    order by 1
);


вот так еще лучше :)
...
Рейтинг: 0 / 0
возможность реализации в IG формсовского аналога lov и триггера post-query
    #39687391
heavyside
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Да, конечно union, мысль где-то по дороге заплутала)
С порядком хорошая идея, может воспользуемся, но нас как-то ни разу юзеры не просили)
...
Рейтинг: 0 / 0
возможность реализации в IG формсовского аналога lov и триггера post-query
    #39687440
rootvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
heavyside, blkangel

Спасибо Вам за помощь и за идею! Проблема решена.

-
С уважением,
rootvg
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / возможность реализации в IG формсовского аналога lov и триггера post-query
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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