powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Динамическое обновление репорта
26 сообщений из 26, показаны все 2 страниц
Динамическое обновление репорта
    #37591952
SimbaRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
APEX4

Имеется region1:
html-созданные инпуты и кнопка (onclick="myF();")
myF(); - ajax-функция, запускает apex-процесс, который заменяет данные в table1 из инпутов

region2:
репорт table1

вопрос:
- как динамически обновить репорт?
- возможно ли обновить только те данные, которые были изменены?
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #37593777
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SimbaRu,

Если необходимо обновить репорт именно из js-функции, то можно воспользоваться $a_report(pId,pMin,pMax,pFetched,pSort) . В качестве одной из переменных на вход нужно передать id репорта, который можно узнать, дописав этот скрипт в Region Footer репорта.
Код: html
1.
2.
3.
<script type="text/javascript">
    var p1_otchetlist='#REGION_STATIC_ID#'.substr(1);
</script>


Начиная с 4-й версии апекса подобный функционал удобнее реализовывать через через Dynamic Actions > Refresh Region
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #37692346
SimbaRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или вот ещё один способ:
Код: javascript
1.
2.
3.
<script>
        setTimeout("$('#REGION_ID#').trigger('apexrefresh');", 1000);
</script>
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Динамическое обновление репорта
    #38323377
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haXbatНачиная с 4-й версии апекса подобный функционал удобнее реализовывать через через Dynamic Actions > Refresh Region
Согласен. Но что указывать в причине срабатывания акшена, если хочешь, чтобы срабатывало по JS коду?
Код: javascript
1.
$('30').trigger('apexrefresh');

?
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38323713
kasik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Черным по белому написано, что идентификатор репорта!!! Смотрите внимательней, а потом уже и задавайте вопросы, а то ответа можете и не дождаться.
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38335949
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-нибудь есть справочник по всем эвэнтам всех элементов, типа apexrefresh для регионов?

P.S. Можно ли за 1 запрос сделать обновление на сервере переменной, которая подставляется для запроса отчета и рефрешнуть сам отчет?

Код: javascript
1.
2.
3.
4.
htmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS=',$v('pFlowStepId'));
get.add('P1_REPORT_SEARCH', 'OLU');
var ret = get.get();
$('#report_999').trigger('apexrefresh');
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38336590
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще одна проблема появилась. Подобное обновление не обновляет количество строк на страницу.
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38336626
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyP.S. Можно ли за 1 запрос сделать обновление на сервере переменной, которая подставляется для запроса отчета и рефрешнуть сам отчет?

Пробовал сделать такое еще во время APEX 3.2. Остановился на этом. Насколько я помню, передать доп. параметры в этом POST так и не получилось.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
// send request  
			        $.post("f", {
			            p: $v('pFlowId') + ":" + $v('pFlowStepId') + ":" + $v('pInstance') + ":FLOW_PPR_OUTPUT_R" + my_report_id + "_pg_R_" + my_report_id,
			            pg_max_rows: 20,
			            pg_min_row: 1,
			            pg_rows_fetched: 100
			        }, function (data) {

			            //do smth
			        });
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38336683
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haXbat,

Видимо в 4-ке все по другому, там сейчас другие наборы. Может кто знает как получить это число (выделено красным)?

p_request:APXWGT
p_flow_id:104
p_flow_step_id:1
p_instance:1256200191706
p_debug:
p_widget_action:paginate
p_pg_min_row:31
p_pg_max_rows:10
p_pg_rows_fetched:10
x01:2361711335907569
p_widget_name:classic_report

Это один из параметров запроса.
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38336764
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly,

Это REGION_STATIC_ID. Читай выше, как его можно получить.
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38336781
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haXbat,

Посмотрел поведение classic report в 4.2.2
Значения айтемов, которые можно указать в секции "Page Items to Submit" в настройках отчета передаются $('#region_id').trigger('apexrefresh');
Т.е. можно передать значения параметров и обновить сам отчет одним AJAX запросом.
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38336789
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haXbatGustly,

Это REGION_STATIC_ID. Читай выше, как его можно получить.
REGION_STATIC_ID У меня 999, а эта переменная содержит x01=2361711335907569 вообще хз что.
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38336793
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haXbatпередаются $('#region_id').trigger('apexrefresh');

А это вы где такое откопали?
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38336845
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly,

Набросал примерчик. Смотри исходники
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38336851
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haXbatGustly,

Набросал примерчик. Смотри исходники
А исходники только вы видите же. В запросе передается x01:23267393114798076311, как мне его самому вычислять? Не может быть такой ИД у какого либо элемента.
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38336883
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyА исходники только вы видите же.
При входе в приложение указан workspace, чтобы можно было зайти под разработчиком.

Gustlyкак мне его самому вычислять?
Код: javascript
1.
2.
3.
4.
<script type="text/javascript">
//region footer
    var my_region_id='#REGION_STATIC_ID#';
</script>
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38336893
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haXbat<script type="text/javascript">
//region footer
var my_region_id='#REGION_STATIC_ID#';
</script>

[/src]
Я же выше писал, это возвращает 999, ИД репорта, но никак не 2361711335907569
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38336959
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот рабочий вариант. Причем работает только при x01:2361711335907569, любые другие цифры ничего не дают. Как будто это какой-то ИД элемента в самой базе.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
$.post("wwv_flow.show", {
p_request:'APXWGT',
p_flow_id:$v('pFlowId'),
p_flow_step_id:$v('pFlowStepId'),
p_instance:'1256200191706',
p_widget_action:'reset',
x01:2361711335907569,
p_widget_name:'classic_report',
p_arg_names:'P1_REPORT_SEARCH',
p_arg_values:$v('P1_REPORT_SEARCH')
			        }, function (data) {
//alert($x('trace_checks'))
$x('trace_checks').innerHTML=data;
			        });
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38337095
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyКак будто это какой-то ИД элемента в самой базе.

Так и есть.
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38337102
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyЯ же выше писал, это возвращает 999, ИД репорта, но никак не 2361711335907569
Зайдите в мой workspace на apex.oracle.com (haxbat demo/demo) и убедитесь, что в моем примере все работает именно так, как я и описал.
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38337117
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haXbat,

Такое ощущение, что мы говорим о разных вещах.
У тебя на кнопке $('#'+my_region_id).trigger('apexrefresh');
my_region_id - ИД элемента на странице, если его не задать возвращает R23267393114798076311, а у меня он задан. Из консоли вытаскиваем x01:23267393114798076311, почти идентичны, кроме первой буквы. Не хотелось бы удалять у меня ИД, но видимо придется, раз так.
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38342072
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как постом передать 2 параметра с разными значениями?
Вот пост запрос из консоли. Тут две штуки p_arg_names и p_arg_values, как их вручную передать? Если просто перечислить 2 раза, то 2-й перезатрет первый.

p_request:APPLICATION_PROCESS=
p_instance:1151682107951
p_flow_id:104
p_flow_step_id:1
p_arg_names:P1_REPORT_SEARCH
p_arg_values:olu
p_arg_names:P1_ROWS
p_arg_values:15
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38342258
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly,

Как-то так, работало в 4.0. В 4.2 не проверял.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
$.post(
	   "wwv_flow.show",
	   {
	   p_flow_id:$('#pFlowId').attr("value"),
	   p_instance:$('#pInstance').attr("value"), 
	   p_flow_step_id:"4",
	   x01:'MY_PROC',
		'p_arg_names':['P4_MESBODY','P4_RESPID','P4_INNERID','P4_CLAIMNAME','P4_CLAIMDATE','P4_USERNAME','P4_STATUSLISTS','P4_CLAIMID'],  
		'p_arg_values':[$v('P4_MESBODY'),$v('P4_RESPID'), $v('P4_INNERID'),$v('P4_CLAIMNAME'),$v('P4_CLAIMDATE'),$v('P4_USERNAME'),$v('P4_STATUSLISTS'),$v('P4_CLAIMID')],  
	   p_request:"APPLICATION_PROCESS=MY_PROC"
		},
		function(){
		//console.log('DONE');
		}
		
);
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38342313
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
haXbat,

А почему имена-то массивов в кавычках!? Я пробовал имя_массива[0] ругалось.
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38343253
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyА почему имена-то массивов в кавычках!?
Так получилось. Проверил, что работает как с кавычками, так и без.
...
Рейтинг: 0 / 0
Динамическое обновление репорта
    #38381149
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как динамически обновить табулар форм? Судя по консоли запрос идет, и возвращает содержимое с формой, но не обновляет.
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Динамическое обновление репорта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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