powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Запустить процедуру через html кнопку
14 сообщений из 14, страница 1 из 1
Запустить процедуру через html кнопку
    #36465271
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне необходимо через кнопку запустить процесс с параметрами. Как можно это сделать?
...
Рейтинг: 0 / 0
Запустить процедуру через html кнопку
    #36465491
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Foxter,

с сабмитом страницы, с простым переходом, вообще без перехода?
...
Рейтинг: 0 / 0
Запустить процедуру через html кнопку
    #36465713
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suPPLerFoxter,

с сабмитом страницы, с простым переходом, вообще без перехода?

Можно с переходом на эту же страницу, так как процедура принудительно запускает формирование отчета и можно его сразу же отобразить после исполнения.
...
Рейтинг: 0 / 0
Запустить процедуру через html кнопку
    #36465781
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Foxter,

Кнопка Submit and Branch + Процесс с условием When Button Pressed + Branch с таким же условием.
...
Рейтинг: 0 / 0
Запустить процедуру через html кнопку
    #36466002
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suPPLerFoxter,

Кнопка Submit and Branch + Процесс с условием When Button Pressed + Branch с таким же условием.

У меня репорт. в котором во фреймах отображаются хтмл-страницы, а вот внизу кнопки. как хтмл. Мне необходимо добавить такуюже кнопочку хтмл. но запускающую процесс. Я же не смогу туда вставить кнопку апекса, так как вывод кнопки (html) происходит через htp.p вот таким кодом

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select '<IFRAME src="/i/procont/tc_rep/'||r.file_name||'" width="1100" height="500" scrolling="auto" frameborder="1"></iframe>

<br><br><input type="button" value=" Открыть в новом окне " onClick=window.open("/i/procont/tc_rep/'||r.file_name||'")><br><br>' " "
FROM tc_rep R,
(select instr(':'||U.rep_user||':', ':'||R2.t_rep_id||':',  1 ,  1 ) r_id, R2.t_rep_id
from tc_t_rep R2, tc_user_rep U

where U.user_ID = :APP_USER) Z
WHERE Z.r_id >  0 
AND R.t_rep_id = Z.t_rep_id 
AND R.file_name is not null
AND trunc(R.dt_in) = :dor;
...
Рейтинг: 0 / 0
Запустить процедуру через html кнопку
    #36466006
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точнее пакетную процедуру, а не процесс. Типа

Код: plaintext
apex_tc_rep.run_report_batch
...
Рейтинг: 0 / 0
Запустить процедуру через html кнопку
    #36466139
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterМне необходимо добавить такуюже кнопочку хтмл. но запускающую процесс.

кнопке установить onclick=doSubmit('<REQUEST>'), процессу и бранчу в условиях выбрать тип Request=Expression 1 , в Expression 1 написать <REQUEST>.
...
Рейтинг: 0 / 0
Запустить процедуру через html кнопку
    #36479147
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, SuPPler, Вы мне оказали неоценимую помощь. Теперь начинаю понимать как организован механизм Апекс :). Не поможете еще немного? :)

Мне как-то необходимо передать в пакетную функцию (по нажатию кнопки html) параметры ее исполнения (дату и тип отчета).

Функцию запускает процедура (так как не знаю можно ли запустить ее напрямую с кнопки). И использует 2 параметра.

Попробывал сделать так:

Код: plaintext
<input type="button" value=" Refresh " onClick=javascript:doSubmit(''REQUEST(sysdate, 2 )'')>

Но, как Вы понимаете, ничего не произошло. Потом думал, что можно параметры передавать через скрытые поля. но как записать в них данные через хтмл - не понимаю.

Каким образом можно запустить пакетную функцию с параметрами через кнопку хтмл? Заранее благодарен.
...
Рейтинг: 0 / 0
Запустить процедуру через html кнопку
    #36479301
non-apexoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ответ несколько раз содержался в предыдущих постах. Вам нужен процесс уровня страницы, срабатывающий при сабмите по нажатию определённой кнопки. Аргументы ваша функция возьмёт из значений полей на странице, скрытых или нет, не важно.
...
Рейтинг: 0 / 0
Запустить процедуру через html кнопку
    #36479846
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так в том - то, собственно и дело.

У меня формируется отчет, каждая строка которого содержит фрейм со страницей. параметры которой получены селектом. То есть, у каждой записи отчета отдельные параметры .

Таким образом, при нажатиии кнопки в поля должны записываться разные значения.

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

Вот в чем дело.
...
Рейтинг: 0 / 0
Запустить процедуру через html кнопку
    #36485131
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил записывать значения в поля. а потом вызывать процедуру.

Код: plaintext
1.
2.
3.
4.
5.
6.
<script type="text/javascript">  
function changeContent(){
alert("!!!");
element = document.getElementById("P28_ARG1");
element.value+="'||R.T_REP_ID||'";
javascript:DoSubmit("Rebatch");
}  

Все работает, поле заполняется. ТОЛЬКО не запускается процедура. Видимо с вызовом что-то не так.
...
Рейтинг: 0 / 0
Запустить процедуру через html кнопку
    #36499075
aboutapex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Foxter,

авторЯ понимаю, что реквест может запускать процедуру, которая может брать параметры из этих полей.
Видимо все таки не до конца понимаете.
Процедура не запускается из javascripta непосредственно. Для запуска процедуры необходим Apex Process - основной механизм выполнения PL/SQL. Процесс запускается либо перед отрисовкой страницы, либо после Submit. В Вашем случае непонятно пока, создали вы процесс на странице или нет.
Про создание процессов подробно написано в в документации.

авторjavascript:DoSubmit("Rebatch");
javascript чувствителен к регистру идентификаторов функция пишется doSubmit.

В апексе лучше вместо
авторelement = document.getElementById("P28_ARG1");
использовать
Код: plaintext
element = $x("P28_ARG1");
...
Рейтинг: 0 / 0
Запустить процедуру через html кнопку
    #36501538
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.

Процесс был создан изначально. Сейчас все работает.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Запустить процедуру через html кнопку
    #38047901
rockclimber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тоже аналогичная проблема.
Сделал кнопку, все работает, но есть нюанс: если в свойствах кнопки в разделе Button Display Attributes выбрать стиль "HTML button", то кнопка перестает работать, точнее, перестает вызывать прописанный ей обработчик onclick. Если вернуть стиль Image, то нормально вызывает мою javascript функцию. Хотелось бы все-таки не картинку, а "HTML button".
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Запустить процедуру через html кнопку
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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