powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / вычисление перед нажатием кнопки save
12 сообщений из 12, страница 1 из 1
вычисление перед нажатием кнопки save
    #37458772
checkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно чтобы мой запрос (или вычисление) сработал без нажатия кнопки save (то есть до того как я сохраню).

Вот запрос который работает при редактировании, прикреплен к айтему как Source Type(-> SQL Query)
select :P1_X - (SELECT SUM(b.m) FROM T1 b
where b.s=:P29_S and b.A=:P1_A
and b.y=:P1_Y) FROM T1 a

Как это можно сделать, или же через javascript сделать, если да то как?
Подскажите, плз, или может пример какой-нибудь есть?
...
Рейтинг: 0 / 0
вычисление перед нажатием кнопки save
    #37459147
checkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
без вариантов??
...
Рейтинг: 0 / 0
вычисление перед нажатием кнопки save
    #37459204
вызвать on-demand application process через Ajax
примерно вот так
...
Рейтинг: 0 / 0
вычисление перед нажатием кнопки save
    #37459930
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
checkin, формулируйте вопросы более четко. Код может выполняться только на какое-то действие или событие,
но не

Код: plaintext
1.
2.
If (пользователь подумал нажать кнопку)
  Выполниться;
end if;

В вашем случае, скорее всего, точно сказать не могу, нужен dynamic action, присутствует в apex 4.x
Указывааете на нужное событие pl sql код, вот вам и аякс без лишних морок.
...
Рейтинг: 0 / 0
вычисление перед нажатием кнопки save
    #37460175
checkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

у меня не apex 4, а третий
...
Рейтинг: 0 / 0
вычисление перед нажатием кнопки save
    #37460176
checkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уходящий прочь,

ничего похожего не вижу, разве что через скрипт все делать
...
Рейтинг: 0 / 0
вычисление перед нажатием кнопки save
    #37460897
non-apexoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
checkin, в приведённом примере используется AJAX для обновления списка. В вашем случае, если я правильно понял, все чуть проще. Для 3 Apex нужно:
1. создать on-demand процесс CALC, в котором будут производиться вычисления (выборка).
Например, вычисляется значение P_VAR3 из P_VAR1 и P_VAR2:
Код: plaintext
1.
2.
3.
4.
5.
6.
declare
  l_tmp number;
begin
  select :P_VAR1+:P_VAR2 into l_tmp from dual;
  htp.p(l_tmp);
end;

2. Добавить на страницу скрипт вычисления P_VAR3, вызываемый, например, по нажатию кнопки:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
function calc() {
    // ajax запрос
  var get = new htmldb_Get(null, $x('pFlowId').value, 'APPLICATION_PROCESS=CALC', &APP_PAGE_ID.);
  get.add('P_VAR1', $v('P_VAR1'));
  get.add('P_VAR2', $v('P_VAR2'));
  var gReturn=get.get();
  $s('P3_VAR', gReturn);
}
Единственный вопрос - так ли нужен ajax в вашем случае.
...
Рейтинг: 0 / 0
вычисление перед нажатием кнопки save
    #37461620
Ivandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос поставлен не понятно.
Но если я правильно понял, то лучшим решением проблемы будет выполнения этого же запроса в PL/SQL процессе срабатывающему по нажатию кнопки save и до процесса с сохранением данных. В самом процессе должен быть такой код:
select :P1_X - (SELECT SUM(b.m)
into :P1_MY_ITEM
FROM T1 b
where b.s=:P29_S and b.A=:P1_A
and b.y=:P1_Y) FROM T1 a

а сам этот :P1_MY_ITEM сделать обычным Text Field, без всякого Source Type(-> SQL Query), дабы не засорять страницу не нужным кодом
...
Рейтинг: 0 / 0
вычисление перед нажатием кнопки save
    #37461912
checkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
non-apexoid,

с ajax-ом не дружу, если можно без него )
но все равно попробую Ваш пример использовать.
...
Рейтинг: 0 / 0
вычисление перед нажатием кнопки save
    #37461913
checkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как же сделать это? Ivandr до процесса с сохранением данных.
потому что мне нужно вычислить до сохранения данных.
...
Рейтинг: 0 / 0
вычисление перед нажатием кнопки save
    #37462461
non-apexoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
checkin, если нужно вычислить значение какого-либо элемента до сохранения (обработки) данных, можно обойтись и без ajax.
Так как сохранение данных, скорее всего, происходит при сабмите с определённым REQUEST, можно по нажатию кнопки (или другому событию) делать самбит с другим REQUEST, и по нему производить вычисление поля. То есть просто использовать calculation с условием выполения по условию REQUEST='YOUR_CALCULATION'
...
Рейтинг: 0 / 0
вычисление перед нажатием кнопки save
    #37462744
Ivandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не понимаю в чем именно загвоздка?
вычислить данные до сохранения можно множеством способов, один из них я описал выше, его смысл в том что вы:
1. Нажимаете кнопку save
2. Запускается процесс вычисления данных.
3. Запускается сохранение данных.
Чего в этих трех шагах не хватает для вас? Или в какой возникает проблема?
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / вычисление перед нажатием кнопки save
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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