powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Получить значение в column report (или IR) асинхронно
61 сообщений из 61, показаны все 3 страниц
Получить значение в column report (или IR) асинхронно
    #39432790
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отчет основан на следующем запросе:

Код: sql
1.
2.
3.
4.
5.
select
id,
function1(id) as func_result,
.....
from table


function1 выполняется долго (возвращает html), так как использует CTX_DOC.SNIPPET который на больших документах может выполняется до секунды, если в Отчете к примеру 20 записей то получаем 20 секунд ожидания, хотя сам запрос выполняется менее секунды.

В попытках решить вопрос получается два решения:
1) В поле отчета func_result изначально писать ID, после после полной загрузки страницы пробежаться по всем записям и через apex.server.process собрать результат.
Запрос будет выглядеть так:
Код: sql
1.
2.
3.
4.
5.
select
id,
id as func_result,
.....
from table



2) Использовать apex_items, значение которого заменять в javascript для каждого поля отдельно.
Запрос будет выглядеть так:
Код: sql
1.
2.
3.
4.
5.
6.
select
id,
APEX_ITEM.TEXT(1,id) as func_result,
'<script> тут магия </script>' as js, -- скрипт выполняет apex.server.process и результат пишет в apex_item.text
.....
from table



Готовых примеров найти не получилось, подскажите куда копать?
Какой вариант в данной ситуации применять?
Гугл дает только примеры реализации обратной связи на изменение значений в apex_items и последующим сохранением их в базе, а вот получение данных из базы и их асинхронное отображение найти не смог ((
В js я lol, помогите с магией....
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39432833
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexProOra,

Цель именно асинхронно загрузить или избавится от 20 секунд?

Ваш второй вариант, построчный запрос на получение результата, даст нагрузку на сервер.
Если бы пошел этим вариантом, я бы сделал это одни AJAX запросом.

Вариант №3
Код: plsql
1.
2.
3.
4.
5.
select
id,
result,
.....
from table(pipeliend function)



Вариант №4
Репорт целиком грузиться со всеми столбцами грузиться Ajax-ом. Т.е. при загрузки страницы репорт пустой, а после загрузки идет запрос на сервер и обновляется заполненный.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39432869
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Хочу избавить пользователя от ожидания 20 сек.
В отчете есть множество других данных которые пользователь может изучать до "подгрузки" остальных.
Нагрузка на сервер не беспокоит, можно ее распределить (REST сервисы), главно чтобы пользователь получал данные сразу после запроса - без ожидания его полного формирования на стороне сервера....
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39432895
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOraВ отчете есть множество других данных которые пользователь может изучать до "подгрузки" остальных.
тогда уберите ту тормозящую функцию и либо грузите позже, либо в отдельную таблу либо меняете её на быструю.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39432896
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вариант грузить позже возможен с подгрузкой при наведении мышкой (контекст всплыв. окно)
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39432897
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вариант №5 тут была таблица с развёртыванием подтаблицы на плюсик. Если она подгружает асинхронно.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39432917
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOraunction1 выполняется долго (возвращает html), так как использует CTX_DOC.SNIPPET
посмотрел API.
Если без неё никак, то вариант№6 - триггер на изменение текста и заранее формирование VIEW текста вместо апекса.
А потом быстрый-быстрый его показ.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39432927
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Для удобства понимания можно представить поисковик по названию лекарства, который выводит результаты запроса с подсвеченными поисковыми словами + имя файла и т.д.
Мы сначала покажем таблицу с 20 строками, один столбец - имя файла, второй - имя аптеки, третий - самое продаваемое лекарство, четвертый наши данные, которые подгружаются по мере выполнения ajax запросов.
Я готов RESTсервисы написать и json возвращать, но вот как все это на js реализовать в привязке к отчету APEX?
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39432946
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOraЯ готов RESTсервисы написать и json возвращать, но вот как все это на js реализовать в привязке к отчету APEX?
с учётом что вы junior в JS?
AlexProOraВ js я lol, помогите с магией....
т.к. REST сервисы тут делают не для самого апекса, а для клиентов например на JS.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39432950
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOraДля удобства понимания можно представить поисковик по названию лекарства, который выводит результаты запроса с подсвеченными поисковыми словами + имя файла и т.д.
т.к. долгий запрос на 20сек УЖЕ работает - покажи скриншот как это выглядит.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39432988
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexProOra,

Зря вы третий вариант обходите стороной, он скорее всего снимет проблему...

Но второй вариант тоже интересен мне в реализации, я нигде не применял, но наверное интересно получиться.

Например вместо данных с нужном нам столбце, в каждой строчке GIF загрузки (колесик, часы песочные и т.д.).
Потом идет Ajax запрос (один это правильно). Возращается JSON и расставляет значения вместо GIF-ок. Ну как минимум красиво получится. :)
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39432999
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Пример только столбцов побольше...
Как правило знаний хватает адаптировать примеры js под себя, когда примеров нет - "сажусь в лужу".
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433008
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelAlexProOra,
Зря вы третий вариант обходите стороной, он скорее всего снимет проблему...

Ни в коем разе, просто данный подход для меня новый, сначала надо попробовать, если получится то отпишусь обязательно!

blkangelAlexProOra,
Например вместо данных с нужном нам столбце, в каждой строчке GIF загрузки (колесик, часы песочные и т.д.).
Потом идет Ajax запрос (один это правильно). Возращается JSON и расставляет значения вместо GIF-ок. Ну как минимум красиво получится. :)
Вот это было бы просто мега круто! я раньше писал про это, но реальных решений найти не получилось....
Поэтому тему переформулировал с учетом нарытых вариантов....
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433009
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOra Пример только столбцов побольше...
)))
выделяй на клиенте в JS без SNIPPET
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433012
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOraКак правило знаний хватает адаптировать примеры js под себя
а заявки на гуглопоиск?
Придётся вам ходить на JS ветку за советами.
Динамического выделения в рантайме в апексе нету.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433016
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOraя раньше писал про это,
блин! Прошло 2 года?
Хочется сказать вам до свидания). Баловство у вас всё. Раз пару лет прошло.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433019
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexProOrablkangelAlexProOra,
Например вместо данных с нужном нам столбце, в каждой строчке GIF загрузки (колесик, часы песочные и т.д.).
Потом идет Ajax запрос (один это правильно). Возращается JSON и расставляет значения вместо GIF-ок. Ну как минимум красиво получится. :)
Вот это было бы просто мега круто! я раньше писал про это, но реальных решений найти не получилось....
Поэтому тему переформулировал с учетом нарытых вариантов....

В принципе реализация не сложная.
Надо немного знаний по JS или Jquery, разметку Апексойдовую изучить, Ajax, Json, всего помаленьку.
Звучит как ах... как много всего, на деле все выйдет в 10 строчный код...
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433030
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123AlexProOra Пример только столбцов побольше...
)))
выделяй на клиенте в JS без SNIPPET
Для "грамотной" подсветки нужно иметь весь документ, чтобы извлечь наиболее релевантные фразы и т.д.
Все это тянуть на клиента - затратно....
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433036
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOraДля "грамотной" подсветки нужно иметь весь документ, чтобы извлечь наиболее релевантные фразы и т.д.
Все это тянуть на клиента - затратно....
да.
Делают так
https://ru.wikipedia.org/wiki/Lucene
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433047
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelВ принципе реализация не сложная.
Надо немного знаний по JS или Jquery, разметку Апексойдовую изучить, Ajax, Json, всего помаленьку.
Звучит как ах... как много всего, на деле все выйдет в 10 строчный код...
Вот где такова гуру найти, который все эти технологии в голове держит и имеет "желание" эти 10 строк кода людям выложить?
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433055
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123AlexProOraДля "грамотной" подсветки нужно иметь весь документ, чтобы извлечь наиболее релевантные фразы и т.д.
Все это тянуть на клиента - затратно....
да.
Делают так
https://ru.wikipedia.org/wiki/Lucene
Я уже подсел на Oracle Text + RCO for Oracle....
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433063
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOraЯ уже подсел на Oracle Text + RCO for Oracle....
которых ждать 20 сек?
Тогда выдавайте по одной записи с часиками.
Я вам написал 6 вариантов реализации.
Вы упёрлись в один вариант.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433068
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123AlexProOraЯ уже подсел на Oracle Text + RCO for Oracle....
которых ждать 20 сек?
Тогда выдавайте по одной записи с часиками.
Я вам написал 6 вариантов реализации.
Вы упёрлись в один вариант.
)) я же писал что траблов с выполнением запроса нет, он выполняется очень быстро, вопрос в том как асинхронно получить данные в ячейке отчета...
+ представьте себе поисковик который выводит записи по одной, хотя если Вы покажите пример как это сделать то будет полезно всем....
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433074
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOraя же писал что траблов с выполнением запроса нет, он выполняется очень быстро,
у меня с пагинацией любой размер строк выводится за 0,2 сек.
Поэтому вы написали неправду.
AlexProOraвопрос в том как асинхронно получить данные в ячейке отчета...
дал 6 вариантов. Большинство требуют JS. Тот что с таблой - не требует.
AlexProOra+ представьте себе поисковик который выводит записи по одной, хотя если Вы покажите пример как это сделать то будет полезно всем....
такая странная задача с 15-го года только у вас.
Решается на JS костылём.
Я делал костыль с селекторами по замене текста в таблице после открытия.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433078
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123такая странная задача с 15-го года только у вас.
Решается на JS костылём.
Я делал костыль с селекторами по замене текста в таблице после открытия.
Мне многие говорят что я странный и задачи у меня соответствующие )
Спасибо Вам что тратите на меня свое время!
Выложите плиз js скрипт который земеняет значения в таблице после открытия.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433086
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelAlexProOra,

Зря вы третий вариант обходите стороной, он скорее всего снимет проблему...


Погуглил, вроде как эффекта от pipelined function получить не получится, так как сервер приложений сначала дождется получения всех данных для отчета, сформирует html и отдаст клиенту, тут видимо как Вы и писали js+ajax+...
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433090
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexProOrablkangelВ принципе реализация не сложная.
Надо немного знаний по JS или Jquery, разметку Апексойдовую изучить, Ajax, Json, всего помаленьку.
Звучит как ах... как много всего, на деле все выйдет в 10 строчный код...
Вот где такова гуру найти, который все эти технологии в голове держит и имеет "желание" эти 10 строк кода людям выложить?


Я могу кратко план написать.
AlexProOrablkangelВ принципе реализация не сложная.
Надо немного знаний по JS или Jquery, разметку Апексойдовую изучить, Ajax, Json, всего помаленьку.
Звучит как ах... как много всего, на деле все выйдет в 10 строчный код...
Вот где такова гуру найти, который все эти технологии в голове держит и имеет "желание" эти 10 строк кода людям выложить?


Я могу кратко план написать.
1. Думаю как гиф вставить, вы собразите, главное нумерация ID значений значенмй. Все упрощается если ID уникальный. То ячейки подлежащие замене, должны содержать ИД строки и какой нибудь префикс, например запрос будет так
Код: plsql
1.
2.
3.
4.
select 
	APEX_ITEM.HIDDEN(50, t.id) hidden_id,
	'<div id=CHANGE_'||t.id||'><img src="/i/clock.gif"></div>' html_express
from table t;


2. После загрузки запускаеится JS, примерно такого вида
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
function getValue () {
	var arrf50 = new Array();
	var arrf50 = document.getElementsByName("f30");
	var valueAjax = new htmldb_Get(null, $v('pFlowId'),'APPLICATION_PROCESS=GET_VALUE_FOR_REPORT', 0);
	for (var i=0; i < arrf50.length;i++) {
		arrf50[i].checked=a_this.checked;
		valueAjax.addParam('f01',arrf50[i].value);
	};	
	//Вызов обязательно асинхронный, иначе все на смарку
	valueAjax.GetAsync(function(pResponse){
		if(pResponse.readyState==4 && pResponse.status==200){
			console.log(pResponse.responseText);
			var jsonReturn=JSON.parse(eval('JSON.stringify('+pResponse.responseText+')'));
				//Обработка JSON массива и расстановка значений по ранее заданным айди элементам
				...
				...
				$("#CHANGE_"+jsonReturn[i].id).val(jsonReturn[i].value);
		};
	});
	valueAjax=null;	
}


3. Application Процесс GET_VALUE_FOR_REPORT

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
declare 
	json_return 	varchar2(32767);
Begin
	for r_col in 1..apex_application.g_f04.count loop
		--Формирование JSON
		...
		...
	end loop;
	sys.htp.p(json_return);
	exception when OTHERS then sys.htp.p(sqlerrm);
End;
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433091
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пункт 3 ошибочка
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
declare 
	json_return 	varchar2(32767);
Begin
	for r_col in 1..apex_application.g_f50.count loop
		--Формирование JSON
		...
		...
	end loop;
	sys.htp.p(json_return);
	exception when OTHERS then sys.htp.p(sqlerrm);
End;
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433092
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOraВыложите плиз js скрипт который земеняет значения в таблице после открытия.
готовое вам никто не выложит.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var sAjax = $x('P_ALL_LIST').value; //либо через AJAX
if (sAjax !== '') {
  var arrAjax = sAjax.split(':');
  var sHTML = '';
  for (var i = 0; i < arrAjax.length; i++){
    var arrID = arrAjax[i].split('|');
    arrID[1]+'</a><br>'; // распарсили первый кусок асинхронно
...
// вставляем в таблу
  }  


т.е. ваш REST нафиг не нужен.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433095
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOra,
оооо
Вот вам меценаты уже делают.
Так что удачи!
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433097
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Спасибо Вам добрый человек!
Попробую прикрутить, результаты выложу...
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433163
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexProOra,
еще косячок
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
function getValue () {
	var arrf50 = new Array();
	var arrf50 = document.getElementsByName("f50");
	var valueAjax = new htmldb_Get(null, $v('pFlowId'),'APPLICATION_PROCESS=GET_VALUE_FOR_REPORT', 0);
	for (var i=0; i < arrf50.length;i++) {
		arrf50[i].checked=a_this.checked;
		valueAjax.addParam('f01',arrf50[i].value);
	};	
	//Вызов обязательно асинхронный, иначе все на смарку
	valueAjax.GetAsync(function(pResponse){
		if(pResponse.readyState==4 && pResponse.status==200){
			console.log(pResponse.responseText);
			var jsonReturn=JSON.parse(eval('JSON.stringify('+pResponse.responseText+')'));
				//Обработка JSON массива и расстановка значений по ранее заданным айди элементам
				...
				...
				$("#CHANGE_"+jsonReturn[i].id).text(jsonReturn[i].value);
		};
	});
	valueAjax=null;	
}
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433167
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Все ОК, один трабл - с обратной связью не получается

Код: sql
1.
$("#CHANGE_"+jsonReturn[i].id).val(jsonReturn[i].value);



Не присваивает новые значения в ячейки отчета (пробовал простой отчет и IR), пробовал через DA(Event->Page Load) + указывал в Affected Elements -> Column + название столбца.
Тестил разные варианты:
Код: sql
1.
2.
3.
4.
5.
//alert(arrf50[i].value);
$("#CHANGE_1").val("Hello World!");
//$("#CHANGE_1").text("Hello World!");
//$s("CHANGE_1","Hello World!");
//$x("CHANGE_1").value = "Hello World!";
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433168
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOra,

Блин, простите меня, туплю, все ОК ))) скоро выложу пример, если еще на грабли не наступлю...
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433500
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelAlexProOra,
Но второй вариант тоже интересен мне в реализации, я нигде не применял, но наверное интересно получиться.


Второй вариант не получился (
В консоли браузера:
Код: sql
1.
2.
для apex.server.process -> apex is not defined
для htmldb_Get -> htmldb_Get is not defined

Рано начинает выполняться видимо....
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433576
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозг начинает на полную работать только после публикации... ))
Трабл побежден путем добавления ссылок на desktop.min.js + jquery-2.2.3.min.js
Но второй вариант все равно не жилец...
Вот что у меня в запросе получилось:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select CUSTOMER_ID, CUST_FIRST_NAME,

'<script type="text/javascript" src="/i/libraries/jquery/2.2.3/jquery-2.2.3.min.js?v=5.1.1.00.08"></script>
<script type="text/javascript" src="/i/libraries/apex/minified/desktop.min.js?v=5.1.1.00.08"></script>
<script>
apex.server.process( "AJAX_GO", 
{x01: "'||t.CUSTOMER_ID||'"}, 
{dataType: "text", async: true, success: function( pData ) {
console.log(pData);
$("#CHANGE_'||t.CUSTOMER_ID||'").html(pData);
}});
</script>' as js_run,
...........


Оно кстати реально работает )
Бага в том, что репорт не отображается пользователю - пока все асинхронные вызовы не завершаться... ??? очередной грабль...
Давайте оживим второй вариант, помогайте пожалуйста!! ))

Текст ondemand - AJAX_GO:
Код: sql
1.
2.
3.
4.
5.
6.
declare 
	json_return 	varchar2(32767) :='chtoto' ;
Begin
sys.htp.p(apex_application.g_x01||' - '||json_return );
	exception when OTHERS then sys.htp.p(sqlerrm);
End;



P.S. Огромнейший респект и уважуха blkangel за профессионализм!
Спасибо!
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433637
heavyside
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOra,

1. Очень плохо так писать, тем более в тексте запроса. Вынесите подключение библиотек на уровень страницы. Там есть поле у страницы для Javascript File URLs . использовать подставленный префикс картинок-тоже плохо, есть подстановка #IMAGE_PREFIX#. В итоге у вас должно получиться что-то такое:
#IMAGE_PREFIX#libraries/jquery/2.2.3/jquery-2.2.3.min.js
#IMAGE_PREFIX#libraries/apex/minified/desktop.min.js
версию тоже можно подрубить, если хочется, там в хелпе есть пример.
2. Выполнять скрипты при загрузке-тоже очень плохо. Вам выше вроде предлагал blkangel использовать в селекте APEX_ITEM.HIDDEN(50, t.id)|| гифку ожидания. Причём гифку даже наверно будет лучше в HTML Expression вписать, но это ладно, потом можно подумать.
в атрибутах hidden я бы проставил какой-нибудь класс типа "asyncUpload", чтоб по нему потом писать селектор а не по name f50(не люблю)
3. Далее blkangel предлагал при загрузке, мне кажется правильней сделать динамик экшн на обновление репорта, который бы вызывал бы apex.server.process в цикле по всем найденным элементам с классом asyncUpload. Т.е. входным параметром в on demand process будет айдишник. Ну или массив айдищников как и было, если устраивает, что он разом всё подгрузит, а не по частям.
4. Т.к. апекс 5.1 то имхо лучше использовать apex.server.process в джаваскрипте и apex_json в процессе.
5. Если у вас такое планируется только на одной странице, то рекомендую использовать не application process, а on demand на странице.
ну с работы неудобно делать пример, но если будет актуально попробую из дома сваять на апекс оракл ком.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433697
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heavysideAlexProOra,

1. Очень плохо так писать, тем более в тексте запроса. Вынесите подключение библиотек на уровень страницы. Там есть поле у страницы для Javascript File URLs . использовать подставленный префикс картинок-тоже плохо, есть подстановка #IMAGE_PREFIX#. В итоге у вас должно получиться что-то такое:
#IMAGE_PREFIX#libraries/jquery/2.2.3/jquery-2.2.3.min.js
#IMAGE_PREFIX#libraries/apex/minified/desktop.min.js
версию тоже можно подрубить, если хочется, там в хелпе есть пример.
2. Выполнять скрипты при загрузке-тоже очень плохо. Вам выше вроде предлагал blkangel использовать в селекте APEX_ITEM.HIDDEN(50, t.id)|| гифку ожидания. Причём гифку даже наверно будет лучше в HTML Expression вписать, но это ладно, потом можно подумать.
в атрибутах hidden я бы проставил какой-нибудь класс типа "asyncUpload", чтоб по нему потом писать селектор а не по name f50(не люблю)
3. Далее blkangel предлагал при загрузке, мне кажется правильней сделать динамик экшн на обновление репорта, который бы вызывал бы apex.server.process в цикле по всем найденным элементам с классом asyncUpload. Т.е. входным параметром в on demand process будет айдишник. Ну или массив айдищников как и было, если устраивает, что он разом всё подгрузит, а не по частям.
4. Т.к. апекс 5.1 то имхо лучше использовать apex.server.process в джаваскрипте и apex_json в процессе.
5. Если у вас такое планируется только на одной странице, то рекомендую использовать не application process, а on demand на странице.
ну с работы неудобно делать пример, но если будет актуально попробую из дома сваять на апекс оракл ком.
Блин, я минут 10 Вам ответ писал и не ту кнопку нечайно нажал.....
Вобщем Вы во многом ошибаетесь, просьба еще раз вникнуть в то что предлагалось blkangel и то что предложил я.
Я до 3 утра разбирался с вариантом от blkangel , все верно, понятно и вопросов нет. Я реализовывал второй вариант и он не противоречит бест практик Apex.

Если Вы подготовите реальный практический пример (сделанный по феншую) все Вам на этом форуме будут очень благодарны!
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433758
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во вложении прототип .
user - test1978
password - test

Трабл с синхронной загрузкой проявляется только если зайти в воркспэйс админом, если заходить простым юзером то все ОК.
Единственное что добавил - APEX_UTIL.PAUSE(dbms_random.value(1,20)); в ondemand чтобы данные выполнялись разное время.
Спасибо всем кто вложил свои силы в решение задачи!
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433787
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Баг с синхронным выполнением проявляется если нажать refresh страницы, это объясняет то что под девелопером баг проявляется постоянно...
Если сделать logout и снова войти то работает ок.
Что то нужно кильнуть при refresh страницы?
Пробовал на разных браузерах, баг повторяется, значит ошибка на стороне приложения,
но при обновлении страницы все ее содержимое пересоздается заново, только куки остаются...
Вобщем без старших товарищей тут я врятли смогу разобраться, подсобите плиз!
Завтра попробую на продуктивной среде запустить, чтобы исключить влияние apex.oracle.com
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433813
heavyside
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOra,
Я к счастью не повторил вашей ошибки и сохранил предварительно текст)
Мне очень интересно, где же я не прав. Хотя бы пару примеров.
Best practices - это очень расплывчатое понятие, но:
Использование /i/ - точно плохо. Мы например чаще всего инсталим с префиксом /i511/, т.е. с номером версии, это позволяет через 1 веб сервер держать разные версии апекса в разных базах. Вы выгрузите и зальёте в продакшн, где префикс иной и придётся везде в приложении менять префикс. Насколько я помню, раньше в эдвайзере (когда он появился в 4-й версии) была отдельная проверка на неиспользование image_prefix подставленным в коде. Видимо сейчас полагают, что с 3-й версии все перешли и перестали использовать /i/
Далее вы прописали подключение библиотек столько раз, сколько будет строк будет показано (включая все последующие обновления отчета), а требуется подключить ровно 1 раз на странице. Зачем плодить лишний текст, да ещё в таком количестве? Даже банально зачем гнать лишнее по сети.
Кстати мне в моём примере не потребовалось подключать библиотеки.
Прописывать много кода про отображение в тексте запроса плохо потому, что происходит смешение самих данных и представления данных. Этого желательно избегать. В апексе специально есть в атрибутах столбца Column Formatting - HTML Expression для описания вывода. А вам пришлось Escape special characters выставить в No. В данному случае, т.к. id не вводится пользователем это не имеет значения, а вот если бы участвовало текстовое поле, я бы в него ввёл хтмл, который бы попортил верстку коллегам или например выполнил бы какой-нибудь левый джаваскрипт (срочно перечислите деньги на карту или информация что вы на самом деле делаете в рабочее время будет отправлена начальнику) ))
Почему я предлагаю json использовать - предположим в некоторых случаях функция падает с ошибкой. Тогда вы выводите текст ошибки. Предположим вам нужна более сложная обработка ошибки. Как вы определите ошибка или нет? По наличию слова ORA? В случае с json за счет отдельных полей это легко решается.

Небольшие комментарии по моему примеру (Login/Password: TEST/TEST): от hidden я решил отказаться, on demand я создал на странице, но если подобная функция будет использоваться на нескольких страницах приложения, то тогда в application process перенести и джаваскрипт обернуть в функцию и вынести во внешний файл js. В данном случае мне нравится, что весь код на одной странице. Демо схема у меня не загружена, поэтому connect by в запросе чтоб нагенерить строки. Описание бага я не понял, поэтому проверить не смог.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433825
heavyside
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOra,

А и ещё чем плохо запихивание хтмл и скриптов в запрос - вы теряете возможность это всё нормально отформатировать и использовать подсветку кода, что влияет на читаемость и дальше на поддержку этого кода.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433828
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heavysideAlexProOra,

А и ещё чем плохо запихивание хтмл и скриптов в запрос - вы теряете возможность это всё нормально отформатировать и использовать подсветку кода, что влияет на читаемость и дальше на поддержку этого кода.
Я обхаять тоже могу любое решение, даже идеальное... ))) у моего начальника 5 высших образований, я привык к ...
Бла бла людям читать не интересно, ждем от Вас реального высококачественного вклада в общую копилку знаний....
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433832
heavyside
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOra,

Я не буду в отличие от вас переходить на личности. Я вообще-то выложил свое решение и старался быть максимально корректным в оценках и подробным в обосновании. Жду с нетерпением, где я был не прав в своем первом посте, в котором, между прочим, предложил вам помочь и написать вечером решение. А обхаивание мне неинтересно, мне интересна аргументированая позиция.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433835
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heavysideAlexProOra,

Я не буду в отличие от вас переходить на личности. Я вообще-то выложил свое решение и старался быть максимально корректным в оценках и подробным в обосновании. Жду с нетерпением, где я был не прав в своем первом посте, в котором, между прочим, предложил вам помочь и написать вечером решение. А обхаивание мне неинтересно, мне интересна аргументированая позиция.
Блин, сорики, виноват........
Пропустил Ваш пост, думал Вы продолжаете искать траблы не предлагая решений, внимание сбито под конец дня, реально я гад...
Как себя самому забанить? ((
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433840
heavyside
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOra,

Ничего страшного, я уж полез проверять ту ли ссылку я скинул.
Бывает. Банить не надо и так вон blkangela нет к сожалению из-за бана
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433845
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heavysideЯ к счастью не повторил вашей ошибки и сохранил предварительно текст)
Мне очень интересно, где же я не прав. Хотя бы пару примеров.


Теперь я ученый, пишу в блокноте.. ))
Примеры:
Пункт 3 blkangel предлагал сделать ondemand (а не DA) + после загрузки страницы (не обновления репорта) +
который бы вызвал htmldb_Get (а не apex.server.process)
Пункт 4 например, я же как раз и использую apex.server.process в js.
Пункт 5 ну я как раз его и использовал.
остальные пункты по мелочи:
Пункт 1 js я использую дефолтные, уже загруженные и закэшированные браузером, соотв. трафик не должен страдать + решение делал не на продакшен а проверить метод возможно/невозможно.
Пункт 2 Выполнять скрипты при загрузке плохо, почему? если они в тему будут...

heavysideBest practices - это очень расплывчатое понятие, но:
Использование /i/ - точно плохо. Мы например чаще всего инсталим с префиксом /i511/, т.е. с номером версии, это позволяет через 1 веб сервер держать разные версии апекса в разных базах. Вы выгрузите и зальёте в продакшн, где префикс иной и придётся везде в приложении менять префикс. Насколько я помню, раньше в эдвайзере (когда он появился в 4-й версии) была отдельная проверка на неиспользование image_prefix подставленным в коде. Видимо сейчас полагают, что с 3-й версии все перешли и перестали использовать /i/

Согласен, но валить кучу логики в select отчета норма, даже если абстрагироваться от apex (OBIEE, Oracle Forms...).
C относительным путем не спорю, всегда нужно стратегию обновления продумывать....

heavysideДалее вы прописали подключение библиотек столько раз, сколько будет строк будет показано (включая все последующие обновления отчета), а требуется подключить ровно 1 раз на странице. Зачем плодить лишний текст, да ещё в таком количестве? Даже банально зачем гнать лишнее по сети.
Кстати мне в моём примере не потребовалось подключать библиотеки.

Вобщем я просто продублировал библиотеки которые уже подключены но не доступны так как на момент загрузки их видимо еще сервер не подгрузил или они не доступны из за правил изоляции js, я еще только учусь и решил задачу так как хватило знаний, если есть более изящное решение ....

heavysideПрописывать много кода про отображение в тексте запроса плохо потому, что происходит смешение самих данных и представления данных. Этого желательно избегать. В апексе специально есть в атрибутах столбца Column Formatting - HTML Expression для описания вывода. А вам пришлось Escape special characters выставить в No. В данному случае, т.к. id не вводится пользователем это не имеет значения, а вот если бы участвовало текстовое поле, я бы в него ввёл хтмл, который бы попортил верстку коллегам или например выполнил бы какой-нибудь левый джаваскрипт (срочно перечислите деньги на карту или информация что вы на самом деле делаете в рабочее время будет отправлена начальнику) ))

Смешение данных и всего всего - главная фишка APEX, тут реально стык разных технологий. Но в целом согласен.

heavysideПочему я предлагаю json использовать - предположим в некоторых случаях функция падает с ошибкой. Тогда вы выводите текст ошибки. Предположим вам нужна более сложная обработка ошибки. Как вы определите ошибка или нет? По наличию слова ORA? В случае с json за счет отдельных полей это легко решается.

Да я 100% за json, просто на стадии выработки технического решения приоритетно выработать рабочую модель, а далее ее уже приводить к продакшен..

heavyside Описание бага я не понял, поэтому проверить не смог.
В моем варианте сразу на сервер посылается параллельно 17 onDemand процессов (запросов) - по количеству строк в отчете, на каждую строчку один запрос.
Баг оказался следствием ограничения на apex.oracle.com параллельно выполнять более шести процессов на сессию, соответственно все вызовы становятся в очередь + все события форм тоже, поэтому страница полностью зависает пока не выполнятся предыдущие процессы. Завтра на продуктиве проверю, в Вашем варианте таких проблем нет, но загрузка страницы не распараллеливается - иначе уперлись бы в соотв. ограничения.
Пытался найти где это ограничение выставляется (ORDS config - нет), может кто знает как его увеличить? ))
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433849
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heavysideAlexProOra,
Небольшие комментарии по моему примеру (Login/Password: TEST/TEST)
Посмотрел Ваш код, приятно, спасибо!
На какой счет выслать пиво и коньяк? ))
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39433883
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
THE END
Вобщем ограничение на 6 ajax запросов никак не связано с apex.oracle.com, это ограничение браузера!
В firefox на это влияет параметр network.http.max-persistent-connections-per-server. Как решить трабл читаем тут .
Из за данного ограничения Вариант №2 признается нежизнеспособным, так как заставлять пользователей "тюнить" свой браузер ....
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39434000
heavyside
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOraПосмотрел Ваш код, приятно, спасибо!
На какой счет выслать пиво и коньяк? ))

Приятно, но спасибо, не надо) Тем более вместе. Я предпочитаю их по отдельности)

AlexProOraПункт 3 blkangel предлагал сделать ondemand (а не DA) + после загрузки страницы (не обновления репорта) +
который бы вызвал htmldb_Get (а не apex.server.process)

Так мне это как раз и не понравилось. On demand у меня тоже используется, но уровня страницы, а не application process. Но тут зависит от частоты использования, о чем я и написал. Далее, если выполнять после загрузки страницы, то при обновлении репорта этот код уже не выполнится. Я полагаю, что blkangel просто оставил этот момент на потом, и когда получится при загрузке, дописать строку чтобы было и при обновлении. htmldb_Get вроде не рекомендуют использовать. Но на тот момент вроде не было никакого указания версии апекс, так что предложение было логичное. Не обратил внимание, что используется у вас (apex.server.process/htmldb_Get), т.к. всё время шло ещё обсуждение различных вариантов, поэтому видимо излишне предостерёг. Сорри.

AlexProOraПункт 1 js я использую дефолтные, уже загруженные и закэшированные браузером, соотв. трафик не должен страдать + решение делал не на продакшен а проверить метод возможно/невозможно.

Ну трафик страдает как минимум просто из-за большого кол-ва текста там, где его может быть и должно быть меньше. в данном случае это около 250 байт разницы на строку в моём варианте и в вашем. 50 строк на странице по умолчанию - 12КБ. Я хз какие у вас сети, но у нас у клиентов по стране весьма разные и стараемся максимально убрать лишний трафик, даже такой относительно небольшой. Про не продакшн - принимается, ок.

AlexProOraПункт 2 Выполнять скрипты при загрузке плохо, почему? если они в тему будут...
Здесь надо посмотреть, что будет в случае ошибки в скрипте. Если это не будет прекращать загрузку или как-то тормозить, то тогда наверно уместно. Лень проверять)

По остальным пунктам вроде предмета спора нет.

Ещё некоторые размышления про безопасность, это не относится к тестовому примеру, просто чтоб в теме было всё). Т.к. передаётся айди, то получается можно будет выполнить любому пользователю с данной страницы для любого айдишника. Так что если присутствуют ограничения на выдачу в разделе и айдишники где-то светятся/инкрементальные, то надо и в этой долгой функции проверять права на конкретную запись.

Ну и небольшие доработки явно требуются в моём варианте - проверить дефолтные значения apex.server.process и возможно убрать лишнее, дописать секцию fail для apex.server.process, и я б ещё вынес джаваскрипт в функцию, в примере решил не писать, чтоб не запутать, куда смотреть. Может ещё что-то, но мне уже надоело думать на эту тему, может кто ещё раскритикует.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39434095
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heavyside,
Согласен с Вами!
Тема раскрыта очень хорошо, надеюсь многим принесет пользу...
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39434250
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heavyside,

Эх, не суждено ветке устнуть... ))
Попробуйте в своем примере запрос расширить до 55 записей:
Код: sql
1.
  from (select level nlev from dual connect by level <55) t


Не дожидаясь обновления всех 50 значений нажать стрелку перехода к следующим 5-ти записям подряд раз 9.
Эффект будет интересный ))
Получается у Вас тоже все упирается в магическое ограничение - 6 процессов!
Его можно наблюдать если внести изменения в ajax callback и убрать рандом - APEX_UTIL.PAUSE( 7 ); - значения синхронно будут отрисовываться по 6 ячеек.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39434309
heavyside
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOra,

Да, прикольно, не знал. Ну тогда я вижу варианты:
1. всё запихнуть в один json, как это предлагал blkangel
2. Запрашивать сериями по 4-5 запросов
3. Поделить на группы так, чтобы уместилось в 5 запросов (в каждом по 10 записей), т.е. это распараллеливание 1-го варианта
4. убрать параллельность и оставить лишь асинхронность, чтоб не блокировать работу. По завершению загрузки одного переходить к загрузке следующего, аналогично по времени исходному запросу, но зато быстро выводит страницу и не блокирует.
5. если есть возможность предсказать время выполнения в зависимости от размера файла, то можно часть грузить в запросе (быстрые, например по условию, что файл размером меньше 40кб, зависит от реальной скорости функции), а часть грузить асинхронно с использованием 1-4 метода.

Мне больше всего нравятся 1 и 4 варианты. 4-й даже больше: Обеспечена последовательность загрузки и на каждом шаге можно проверять, а надо ли грузить следующий, или пользователь уже перелистнул страницу.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39434319
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heavyside,
4 тоже видится самым эффективным...
Сначала обновляется первая строчка и т.д. для пользователя тоже очень наглядно и понятно будет...
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39434696
блкангел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну я смотрю Вы и без меня все разрулили :)
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39434851
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блкангелНу я смотрю Вы и без меня все разрулили :)
Как без Вас, все крутилось вокруг Вашего первого варианта.
Теперь ждем кто сможет осилить последний предложенный - Вариант №4 ))
У меня мозга на данном этапе развития точно не хватит...
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39434907
heavyside
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOra,

Хм, я не думал, что вы ждете реализации) Напишу на выходных, если никто не напишет раньше.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39434991
блкангел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
heavyside я действительно забыл про то, что код JS надо запихнуть в событие After Refresh, тут Вы правы, видимо название темы сбило.


heavyside - Посмотрел пример, уже даже очень, хорошо смотрится. Но вот проблема одновременного выполнения 4-6 ajax запросов не знал. Да и не надо это, как я и писал, надо один Ajax запрос. Если Вы даже захотите красиво сделать, чтобы заполнение было плавное, это можно сделать на JS. Но это уже феншуй.


Есть сложность в формировании одного большого JSON?
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39435016
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heavysideAlexProOra,

Хм, я не думал, что вы ждете реализации) Напишу на выходных, если никто не напишет раньше.

Я с удовольствие посмотрю на правильное + красивое решение данной задачи ) + опыт по работа с массивом json...
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39435557
heavyside
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexProOra,

Ну уж не знаю про правильность и красоту, мои знания джаваскрипта тут тоже могут давать сбой.
Демка доступна там же, с тем же логином-паролем. Предлагаю потестить. Это вариант последовательной загрузки. Если репорт обновили, пока выполнялся запрос, то результат в грид попадает (Я ЖАДНЫЙ!! Не хочу ничего терять), если этот айдишник есть после обновления. Далее грузится по порядку. Вариант с подгрузкой всего разом - лень. Там ничего интересного - формирование json апишкой и перебор элементов в джаваскрипте.
...
Рейтинг: 0 / 0
Получить значение в column report (или IR) асинхронно
    #39435580
AlexProOra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heavysideAlexProOra,

Ну уж не знаю про правильность и красоту, мои знания джаваскрипта тут тоже могут давать сбой.
Демка доступна там же, с тем же логином-паролем. Предлагаю потестить. Это вариант последовательной загрузки. Если репорт обновили, пока выполнялся запрос, то результат в грид попадает (Я ЖАДНЫЙ!! Не хочу ничего терять), если этот айдишник есть после обновления. Далее грузится по порядку. Вариант с подгрузкой всего разом - лень. Там ничего интересного - формирование json апишкой и перебор элементов в джаваскрипте.

Спасибо! ну слов нет...
даже не знаю чего полезно со своей стороны предложить....
Надеюсь народ который в своей работе будет использовать Ваши наработки, тоже не будет забывать говорить - Спасибо!
...
Рейтинг: 0 / 0
61 сообщений из 61, показаны все 3 страниц
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Получить значение в column report (или IR) асинхронно
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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