|
возможность реализации в IG формсовского аналога lov и триггера post-query
|
|||
---|---|---|---|
#18+
Коллеги, здравствуйте! При миграции приложений из 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 21:25 |
|
возможность реализации в IG формсовского аналога lov и триггера post-query
|
|||
---|---|---|---|
#18+
rootvg, Мы подобное решаем так: Пишем в lov запрос который нам нужен при добавлении union all select name, id from emp where id = <id сотрудника в текущей строке> Т.е. добавляем ещё строку с текущим сотрудником. Когда смотришь какую-то запись, где сотрудник исключен по какому-то признаку из выборки, то отрабатывает вторая часть условия. У нас часто такие запросы, если запись заблокирована для использования. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 09:18 |
|
возможность реализации в IG формсовского аналога lov и триггера post-query
|
|||
---|---|---|---|
#18+
heavysiderootvg, Мы подобное решаем так: Пишем в lov запрос который нам нужен при добавлении union all select name, id from emp where id = <id сотрудника в текущей строке> Т.е. добавляем ещё строку с текущим сотрудником. Когда смотришь какую-то запись, где сотрудник исключен по какому-то признаку из выборки, то отрабатывает вторая часть условия. У нас часто такие запросы, если запись заблокирована для использования. Маленькая поправка, нужно использовать union. А если уж совсем юзер фредли, то делать так: Код: plsql 1. 2. 3.
Таким образом текущая строка будет всегда вверху. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 11:02 |
|
возможность реализации в IG формсовского аналога lov и триггера post-query
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
вот так еще лучше :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 11:06 |
|
возможность реализации в IG формсовского аналога lov и триггера post-query
|
|||
---|---|---|---|
#18+
blkangel, Да, конечно union, мысль где-то по дороге заплутала) С порядком хорошая идея, может воспользуемся, но нас как-то ни разу юзеры не просили) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 12:19 |
|
|
start [/forum/topic.php?fid=50&fpage=10&tid=1874114]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
58ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 180ms |
0 / 0 |