Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Привет! Что-то я потёк от простейшей операции :( Имею P1, P2, P1_ID, P2_ID кнопку Redirect на P1 Кнопка вызывает Код: html 1. Если P1_ID заполнен по дефолту при Page Load - его значение передается P2_ID Если заполняешь P1_ID "вручную" - нифига. Передаётся старое (дефолтное) значение :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 09:57 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
КурдльПривет! Что-то я потёк от простейшей операции :( Имею P1, P2, P1_ID, P2_ID кнопку Redirect на P1 Кнопка вызывает Код: html 1. Если P1_ID заполнен по дефолту при Page Load - его значение передается P2_ID Если заполняешь P1_ID "вручную" - нифига. Передаётся старое (дефолтное) значение :( Нехватает точки после &P1_ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 11:01 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
dvksqlru, Причина не в этом. Я пропустил её здесь - в реальном приложении она стоит на месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 11:04 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Курдль, тогда мы что-то похожее разбирали в предыдущей теме , т.е. DA это тот же JS, т.о. значение элемента надо передать любым способом на сервер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 11:11 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
dvksqlruКурдль, тогда мы что-то похожее разбирали в предыдущей теме , т.е. DA это тот же JS, т.о. значение элемента надо передать любым способом на сервер. +1 редирект это чисто клиентское решение по замене урл на другой адрес. и новый запрос на сервер. Т.е. сервер и его переменные НИЧЕГО не знают, что клиент ушёл с текущей страницы. Я всегда перехожу редиректом без изменения значений айтемсов. Т.к. это логично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 12:29 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123, И чего здесь логичного?!! Как ты передаешь, например, из "списочной формы" "форме редактирования" ID записи, которую надо отредактировать? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 13:06 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
КурдльИ чего здесь логичного?!! ==== слово "редирект". Без всякого апекса это - заменть руками урл в адресной. Как ты передаешь, например, из "списочной формы" "форме редактирования" ID записи, которую надо отредактировать? :) ==== в конец урла дописываю :ID=123456. Например в SELECT Потом при перемещении мышкой по этим картикам в табличке в статусной строке виден урл с этой добавкой Это как вариант номер1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 13:48 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Курдль, подскажите, каким образом вы изменяете значение P1_ID? Просто напомню, макроподстановка &P1_ID. в url для редиректа производится во время рендеринга страницы, и значения, переданные через DA/ajax вызовы url изменить никак не могут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 15:29 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
non-apexoidКурдль, подскажите, каким образом вы изменяете значение P1_ID? Просто напомню, макроподстановка &P1_ID. в url для редиректа производится во время рендеринга страницы, и значения, переданные через DA/ajax вызовы url изменить никак не могут. Да вручную изменяю - прописываю в поле новое числовое значение. (В исходном варианте это был селект-лист). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 15:34 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
non-apexoidКурдль, подскажите, каким образом вы изменяете значение P1_ID? Да он наверно уже решил вопрос. Стоя на страничке 2, изменять айтемс странички 1 можно просто записав его в урл перехода. При открытии стр-ки 2 первым делом будет установлено значение из урл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 15:35 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123При открытии стр-ки 2 странички 1 первым делом будет установлено значение из урл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 15:35 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123, Да нифига я не решил :( Долбаные 2 странички. На 1-й ты забиваешь в P1_ID 'MALE' а на второй - ожидаешь, что выберутся все мужчины из списка select * from emp where sex = :P2_ID Так вот, P2_ID не заполняется значением из P1_ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 15:47 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
КурдльPetro123, Да нифига я не решил :( Долбаные 2 странички. На 1-й ты забиваешь в P1_ID 'MALE' а на второй - ожидаешь, что выберутся все мужчины из списка select * from emp where sex = :P2_ID Так вот, P2_ID не заполняется значением из P1_ID ты выше читал решение что я предложил? Молчишь как пратизан). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 16:18 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Курдль.... Если P1_ID заполнен по дефолту при Page Load - его значение передается P2_ID Если заполняешь P1_ID "вручную" - нифига. Передаётся старое (дефолтное) значение :( А перед редиректом на вторую страницу переменная P1_ID сабмитится каким-либо образом на сервер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 16:32 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
vlad6666Курдль.... Если P1_ID заполнен по дефолту при Page Load - его значение передается P2_ID Если заполняешь P1_ID "вручную" - нифига. Передаётся старое (дефолтное) значение :( А перед редиректом на вторую страницу переменная P1_ID сабмитится каким-либо образом на сервер? Не сабмитится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 16:38 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Попробуйте перед редиректом поставить действие "Execute PL/SQL code" (с кодом "null;"), и в нём указать в списке на Submit переменную P1_ID. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 16:44 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
vlad6666А перед редиректом на вторую страницу переменная P1_ID сабмитится каким-либо образом на сервер? нафиг её сабмитить, если то же самое делается перед рендерингом и открытием (присвоение из урл) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 16:48 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123нафиг её сабмитить, если то же самое делается перед рендерингом и открытием (присвоение из урл) Да ты мою проблему понял? Я не могу передать ИЗМЕНЕННОЕ значение, а не полученное из URL или по дефолту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 16:50 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
КурдльДа ты мою проблему понял? Как же тебя понять, если ты молчишь (c) худ.фильм авторЯ не могу передать ИЗМЕНЕННОЕ значение, а не полученное из URL или по дефолту Дак у тебя урл и кнопка - говори толком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 16:57 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Курдль, как я написал выше, подстановка значения P1_ID осуществляется во время рендеринга, и в URL для перехода на другую страницу сразу подставлено значение P1_ID. Меняя значение элемента на странице, вы, без сабмита, никак не поменяете URL. Самый простой выход - переходите не редиректом, а бранчем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 17:06 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123Дак у тебя урл и кнопка - говори толком Кнопка! В 1-м посте же написано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 17:06 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Еще одна ситуация: 1. Если Item P3_ID заполняется с помощью JavaScript, при submit и записи в БД, значение ID = Null. При этом оно нормально отображается на странице в этом поле. 2. Если Item P3_ID заполняется вручную, при submit и записи в БД, значение ID то, что записано в P3_ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 17:09 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
КурдльPetro123Дак у тебя урл и кнопка - говори толком Кнопка! В 1-м посте же написано. Тебе пишут выше: - почему не сабмит по кнопке? - как и кто изменяет значения перед нажатием кнопки? Редирект не предполагает сохранение текущего на страничке! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 17:09 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Курдль, вот прямо вот так вот делаете $s('P3_ID', 12345) и не работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 17:13 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123, Мы вообще говорим на разных языках :( Какой submit? Я назначаю кнопке action типа redirect и прописываю - куда какие параметры передать: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 17:19 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
non-apexoidКурдль, вот прямо вот так вот делаете $s('P3_ID', 12345) и не работает? Теперь ради чистоты эксперимента убрал даже JavaScript и сделал DA типа SetValue; SetType=Dialog Retutn Item Эффект - item получает значение (напр. 123) из вызываемой страницы и это корректно отображается на форме. А в DML поступает NULL. Если в том же поле поверх полученного из вызываемой формы значения 123 прописать вручную 123, то передается и корректно записывается в бд 123 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 17:25 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
КурдльМы вообще говорим на разных языках :( конечно. Не только я вам говорю. Но вы никого не слушаете: non-apexoidСамый простой выход - переходите не редиректом, а бранчем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 17:33 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Похоже, для того, чтобы передать при редиректе на другую страницу только что введённое значение переменной из текстового поля в виде &P1_ID., надо: во-первых, сабмитить эту переменную; во-вторых, рефрешить страницу, чтобы это просабмиченное значение легло в HTML-код страницы в явном виде. Мне кажется, лучше просто делать :P2_ID=:P1_ID на стороне сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 17:37 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
КурдльКакой submit? В 25-ый раз! Редирект не сохраняет значения на сервер! (кроме тех что в урл) Используйте сабмит+бранч вместо редиректа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 17:37 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123КурдльКакой submit? В 25-ый раз! Редирект не сохраняет значения на сервер! (кроме тех что в урл) Используйте сабмит+бранч вместо редиректа Я не могу делать submit, т.к. вызывается модальная страница с промежуточными данными, а полные данные для submit будут заполнены только по результатам промежуточных. Преждевременный submit не пройдет мимо валидации! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 17:59 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Курдль, наконец то колоться начал). КурдльЯ не могу делать submit, т.к. вызывается модальная страница с промежуточными данными, а полные данные для submit будут заполнены только по результатам промежуточных. ты в курсе что оракл рекомендует при переходе по страницам сохранять переменные в сессию? Т.е. это и есть сабмит. Почему нельзя поправить валидацию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 18:05 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Курдльт.к. вызывается модальная страница редирект у тебя это вызов модальной штатно в 5-ке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 18:09 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123ты в курсе что оракл рекомендует при переходе по страницам сохранять переменные в сессию? Т.е. это и есть сабмит. Почему нельзя поправить валидацию? Как я могу поменять валидацию? Не проверять поля на обязательность? А они - обязательные! И многие из них заполняются вызовом модальных форм - "селекторов" (иначе нельзя выбрать элемент среди тысяч, не используя IR) Petro123редирект у тебя это вызов модальной штатно в 5-ке? Да. Это вызов чего угодно штатно. Модальную можно объявить немодальным диалогом или вообще Normal и будет вызываться, как обычная. НО! Я нашел проблему второго случая (когда заполненное автоматически поле не попадало в запрос) - Поле было Disabled из DA. Как я его сделал Enabled и попробовал ввести значение вручную - оно сработало. И с не_ручным заполнением тоже стало всё Ок! И я ж одним ухом слышал про этот баг (фитчу) АРЕХа, но забыл :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 19:55 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Курдль, Давай ты сам не будешь считать что аажно а что нет. Ведь вопрос у тебя а не у меня. Вызов модального окна и простой уход со страницы 2 на стр. 1 редиректом разные вещи. Поэтому за 2 страницы топика сформулируй проблему по новой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 20:08 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Курдль, ну понятно. Старая история. изучайте проблему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 23:26 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Как Item типа Select List сделать reasd only, но при этом избежать проблемы с передачей его значения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 11:50 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
КурдльКак Item типа Select List сделать reasd only, но при этом избежать проблемы с передачей его значения? конкретнее нельзя? Без общего вопроса. Передавать можно 10тью вариантами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 12:27 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Курдль, при рендеринге, т.е. на клиент он конечно идёт совсем в другом виде как виждет HTML ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 12:28 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
вот у меня на клиенте только чтение select list. Видно что там ID = 3523 есть. Т.е. передаваться именно выбранное значение должно Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 12:33 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123вот у меня на клиенте только чтение select list. Видно что там ID = 3523 есть. Т.е. передаваться именно выбранное значение должно Код: sql 1. И как он у тебя заполняется? У меня - по DA Dialog Closed (APEX 5) Значение индицируется, но не сабмитится. В тырнете такую проблему обсуждали: that's a feature of the browser which doesn't submit items which are disabled. For text items you can use the readonly property, but unfortunately that doesn't work for radio and checkboxes :-( Думаю, что это справедливо и для Select List ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 13:47 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
КурдльИ как он у тебя заполняется? только чтение как галка в свойствах айтемс - это галка работает ПЕРЕД рендерингом (выдачи странички с сервера). Т.е. я её делаю в процессе Processes - After Header :P_123 := 12345; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 14:25 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
КурдльУ меня - по DA Dialog Closed (APEX 5) странный ты. С сервера пришло Read Only - а ты в модальном диалоге его меняешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 14:26 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123КурдльУ меня - по DA Dialog Closed (APEX 5) странный ты. С сервера пришло Read Only - а ты в модальном диалоге его меняешь? Я не странный :) Это логика может показаться странной непосвященным. Данный ITEM типа Select List в зависимости от условий может быть редактируемым или Disabled. В последнем случае его значение заполняется извне. Но тем не менее оно должно сабмититсья и процесситься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 14:36 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
КурдльЯ не странный :) Это логика может показаться странной непосвященным. Данный ITEM типа Select List в зависимости от условий может быть редактируемым или Disabled. В последнем случае его значение заполняется извне. Но тем не менее оно должно сабмититсья и процесситься. Давай проверим)). Насколько знаю, при свойстве Read only = true. На клиент вообще не идут все значения списка. Только выбранный один пункт: код=1234 values город = Москва .... Так что непонятно, что ты там на клиенте менять собрался. Или мы про разное свойство говорим? КурдльSelect List в зависимости от условий может быть редактируемым или Disabled. КурдльКак Item типа Select List сделать reasd only, разберись, какое свойство ты хочешь. Я говорил про ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 14:50 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
КурдльВ последнем случае его значение заполняется извне нету такого в 4-ке. Наверно и в 5-ке нету. Обычно разрешают менять и выпадающий список руками и кнопкой рядом (Popup) до сабмита. При сабмите галка идёт на сервер и возврат уже Read Only без всякого редактирования. ... Ну, или делать рядом поле с числом для процессинга и поле с текстом для юзверя. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 15:01 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123, Я же говорил, что согласно логике, это поле управляется с помощью DA. Например: Events --Change ----Is Selected Document (это уже контролируемый мною event) ------True --------Enable -> Item - > Doc_Select_List ------False --------Disable -> Item - > File_Select_List ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 15:27 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
КурдльPetro123, Я же говорил, что согласно логике, это поле управляется с помощью DA. Например: Events --Change ----Is Selected Document (это уже контролируемый мною event) ------True --------Enable -> Item - > Doc_Select_List ------False --------Disable -> Item - > File_Select_List у меня немного другая парадигма. И кажется она лучше по безопасности. - из DA только Показать\Спрятать - после сабмита или AJAX(вроде должно работать) - Read Only как писал выше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 15:48 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Я так понял, ты "нельзя сменить значение" устанавливаешь на клиенте в JS(DA). А Read Only в айтемсе совсем не используешь. Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 15:53 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123, Конкретно в этом - не использую. Может быть ему как-то по-другому можно запретить ручное изменение значений? установка атрибута readonly="readonly;" не помогает :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 16:04 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Курдль, не знаю. Мне кажется убирать видимость лучше решение для веб. Для десктопа - наоборот. IMHO Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2016, 16:08 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Не знаю, насколько в тему топика. Просто к сведению - может кому пригодится. Конструкция в скрипте APEX-а Код: plsql 1. Эквивалентна Код: plsql 1. Поскольку функция update_cache_with_write ругается на несуществующие ITEM, рекомендую использовать собственную процедуру в схеме текущего приложения - с игнорированием exception Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 12:26 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
ZhV, Если ругается, значит правильно делает, нельзя в коде обращаться к не созданным items, нефиг лишнюю черточку в название ставить. Следующим шагом, я так подозреваю, будет все запросы оборачивать в exception when others then null; типа а вдруг нету такой таблицы? Идея бредовая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 13:07 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
ПодсказчыкZhV, Если ругается, значит правильно делает, нельзя в коде обращаться к не созданным items, нефиг лишнюю черточку в название ставить. Следующим шагом, я так подозреваю, будет все запросы оборачивать в exception when others then null; типа а вдруг нету такой таблицы? Идея бредовая. Это нужно для унификации/типизации ввода в анонимных блок-скриптах на различных PAGE Вместо того чтобы на каждой из похожих страниц писать десятки строк вида Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Написать в 4 строки абсолютно одинаковые конструкции для всех страниц ввода данных Код: plsql 1. 2. 3. 4. 5. 6. 7. А для проверки существования item можно ( и иногда нужно) делать в отдельном блоке пре-валидации. Так чтобы ошибки валидации можно было бы положить в лог и, главное - юзер увидел бы нормальное оформленное сообщение об ошибке в region #GLOBAL_NOTIFICATION# , а не страндартное окно типа "полный крэш" с непонятным ему текстом. Два-три таких крэш-окна за один сенас работы - и у юзера будет полное основание сказать что ваше приложение полное г. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 13:53 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
ZhVВместо того чтобы на каждой из похожих страниц писать десятки строк вида сначала разберитесь, почему у вас "похожие страницы". Тогда и велосипеды возможно не пригодятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 13:57 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123ZhVВместо того чтобы на каждой из похожих страниц писать десятки строк вида сначала разберитесь, почему у вас "похожие страницы". Тогда и велосипеды возможно не пригодятся. Видите ли... Если бы я ответил так своему заказчику.... Есть общее понятие и соответственно "PAGE" "Договоры". Но есть куча вариаций - поставка, аренда, подряд, субподряд ... Почти половина реквизитов одинаковы - как правило контрагент. Но есть куча специфических реквизитов по каждому виду - и поэтому естественно - отдельная страница для просмотра и ввода. Попробуйте мне предложить вариант - обойтись одной страницей - внимательно выслушаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 14:09 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
ZhV, Для установки значений динамически см. apex_util.set_session_state. Для красивых сообщений об ошибках см. error handler function. Для проверки существования см. apex_application_page_items и apex_application_items. Для того чтобы исправить ошибки в приложении и не было таких ощибок, см. Код: plsql 1. 2. - лучше один раз найти такие ошибки и исправить, чем стрелять себе в ногу. имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 14:21 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
ZhVПопробуйте мне предложить вариант - обойтись одной страницей - внимательно выслушаю. не будьте максималистом. Никто про одну страницу не говорит. Вариант: - общий список - журнал - ОДНА страница с колонкой Тип документа - все остальные страницы как Карточка товара\Карточка аренды и т.д. разумеется индивидуальны. А вы как хотели? ООП в апексе делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 14:58 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
ZhVПочти половина реквизитов одинаковы - как правило контрагент. вижу только один атрибут одинаковый. Смешно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 15:00 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
SvDevлучше один раз найти такие ошибки и исправить, чем стрелять себе в ногу. имхо. +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 15:01 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
SvDevZhV, Для установки значений динамически см. apex_util.set_session_state. Для красивых сообщений об ошибках см. error handler function. Для проверки существования см. apex_application_page_items и apex_application_items. Для того чтобы исправить ошибки в приложении и не было таких ощибок, см. Код: plsql 1. - лучше один раз найти такие ошибки и исправить, чем стрелять себе в ногу. имхо. Ну что ж, про apex_util.set_session_state - я не знал. Может быть потому что этот пакет реально лежит в схеме SYS и называется htmldb_util. В любом случае - спасибо. Век живи... Я просто потратил время на исследование пакета wwv_flow в схеме APEX-а - там в принципе много чего интересного. Попробовал - вроде бы работает одинаково. Если будет время - попробовать все-таки найти различия. ИМХО, в схеме APEX0000 все таки есть привязка к версии - это может быть существенно. Но что ж вы раньше то молчали - а то народ уже JavaScript юзает. Проверки существование - это сообщите коллеге "Подсказчык" Насчет логов... В данном случае я рассуждал в рамках конкретного проекта. 90% логики приложения сделано в пакетах, которые вообще не знают про сущестование APEX. Просто потому что до недавних пор приложение существовало только в виде Delfi/Desktop приложения. Постепенно часть функционала переносится в APEX. Надеюсь, когда-нибудь все перенесем. В этих пакетах есть необходимость, давно существует и надежно работает своя собственная система логов. Причем отдельно - "нормальные" события и ошибки. Было бы странно создавать какую-то новую систему логов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 15:09 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
ZhVНу что ж, про apex_util.set_session_state - я не знал. это вроде первое что тут знают. Если исключить пустой DA для установки значения в сессию на сервере. ... ZhVЯ просто потратил время на исследование пакета wwv_flow в схеме APEX-а - там в принципе много чего интересного. Просто вы сразу полезли в ядро апекса и его хранимки. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 15:29 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123не будьте максималистом. Никто про одну страницу не говорит. Вариант: - общий список - журнал - ОДНА страница с колонкой Тип документа - все остальные страницы как Карточка товара\Карточка аренды и т.д. разумеется индивидуальны. А вы как хотели? ООП в апексе делать? Вы сами себе противоречите ? полчаса назад Petro123 "сначала разберитесь, почему у вас "похожие страницы". Это не я максималист - а заказчик. Вы когда-нибудь видели договоры аренды и субподряда в бумажном виде? Общее там только - "подвал" с реквизитами договаривающихся сторон. Насчет ООП... Why not? При остутствии константных привязок к переменным страницы типа (:P12_ID := ...) простое копирование страницы на 80% корректно переносит функционал отображения данных. - под каждый вид договора существует собственная view - в пре-поцессорном PL/SQL блоке задается другое имя view - добавляются нужные поля, удаляются ненужные - все это визуально компонуется на region-ах - немного меняется код на Submit-е - ну еще иногда менются списки операций на sidebar-е Вот чем и замечателен APEX. Я неважно знаком с JavaScript-ми заморочками - но почти все что нужно, я делаю в пакетах или анонимных блоках - то есть не выходя из PL/SQL. Ну кое-какие нюансы вносит Java-спец - я учусь у него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 15:35 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
OFF ZhVВы когда-нибудь видели договоры аренды и субподряда в бумажном виде? нет. Покажите. ZhVОбщее там только - "подвал" с реквизитами договаривающихся сторон. Если только чтение, то подвал можно сделать одинаковым в смысле кода. На все страницы. Т.е. так и выходит? Что делаем страницу Договор Аренда и Договор Субподряда как отдельные страницы. Так? Тогда это будет ТЗ уже разжёванное для программиста. А дальше читаем что там у вас мешает такому ТЗ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 15:43 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
ZhVПри остутствии константных привязок к переменным страницы типа (:P12_ID := ...) простое копирование страницы на 80% корректно переносит функционал отображения данных. да. На каждой странице со своим ID будет свой номер автоматом. Некоторый минимум надо подправить. ZhVпод каждый вид договора существует собственная view - в пре-поцессорном PL/SQL блоке задается другое имя view - добавляются нужные поля, удаляются ненужные - все это визуально компонуется на region-ах - немного меняется код на Submit-е - ну еще иногда менются списки операций на sidebar-е да! При наличии БЛ уже готовой будет 1 страничка в день. Итого что вас там испугало? Это обычная работа программиста. ... Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 15:46 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
ZhV, Я полагаю версия apex не очень древняя (многое было и в древних версиях). Про создать свою систему логов речи не идёт. На уровне приложения можно определить error handler function, которая может обрабатывать определенные виды ошибок, относящиеся к apex и выдавать дружелюбные сообщения (это полезно в том числе и при выводе ошибок с unique constraint), чтобы пользователи не видели ora-xxxxxx кусок, в тех случаях, когда речь идёт про уже обработанные исключения. В пакетах можно не все apex ошибки обработать и не всегда это удобно, этот инструмент не заменяет обработку в пакетах, скорее дополняет. В апексе так же по умолчанию хранятся логи активности за 2 недели, в том числе и ошибки, которые выдаёт apex приложение. По тому в какой схеме хранится apex_util, физически - это схема apex_xxxxxx, но рекоммендуется обращаться через синоним apex_util, как описано в документации API Reference, при этом не нужно знать, что и в какой схеме хранится. Тут как раз используется документированное апи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 15:48 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
ZhVВот чем и замечателен APEX. Я неважно знаком с JavaScript-ми заморочками - но почти все что нужно, я делаю в пакетах или анонимных блоках - то есть не выходя из PL/SQL. Ну кое-какие нюансы вносит Java-спец - я учусь у него. не туда пошёл. - Изучи волшебники апекс и построители-генераторы - Изучи декларативные способы - Изучи API и динамику в DA Только после этого лезь в хранимки\JS\Java\AJAX IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 15:51 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
SvDevВ пакетах можно не все apex ошибки обработать и не всегда это удобно либо я сам выбрасываю наверх Raize и показываю уже страничке. SvDevВ апексе так же по умолчанию хранятся логи активности за 2 недели +1 перебрасываю в свою таблу чтобы не стёрлось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 15:55 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123При наличии БЛ уже готовой будет 1 страничка в день. Итого что вас там испугало? Это обычная работа программиста. ... Удачи! Ну дык я об чем. Во только я программист Oracle а не front-end разработчик. И моя основная работа - после Submit не просто commit как в учебных примерах, а должна быть вызвана правильная процедура из правильного пакета, которая правильно проанализирует и обработает внесенные данные или их изменение - все распишет по нужным таблицам и запишет в логи нужные сообщения. И вот тут бывает 1 дня не хватает. Уж не обессудьте насчет высказывания Petro123 не туда пошёл. Я уж как нибудь сам решу - куда идти. SvDevZhV, В пакетах можно не все apex ошибки обработать и не всегда это удобно... В моем случае я очень хорошего мнения о предшественниках-делфистах, которые лет 15 назад заложились на размещение бизнес-логики в базе (80-90%), а не на своих формах. И я намерен продолжить этот тренд - все что можно перенести в обработки Oraclе (как правило пакеты, реже - анонимные хранимые блоки PL/SQL) - надо туда пененосить. После APEX-а может быть что-то еще... А Oracle вечен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 16:21 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
ZhVпосле Submit не просто commit как в учебных примерах, а должна быть вызвана правильная процедура из правильного пакета, которая правильно проанализирует и обработает внесенные данные или их изменение - все распишет по нужным таблицам и запишет в логи нужные сообщения. И вот тут бывает 1 дня не хватает. можно и хранимки. Тогда у вас перестают работать автоматические процессы от Оракле. У меня тоже хранимки(. Приходится вносить в них 20 параметров от 20 ITEMS. А бизнес логика отдельный вопрос. ZhVВ моем случае я очень хорошего мнения о предшественниках-делфистах, которые лет 15 назад заложились на размещение бизнес-логики в базе (80-90%), а не на своих формах. у меня тоже так. Но есть и простые справочники без хранимок. БЛ в базе это хороший тон и на Delphi. Пока не увидел у вас ничего сложного. У меня тоже хранимки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 16:39 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
ZhV, всё дело в транзакциях. Они короткие - на 0,1 сек. И не желательно передавать в хранимку контекст. Т.е. имена ITEMS. Это на любом ЯП так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 16:41 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123У меня тоже хранимки(. Приходится вносить в них 20 параметров от 20 ITEMS.... Совет с моей стороны - осваивайте XML как универсальный способ внутри- и меж- системного обмена любыми обьектами. Сможете начать работать с такими полезными и востребованными вещами как SOAP, REST... даже СМЭВ и сервисы ФНС :) По аналогии с предыдущим моим примером Код: plsql 1. 2. 3. 4. 5. 6. 7. Вход в обработчик универсален - только один параметр в виде XML. Старинные грабли , когда необходимость в добавлении еще одного параметра в вызов процедуры - страшный геморрой, так как происходит крэш из-за того что обьект Oracle не готов принять новую лишнюю переменную. А если добавить - то полетит работа текущего штатного приложения. Простейшая операция - XMLType(input_xml) - и вы получите и название VIEW/TABLE и вид операции, и все введенные поля-параметры, сколько бы их ни было. Кстати, когда то один коллега наступил на грабли - Oracle 9 терпел не более 256 параметров. Счас не знаю - мне никогда бы не хватили фантазии на больше пары десятков. Если не хватит 2000 символов - сделайте копию TODO2 с входным CLOB параметром. Но помните, что вызов с использованием CLOB не будет работать по dblink. А дальше Main_pkg уже вызовет профильный пакет для окончательной обработки в рамках бизнес-логики. В XML очень удобно находить различие между введенными значениями и текущими. XML-курсор по динамическому Select-у с заданным id и по входному XML - пишется только один раз и используется для любых таблиц. Позиция конкретного поля (1-я в диалоге и 10-я в таблице или view) - абсолютно неважно, но принципиально важна одноименность . И естественно - именно изменения пишутся в лог. Еще удобство - при каких-то тяжких и неуловимых багах - включить режим fullscale-log на входные параметры - кидать входные XML в большой CLOB-лог. Можно подловить - на каких входных данных проходят баги. На всякий случай - при работе с dblink или другими внешними системами - нужно следить за кодировками XML. Если что - нужен заголовок XML с явным указанием encoding. В последнее время пристрастился юзать анонимные блоки PL/SQL. Особенно если речь идет о "траспорте наружу" или "отчетниках" - параметры как таковые не используются внутри пакета, а просто ретранслируются на внешние обработчики. При этом PL/SQL блок можно править "на ходу" в любое время - инвалидирования пакетов (и вопли юзеров - "все сломалось") из-за изменения количества параметров и каких-то простейших дополнений в код не будет. На этом все, наверное. До связи :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 18:05 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
ZhV, Все это замечательно, только у меня это уже java а не апекс. Каждой задаче своя платформа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 21:05 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
Petro123, У меня есть опыт в back-end для .Net/ASP приложений - там без XML вообще никак. Когда как следует врубишься в XML - какая разница, на какой платформе его юзать. Тем более в Oracle очень много средств под него. Вообще, выскажу может быть крамольную мысль для данного форума. APEX - это конструктор web-приложений для PL/SQL программистов. Все мои знакомые "реальные" java-программисты либо не знают либо очень спокойны к APEX - он им не нужен совсем. APEX не конкурент огромному зверинцу java фрэймворков и платформ. Даже чисто визуально по-юзерски - странички на JBOSS например рендерятся заметно резвее APEX . Ну а среда разработки APEX - хоть и красиво местами, но тормоз страшный. А писать код в черно-белых диалоговых html-окошках - вообще удовольствие небольшое. Когда-то я интенсивно рубился на Powebuilder - немного знакомился с совсем редкой нишевой web-платформой от Sybase - Appeon. Интересные идеи, но кому они нужны при гегемонии java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 22:03 |
|
||
|
Передача значения только что измененного Item при редиректе
|
|||
|---|---|---|---|
|
#18+
ZhVУ меня есть опыт в back-end для .Net ну дак, тем более. Net - это уже ЯП высокого уровня. Всё верно. ZhVВообще, выскажу может быть крамольную мысль для данного форума. умные поймут. А остальным пофиг. ZhVAPEX - это конструктор web-приложений для PL/SQL программистов. +5 Для тех кто не писал на ином веб приложений. Т.е. ОЧЕНЬ ХОРОШ для своей ниши. ZhVсреда разработки APEX - хоть и красиво местами, но тормоз страшный. тормоза не заметил. заетил интерфейс и урл специфичный (грубый-большой). ZhVКогда-то я интенсивно рубился на Powebuilder это десктоп. А в веб только Net\PHP\Java - увы)) LOL Даже MS с его сильверлайт обломился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 22:34 |
|
||
|
|

start [/forum/topic.php?all=1&fid=50&tid=1874428]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
129ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
121ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 551ms |

| 0 / 0 |
