Гость
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / переменные сессии и динамические формы / 11 сообщений из 11, страница 1 из 1
24.02.2011, 13:32
    #37133614
J.d
J.d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переменные сессии и динамические формы
доброго времени суток )

вопрос из двух частей тем не менее у меня всё это часть целого. первое - есть ли возможность через api pl/sql да, например, создавать так называемые сессионные переменные, и хранить там значения внутри сессии для пользователя, при этом не создавая <input> или другой контрол ввода данных. что-то вроде apex_util.set_attribute. - хопс, создал переменную, присвоил значение. и не надо "таскать" её со страницы на страницу по скрытым полям.

вот а второе - пример. есть платежи. по каждому типу платежей - свой набор реквизитов. соответственно когда выбирают в выпадающем списке тип платежа/операции - я через plsql блок динамически достраиваю форму - генерю html код с контролами. - (какие должны быть для кажого типа платежа реквизиты - у меня хранится в справочнике). в итоге - как только в форму добавляется мой свежесгенеренный контрол, при отправке данных формы, вылетает 404. В СТРОКЕ - wwv_flow.accept без параметров. я глядел в html код страницы - там черт ногу сломит.

Есть выход создать невидимое поле, и перед отправкой поля яваскриптом склеитвать значения динамических полей и бахать в невидимку, и отправлять, но это гемор, может кто сталкивался, подскажите.
...
Рейтинг: 0 / 0
24.02.2011, 14:13
    #37133699
J.d
J.d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переменные сессии и динамические формы
учитывая что есть вот эти все функции, разрабы предусматривали мой случай -

APEX_ITEM.HIDDEN(1,empno)
APEX_ITEM.TEXT(2,ename)
APEX_ITEM.TEXT(3,job)
APEX_ITEM.DATE_POPUP(4,rownum,hiredate,'dd-mon-yyyy')
APEX_ITEM.TEXT(5,sal)
APEX_ITEM.TEXT(6,comm)
...
Рейтинг: 0 / 0
24.02.2011, 14:14
    #37133705
J.d
J.d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переменные сессии и динамические формы
всмысле они генерят html код для input-ов
...
Рейтинг: 0 / 0
24.02.2011, 14:34
    #37133754
haXbat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переменные сессии и динамические формы
J.d,

APEX_COLLECTION подойдет?

Collections enable you to temporarily capture one or more nonscalar values. You can use collections to store rows and columns currently in session state so they can be accessed, manipulated, or processed during a user's specific session. You can think of a collection as a bucket in which you temporarily store and name rows of information.
...
Рейтинг: 0 / 0
24.02.2011, 14:42
    #37133772
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переменные сессии и динамические формы
J.dпервое - есть ли возможность через api pl/sql да, например, создавать так называемые сессионные переменные, и хранить там значения внутри сессии для пользователя, при этом не создавая <input> или другой контрол ввода данных. что-то вроде apex_util.set_attribute. - хопс, создал переменную, присвоил значение. и не надо "таскать" её со страницы на страницу по скрытым полям.

0. APEX_UTIL.SET_PREFERENCE / APEX_UTIL.GET_PREFERENCE / APEX_UTIL.REMOVE_PREFERENCE.
1. Переменные уровня приложения (Application Items).
2. Глобальный пользовательский контекст.

J.dвот а второе - пример. есть платежи. по каждому типу платежей - свой набор реквизитов. соответственно когда выбирают в выпадающем списке тип платежа/операции - я через plsql блок динамически достраиваю форму - генерю html код с контролами. - (какие должны быть для кажого типа платежа реквизиты - у меня хранится в справочнике). в итоге - как только в форму добавляется мой свежесгенеренный контрол, при отправке данных формы, вылетает 404. В СТРОКЕ - wwv_flow.accept без параметров. я глядел в html код страницы - там черт ногу сломит.

0. Создать по элементу для каждого возможного атрибута и проставить у них необходимые условия для отображения.
1. Использовать APEX_ITEM, в процессах работать со значениями из коллекций APEX_APPLICATION.g_fXX. Этот пакет можно использовать в регионе типа PL/SQL Dynamic Content. Либо в отчёте, обращаясь к соответствующим функциям в запросе в зависимости от типа атрибута. Единственная проблема - специфичная обработка флажков (checkbox), в коллекцию заносятся только значения отмеченных.
...
Рейтинг: 0 / 0
24.02.2011, 14:55
    #37133798
J.d
J.d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переменные сессии и динамические формы
suPPLer,

APEX_UTIL.SET_PREFERENCE - пробовал, не получалось, но раз вы говорите что это оно, значит я что-то не так делал,
отлично, спасибо!

по второму вопросу:

автор0. Создать по элементу для каждого возможного атрибута и проставить у них необходимые условия для отображения.


это проблематично, такой подход был выбран мной исходя из таких рассуждений, что кол-во типов платежей и операций будет расти, соответственно для каждого типа будет свой набор полей/реквизитов, - постоянно "дописывать" приложение - не улыбалось, поэтому захотелось перенести этот процесс на плечи т.н. "админа" приложения и спец интерфейса - где к типам можно привязывать поля и настраивать их, а не разработчика, который смог бы дописывать код формы.

автор1. Использовать APEX_ITEM, в процессах работать со значениями из коллекций APEX_APPLICATION.g_fXX. Этот пакет можно использовать в регионе типа PL/SQL Dynamic Content. Либо в отчёте, обращаясь к соответствующим функциям в запросе в зависимости от типа атрибута.
с этим проблем нет.

авторЕдинственная проблема - специфичная обработка флажков (checkbox), в коллекцию заносятся только значения отмеченных.
до этого еще не доходило но я предчувствовал, что будут вопросы, спасибо что подсказали заранее где может быть загвоздка)
...
Рейтинг: 0 / 0
24.02.2011, 15:12
    #37133850
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переменные сессии и динамические формы
J.dэто проблематично, такой подход был выбран мной исходя из таких рассуждений, что кол-во типов платежей и операций будет расти, соответственно для каждого типа будет свой набор полей/реквизитов

Ну, не сотни же типов будут. Можно выделить общие атрибуты, создать для их ввода отдельную страницу. А в зависимости от выбранного типа переходить на одну из страниц с атрибутами, специфичными для набора типов, и выводить их по условиям.
...
Рейтинг: 0 / 0
24.02.2011, 15:19
    #37133873
J.d
J.d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переменные сессии и динамические формы
suPPLer,

может и сотни. уже сотни думаю. и еще на подходе. типа единая система платежей и переводов.

ясно, понятно. .. а почему 404 выскакивает у вас нет предпложений?
...
Рейтинг: 0 / 0
24.02.2011, 15:29
    #37133902
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переменные сессии и динамические формы
J.dясно, понятно. .. а почему 404 выскакивает у вас нет предпложений?

Потому APEX может обрабатывать только элементы формы, созданные декларативно, через Application Builder, либо через API (APEX_ITEM). В случае с APEX_ITEM можно даже не обращаться к пакету, а самостоятельно дописывать элементы ввода, соблюдая ту же HTML-структуру (атрибуты name, id, value и т.д.), например, новые строки к табличной форме/изменяемому отчёту.
...
Рейтинг: 0 / 0
24.02.2011, 15:34
    #37133917
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переменные сессии и динамические формы
J.dsuPPLer,

может и сотни. уже сотни думаю. и еще на подходе. типа единая система платежей и переводов.

Всё равно слишком много типов. Большинство платежей имеют общую структуру: получатель, услуга, номер для идентификации плательщика (номер счёта/заказа/код в БД получателя), сумма, комиссия. То же и с переводами. Думаю, можно сильно уменьшить количество действительно уникальных типов. :)
...
Рейтинг: 0 / 0
24.02.2011, 15:35
    #37133921
J.d
J.d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
переменные сессии и динамические формы
suPPLer,

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


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