Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Братцы, как знаете не хуже меня, есть такое v('ITEM_NAME') внутри вызываемого на странице PL/SQL, благодаря чему всегда понятно, на какой странице и в каком приложении работает конкретный код или каково значение Item на странице. А вот есть ли у вас мысли, как организовать подобное понимание конкретно в Condition? Ведь у каждого item имеется уникальный код... Можно ли его получить в Condition? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2017, 20:02 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша Сплинтер, Приведи пример. Я лично не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2017, 20:27 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша СплинтерБратцы, как знаете не хуже меня, есть такое v('ITEM_NAME') внутри вызываемого на странице PL/SQL, благодаря чему всегда понятно, на какой странице и в каком приложении работает конкретный код или каково значение Item на странице. А вот есть ли у вас мысли, как организовать подобное понимание конкретно в Condition? Ведь у каждого item имеется уникальный код... Можно ли его получить в Condition? Памятка задающим вопросы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 08:12 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Друзья, все ваши упрёки справедливы. Но должен заметить, что форумов, где нет возможности откорректировать своё собственное сообщение после постинга на форуме в Сети ещё поискать... Однако sql.ru мы любим не за это. Итак, уточняю свой вопрос. Любой элемент в APEX имеет настройку Condition, суть которой в том, рендерить или нет данный элемент. В том случае, если тип этого Condition представляет из себя PL/SQL, возникает желание внутри этого кода установить "координаты" вызова данного кода, а именно, приложение, страницу и некий идентификатор, или имя хотя бы элемента, откуда код вызван при рендеренге. Что касается номера приложения и страницы, тут всё просто v('APP_ID') и v('APP_PAGE_ID'), а вот с элементом что-то никак... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 18:43 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша СплинтерСети ещё поискать.. это так) Саша СплинтерВ том случае, если тип этого Condition представляет из себя PL/SQL, возникает желание внутри этого кода установить "координаты" вызова данного кода, а именно, приложение, страницу и некий идентификатор, или имя хотя бы элемента, откуда код вызван при рендеренге. зачем? В общем случае не надо делать привязку! Сильные связи считаются Г...кодом. Слабые связи считаются OK кодом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 20:35 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Ну что же, представим себе интерфейс, пользователи которого разбиты по ролям. Каждой роли должны быть недоступны некоторые группы элементов (кнопки, поля редактирования, закладки и так далее) общего интерфейса. Возникает желание объединить с одной стороны элементы интерфейса в группы, с другой пользователей в группы и сопоставить их друг другу в третьей табличке на предмет наличия запрета. После чего разместить вызов PL/SQL в Condition. Этот код без труда установит группу пользователя по идентификатору пользователя, хранящемуся в APP_USER. Что можно сказать о группе элемента? Ничего, если PL/SQL не знает, как его идентифицировать. Не знаю, слабая это связь или сильная, но пока мне ничего не пришло в голову кроме как передавать в этом вызове строку названия элемента, совпадающего с его именем. Выглядит не очень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 21:18 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша Сплинтер, Функция не документирована, но можете попробовать: APEX_APPLICATION.GET_COMPONENT Я в некоторых ситуациях использую её. Внутри items не пробовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 21:29 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша СплинтерВозникает желание объединить с одной стороны элементы интерфейса в группы, с другой пользователей в группы и сопоставить их друг другу в третьей табличке на предмет наличия запрета. После чего разместить вызов PL/SQL в Condition. Этот код без труда установит группу пользователя по идентификатору пользователя, хранящемуся в APP_USER. ещё подробнее и ПРИВЕДИТЕ ПРИМЕР странички. Т.к. я против без достаточных оснований мешать видимость (Condition) и безопасность (SECURITY). Первая это БЛ - бизнес логика. Вторая это безопасность. Оракл их разнёс по разным полям. Кроме того Саша СплинтерВозникает желание объединить с одной стороны элементы интерфейса в группы это вообще третий случай, т.к. чисто визуально есть средство - регион. Он прекрасно работает и объединяет. ... Итого может вы ошиблись? От неопытности? Не делали систем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 23:42 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша Сплинтер, Когда программист слишком многое придумывает, возможно он не сформулировал USE CASE? По ГОСТ'у? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 23:43 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша Сплинтерс другой пользователей в группы пользователей в группы я объединяю на основе наследования ролей оракла. Т.е. роль в оракле админ автоматом наследует роли всех дочек. Очень простая и лаконичная схема авторизации от Оракле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 23:46 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша СплинтерНе знаю, слабая это связь или сильная, но пока мне ничего не пришло в голову кроме как передавать в этом вызове слабая связь, это когда в пакеты оракла не передавать ничего с двумя точками. Никаких айтемсов и переменных апекса. Но я понимаю, что это идеал и идеала в жизни не бывает)). Сам нарушал)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 23:56 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Petro123Саша СплинтерНе знаю, слабая это связь или сильная, но пока мне ничего не пришло в голову кроме как передавать в этом вызове слабая связь, это когда в пакеты оракла не передавать ничего с двумя точками. Никаких айтемсов и переменных апекса. Но я понимаю, что это идеал и идеала в жизни не бывает)). Сам нарушал)). упс. Поправлюсь. В коде пакета не должно быть переменных с двоеточиями (контекста). А во входных параметрах в обычных типах IN Parameters передавай что угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 23:58 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша СплинтерНу что же, представим себе интерфейс, пользователи которого разбиты по ролям. Каждой роли должны быть недоступны некоторые группы элементов (кнопки, поля редактирования, закладки и так далее) общего интерфейса. Возникает желание объединить с одной стороны элементы интерфейса в группы, с другой пользователей в группы и сопоставить их друг другу в третьей табличке на предмет наличия запрета. После чего разместить вызов PL/SQL в Condition. Этот код без труда установит группу пользователя по идентификатору пользователя, хранящемуся в APP_USER. Что можно сказать о группе элемента? Ничего, если PL/SQL не знает, как его идентифицировать. Не знаю, слабая это связь или сильная, но пока мне ничего не пришло в голову кроме как передавать в этом вызове строку названия элемента, совпадающего с его именем. Выглядит не очень. Для условия видимости или не видимости используем привилегии. Привилегии назначены ролям. При логоне все привилегии записываются в Кэш таблицу. Одна привилегия - Один/Много элементов. При рендеринге страницы, система проверяет наличие данной привилегии в кеш таблицы для данного пользователя. Использование кеш таблицы обусловлено иерархической структурой ролей, и линейный запрос из кеш таблицы, в разы быстрее иерархического запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 09:13 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша СплинтерНе знаю, слабая это связь или сильная, но пока мне ничего не пришло в голову кроме как передавать в этом вызове строку названия элемента, совпадающего с его именем. Выглядит не очень. А вообще пораскинув, я нашел вам решение :) #CURRENT_ITEM_NAME# ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 09:42 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
blkangelСаша СплинтерНе знаю, слабая это связь или сильная, но пока мне ничего не пришло в голову кроме как передавать в этом вызове строку названия элемента, совпадающего с его именем. Выглядит не очень. А вообще пораскинув, я нашел вам решение :) #CURRENT_ITEM_NAME# Но с другой стороны, я не вижу ничего плохо, в передачи названия элемента, все равно же условие писать. Вот если бы решили не использовать механизм condition, тогда другой разговор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 09:44 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Друзья, очень благодарен вам за ваши размышления! sql.ru это просто сборище маньяков-профи! Даже и не думайте взломать мой смартфон при помощи вашего SQL! #CURRENT_ITEM_NAME# это вообще откровение какое-то! Жаль, что не работает ((( APEX_APPLICATION.GET_COMPONENT только для APEX 4. Спешу сообщить, что конечно речь идёт об ограничении функциональности и разграничениях компетенций. Хотя поди различи, что тут авторизация, а что просто ограничение функциональности, когда кнопку спрятали, а за кнопкой - запуск ракеты. Есть мнение, что никакой разницы на уровне интерфейса нет и обсуждение подобных вопросов - сплошная казуистика. Предложение работать с регионами вызывает уважение. Однако группы элементов представляют из себя подчас поля, кнопки и закладки, так что регионы - лишь красивая утопия. Поскольку речь идёт об аутентификации внутри веб-приложения, до оракла здесь как-то дотягиваться желания особого не возникает. Це ж апекс, зачем тут Оракл? APEX_PUBLIC_USER и все дела ))) Поясните, может я не понял мысль? Вы используете аутентификацию пользователей оракл для целей работы с апекс-приложением? То есть на сто клиентов набегает тысяча пользователей и всех вы их в Оракле заводите? Кэш таблица имеется в виду опция CACHE для CREATE TABLE? Круто! >>Когда программист слишком многое придумывает, возможно он не >>сформулировал USE CASE? По ГОСТ'у? В вашей терминологии я вряд ли являюсь программистом. Так, самоучка со стажем, вряд ли более. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 19:47 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша СплинтерОднако группы элементов представляют из себя подчас поля, кнопки и закладки, так что регионы - лишь красивая утопия. переведи. Т.е. вы сами не использовали регионы, а делали без них? Закладка это вкладка? Приводите скрины, ведь мы о ГУИ и визале говорим. А не о характерах и писателях. ... Саша СплинтерПоясните, может я не понял мысль? Вы используете аутентификацию пользователей оракл для целей работы с апекс-приложением? То есть на сто клиентов набегает тысяча пользователей и всех вы их в Оракле заводите? я использую оба варианта. И вариант никак не зависит от 1000юзверей. Ораклу пофигу и 10000. Спросите у ораклоидов. В первом варианте у меня оракл и его дерево. Во втором варианте своё дерево пользователей в табличках. В чём проблема? Главное принцип - наследования ролей)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:23 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша Сплинтеррегионы - лишь красивая утопия регионы в апекс это стратегия Оракле). Которую вы игнорируете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:25 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
>>Вот если бы решили не использовать механизм condition, тогда другой разговор. Кроме authorization и condition других штатных способах прятать элементы не слыхал. Причём по ходу тут семантика сплошная, а суть одна. Просто в authorization не передать ничего вовсе, а в condition что-то можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:26 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша СплинтерЕсть мнение, что никакой разницы на уровне интерфейса нет и обсуждение подобных вопросов - сплошная казуистика. есть такая путаница смешения понятий Видимость и Видимость по безопасности). У меня критерий - бизнес логика. Это первое - видимость. Безопасность делаю чисто по авторизации и правам (слово - НЕЛЬЗЯ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:28 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша СплинтерПросто в authorization не передать ничего вовсе, а в condition что-то можно. ещё не хватало туда передавать. Вы и в Видимость зря передаёте. По крайней мере оснований не видно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:30 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
регионы в апекс это стратегия Оракле). Которую вы игнорируете. В не подумайте, я обеими руками за стратегии Оракла! Но если элементы не объединяются в регион, то, боюсь, ничего тут не поделать. Задачу как-то надо решать. Пока вижу всё то же решение: передавать в condition название элемента и содержать три таблицы: группы элементов, пользователей и привилегий, объединяющих эти группы. В таком случае, заходя на страничку с клиентами, бухгалтерия увидит своё, дизайнеры свой, а продаваны - своё. И да, наверное можно налепить кучу страниц (или даже приложений)на каждый отдел, а потом все их содержать. Но это совсем уж за пределами добра и зла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:31 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
есть такая путаница смешения понятий Видимость и Видимость по безопасности). У меня критерий - бизнес логика. Это первое - видимость. Безопасность делаю чисто по авторизации и правам (слово - НЕЛЬЗЯ). Бухгалтеру нельзя удалять клиента, менеджеру можно. менеджеру нельзя видеть колонку дебиторки, бухгалтеру можно. Какая разница, безопасность это или видимость? Что решает данная терминология, если реализация в Апексе по сути отличается лишь семантически? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:33 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Petro123ещё не хватало туда передавать. Вы и в Видимость зря передаёте. По крайней мере оснований не видно. Как же вы коллега решаете такие банальные задачи про менеджера и бухгалтера? Неужто без Condition (authorization)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:34 |
|
||
|
Как идентифицировать Item внутри Condition PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Саша СплинтерНо если элементы не объединяются в регион, то, боюсь, ничего тут не поделать Вам виднее. Значит они разбросаны аки горох на стене). Саша СплинтерПока вижу всё то же решение: передавать в condition название элемента и содержать три таблицы: группы элементов, пользователей и привилегий, объединяющих эти группы. Делайте. На первый взляд, не видя картинку) LOL это велосипед. Саша СплинтерВ таком случае, заходя на страничку с клиентами, бухгалтерия увидит своё, дизайнеры свой, а продаваны - своё. И да, наверное можно налепить кучу страниц (или даже приложений)на каждый отдел, а потом все их содержать. Но это совсем уж за пределами добра и зла. Конечно! Никаие регионы не помогают объединить АРМ уборщицы и АРМ бухгалтера. Тогда конечно, надо делать так: Код: sql 1. Удачи Вам! Работать всё равно будет. Тоже исходя из практики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:37 |
|
||
|
|

start [/forum/topic.php?fid=50&msg=39420296&tid=1874419]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
177ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 289ms |

| 0 / 0 |
