Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / UI типа "Wizard" с несколькими Tabular Form и транзакционность. / 5 сообщений из 5, страница 1 из 1
28.08.2017, 15:26
    #39511742
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UI типа "Wizard" с несколькими Tabular Form и транзакционность.
Привет!
Есть визард, который позволяет создать карточку клиента.
1. Заполняем простые анкетные данные (Form)
2. Заполняем список документов (Tabular Form)
3. Заполняем список объектов (Tabular Form)

4.1. Жмём "SAVE" - всё вместе сохраняется.
4.2. Жмем "CANCEL" - всё вместе отменяется.

Обычно последняя страница визарда у меня совершает все операции DML, включая MRU от Tabular Form.
Но в данном случае требуется пробежаться по строкам 2-х таблиц.
Что подскажете?
Заранее благодарен.
...
Рейтинг: 0 / 0
28.08.2017, 17:02
    #39511807
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UI типа "Wizard" с несколькими Tabular Form и транзакционность.
Может быть на странице 2 создать кастомную коллекцию, заполнить ее из Tabular Form, а на финальной странице записать данные из нее в БД?..
Кто-нить реализовывал такую фитчу?
...
Рейтинг: 0 / 0
29.08.2017, 10:23
    #39512046
heavyside
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UI типа "Wizard" с несколькими Tabular Form и транзакционность.
Курдль,

Не очень понимаю что значит "кастомная коллекция", но я бы заюзал apex_collections если возможно. Соответственно если таблицы две, то две коллекции с различными именами. Если apex_collections по типу/количеству столбцов не проходит (мне например иногда не хватает числовых полей), то можно создать таблички в базе с нужными полями и полем юзер (если юзер может одновременно только одну сессию иметь). и чистить их по юзеру. Оба варианта использовал для визардов, всё хорошо работало.
...
Рейтинг: 0 / 0
29.08.2017, 10:28
    #39512050
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UI типа "Wizard" с несколькими Tabular Form и транзакционность.
heavyside,

Да, под кастомной я имел в виду именованную apex_collection в отличие от типовой коллекции apex_application, в которую по умолчанию попадают результаты Tabular Form.
...
Рейтинг: 0 / 0
30.08.2017, 13:54
    #39512801
Курдль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UI типа "Wizard" с несколькими Tabular Form и транзакционность.
Поделюсь своим опытом.
Решение оказалось вполне удовлетворительным.
Причем удалось избежать проблемы исчезновения данных из Tabular Form после перехода туда/обратно по кнопкам визарда NEXT/PREVIOUS.
Для этого достаточно построить Tabular Form регион на запросе к той же коллекции, где сохраняются его записи.
Код: plsql
1.
SELECT n001, n002, n003, c001, c002, c003, c004 FROM APEX_COLLECTIONS WHERE COLLECTION_NAME = 'EMPLOYEE'



Для сохранения данных при уходе со страницы создаётся процесс After Submit:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
BEGIN
   APEX_COLLECTION.CREATE_OR_TRUNCATE_COLLECTION (p_collection_name => 'EMPLOYEE');
      
   FOR i IN 1 .. APEX_APPLICATION.G_F02.COUNT
   LOOP
      APEX_COLLECTION.ADD_MEMBER (p_collection_name   => 'EMPLOYEE',
                                  p_n001              => APEX_APPLICATION.G_F02 (i),
                                  p_n002              => APEX_APPLICATION.G_F03 (i),
                                  p_n003              => APEX_APPLICATION.G_F04 (i),
                                  p_c001              => APEX_APPLICATION.G_F05 (i),
                                  p_c002              => APEX_APPLICATION.G_F06 (i),
                                  p_c003              => APEX_APPLICATION.G_F07 (i),
                                  p_c004              => APEX_APPLICATION.G_F08 (i));                               
   END LOOP;
END;
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / UI типа "Wizard" с несколькими Tabular Form и транзакционность. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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