powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как получить ID только что созданной в модальном диалоге записи?
25 сообщений из 49, страница 1 из 2
Как получить ID только что созданной в модальном диалоге записи?
    #39292065
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем:
1. Форма редактирования Заявки
2. На ней ITEM (SelectList) "Выбор исполнителя" и рядом кнопка "Добавить" (если исполнителя в списке еще нет)

Мои потуги:
1. Создан модальный диалог "Ввод исполнителя"
2. В Process Row задан параметр Return Key into Item = P99_EXECUTOR_ID
3. В процессе Close Dialog задан параметр Items to Return = P99_EXECUTOR_ID

Далее - ступор :) Как принять в вызывающей странице это значение?
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39292076
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльКак принять в вызывающей странице это значение?
зачем? После добавления в БД и вызова refresh айтемса-списка в нём будет новое значение. Далее пусть выбирают.
К сожалению данный целиком айтемс давно пора засунуть в платформу апекса.
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39292077
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
вызвать родителя и дать ему пинка (refresh) через
Код: javascript
1.
javascript: opener.document.ssssssss
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39292125
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123зачем? После добавления в БД и вызова refresh айтемса-списка в нём будет новое значение. Далее пусть выбирают.
К сожалению данный целиком айтемс давно пора засунуть в платформу апекса.
Есть такие дебилы-юзабилы, которые подсчитывают кол-во кликов до достижения результата и борются с каждым лишним.
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39292141
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльPetro123зачем? После добавления в БД и вызова refresh айтемса-списка в нём будет новое значение. Далее пусть выбирают.
К сожалению данный целиком айтемс давно пора засунуть в платформу апекса.
Есть такие дебилы-юзабилы, которые подсчитывают кол-во кликов до достижения результата и борются с каждым лишним.
нет проблем (на JS подставить самому в коде ID).
Только время = деньги, и пусть об этом договаривается твой работодатель.
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39292168
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123нет проблем (на JS подставить самому в коде ID).
Только время = деньги, и пусть об этом договаривается твой работодатель.
Для меня есть проблемы на JS подставить в коде. Сейчас нет времени лезть в проблемные для моего понимания области.
А работодатель уверен, что APEX - это инструмент "Quick Win" решений, не требующих затрат.
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39292179
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльА работодатель уверен, что APEX - это инструмент "Quick Win" решений, не требующих затрат.
убеди его что оракл сделал его апекс, как решение требующее POST и перерисовку всей страницы.
Т.к. рендерит всё СУБД.
Поэтому лишние клики.
........
А так, решение из под полы и НЕкрасивое
Код: javascript
1.
javascript: opener.document.forms['wwv_flow'].P3_ID.value='#ID#'; window.close(); opener.jQuery('#P3_ID').trigger('change');
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39292259
dvksqlru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КурдльКак получить ID только что созданной в модальном диалоге записи?

Если я правильно понял вопрос, то могу как вариант предложить в процессы AferSubmit первой поставить PL/SQL процедуру вида:

Код: plsql
1.
:P1_ID := MY_SEQ.NEXTVAL;



Таким образом все последующие процессы знают новый ID
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39292261
dvksqlru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КурдльДалее - ступор :) Как принять в вызывающей странице это значение?

В этом случае попробуй создать DA, вида Dialog Closed а в нем акцию Dialog Return Item. И в модальной форме, вроде, было какое-то свойство типа Dialog Return Item
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39292291
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dvksqlruDA, вида Dialog Closed
это в 5-ке такое появилось?
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39292350
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dvksqlruКурдльДалее - ступор :) Как принять в вызывающей странице это значение?

В этом случае попробуй создать DA, вида Dialog Closed а в нем акцию Dialog Return Item. И в модальной форме, вроде, было какое-то свойство типа Dialog Return Item

Да, я это всё установил.
Более того, в DA вызывающей формы проставил: Action = SetValue; Set Type: Dialog Return Item; Return Item = P99_EXECUTOR_ID;
Однако значение не появляется...
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39292365
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
Включи debug и смотри консоли вызовы DA.
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39292366
dvksqlru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123это в 5-ке такое появилось?

Да

Курдль
Да, я это всё установил.
Более того, в DA вызывающей формы проставил: Action = SetValue; Set Type: Dialog Return Item; Return Item = P99_EXECUTOR_ID;
Однако значение не появляется...

ЕМНИП, в таком случае надо использовать один из вариантов, а не оба сразу.
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39295813
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Курдль,
Включи debug и смотри консоли вызовы DA.

Блин! Всё нормально вызывается и возвращается.
Моя проблема в том, что я пытаюсь занести новое ID в Select List.
Т.к. Select List наполняется при загрузке странице, запись с новым ID изначально отсутствует.
Это объясняет, почему мне не удалось ничего прописать туда "нахрапом" - не разобравшись.
А вот почему мне всё равно не удаётся ничего туда записать после выполнения Refresh?

Т.е. я создаю две True Actions на одну и ту же Dynamic Action.
Первая должна перезагрузить с сервера Select List, а вторая - установить в нём значение = ID, полученному из модального диалога.

Но этого не происходит :(
Select List остаётся неизменным. Точнее после refresh в его недрах появляется новый элемент, но он не оказывается выбранным.
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39295946
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
Делай кусками. Сначала выбери не новое, а существующее. Это же очевидно.
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39295951
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
На onRefresh списка поставь логирование. Возможно событие идет после твоего кода. А нужно - перед.
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39296007
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Курдль,
Делай кусками. Сначала выбери не новое, а существующее. Это же очевидно.

Я так и проверял.
Код: html
1.
Dynamic Action -> Dialog Closed -> Region -> "Region #1" -> True Action -> Set Value -> Static Assignment -> 1 -> Item(s) - > P11_EXECUTOR_ID



1. Если установлены две True Actions: Refresh + Set Value, то Select List не устанавливается на существующую строку 1
2. Если установлена одна True Actions: Set Value, то Select List устанавливается на существующую строку 1

Полное решение:
Код: html
1.
Dynamic Action -> Dialog Closed -> Region -> "Region #1" -> True Action -> Set Value -> Dialog Return Item -> P99_EXECUTOR_ID -> Item(s) - > P11_EXECUTOR_ID



1. Если установлены две True Actions: Refresh + Set Value, то Select List не устанавливается на строку, ID которой вернулось из Диалога
2. Если установлена одна True Actions: Set Value, то Select List устанавливается на строку ID которой вернулось из Диалога (это и понятно - в Select List без обновления еще нет такой строки)


Попытки менять последовательность True Actions и даже создавать отдельные Dynamic Action "Dialog Closed" для refresh и set value ничего не дали.

Petro123Курдль,
На onRefresh списка поставь логирование. Возможно событие идет после твоего кода. А нужно - перед.
Как это сделать? Я еще не очень дружу с дебаггером :(
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39296024
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльЯ так и проверял.
у меня нет 5-ки.
Т.е. из модального окна без всякой вставки и выбора, просто в константе прописать - подставить в список второе значение сверху = не работает?

КурдльКак это сделать? Я еще не очень дружу с дебаггером :(
DA на событие выпадающего списка и в DA:
console.info("____");
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39296046
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123у меня нет 5-ки.
Т.е. из модального окна без всякой вставки и выбора, просто в константе прописать - подставить в список второе значение сверху = не работает?

Более того, я создал пустой тестовый ITEM: P11_TEST и при создании True Action дописал его в список полей-получателей:
Код: html
1.
Item(s) - > P11_EXECUTOR_ID, P11_TEST


Так вот этот ITEM успешно получает новое значение после закрытия модального диалога. Дело именно в Select List и его обновлении.
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39296072
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльДело именно в Select List и его обновлении.
может там баг такой же как в select2?
19465748
КурдльТак вот этот ITEM успешно получает новое значение после закрытия модального диалога.
есть запасной вариант - выше код приводил. Пишешь в айтемс текстовый, а потом уже через его события или см.код выше.
Это будет как в 4-ке.
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39296087
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123есть запасной вариант - выше код приводил. Пишешь в айтемс текстовый, а потом уже через его события или см.код выше.
Это будет как в 4-ке.

Я подумываю вообще отказаться от Select Lists, т.к. они приемлемы для выбора из десятка строк.
А есди из тысяч - не обойтись без специальной страницы выбора по разным фильтрам.
Кроме того, объемный Select List грузит страницу.
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39296093
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльPetro123есть запасной вариант - выше код приводил. Пишешь в айтемс текстовый, а потом уже через его события или см.код выше.
Это будет как в 4-ке.

Я подумываю вообще отказаться от Select Lists, т.к. они приемлемы для выбора из десятка строк.
А есди из тысяч - не обойтись без специальной страницы выбора по разным фильтрам.
Кроме того, объемный Select List грузит страницу.
ты не прав. У нас заказчик обязал всех перейти на selec2 и экскурсии проводит как он работает.
(побуквенный поиск).
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39296095
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльКроме того, объемный Select List грузит страницу.
там ленивая подгрузка есть. Но я не пробовал т.к. не тормозит.
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39296103
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдльпо разным фильтрам.
Тут сам смотри.
У меня напр. поле
Ответственный: select2
Я там вывожу через тире ФИО и должность.
В свойствах поиска ставим "в любом месте слова + игнор регистр".
И ищет хоть по имени хоть по должности.
Минимум кликов и действий.
...
Рейтинг: 0 / 0
Как получить ID только что созданной в модальном диалоге записи?
    #39296219
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Курдльпо разным фильтрам.
Тут сам смотри.
У меня напр. поле
Ответственный: select2
Я там вывожу через тире ФИО и должность.
В свойствах поиска ставим "в любом месте слова + игнор регистр".
И ищет хоть по имени хоть по должности.
Минимум кликов и действий.
Спасибо за идею - попробую Select2
...
Рейтинг: 0 / 0
25 сообщений из 49, страница 1 из 2
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как получить ID только что созданной в модальном диалоге записи?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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