powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX 5.1 is here
19 сообщений из 69, страница 3 из 3
APEX 5.1 is here
    #39375240
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,

Дело не в интерактивности, Interactive Grid имеет много возможностей, которых нет в Tabular Form и, судя по всему, позиционируется как замена Tabular Forms. Из числа новых возможностей:

- Возможность создавать несколько гридов на одной странице
- Нет ограничений на количество столбцов
- Возможность делать авторизацию на редактирование
- Cascading Lovs
- Фиксированные заголовки
- Infinite scrolling (вот уж чего я не ожидал от апекса)
- Декларативные Dynamic Actions
- Долгожданная поддержка плагинов !
- Поддержка мастерами, в том числе мастер Single Page Master Detail: создает 2 interactive grid на одной странице, нажимаешь на строку верхнего, обновляется нижний грид, и это без Dynamic Actions на странице (любители Oracle Forms оценят)

К предыдущему посту: теперь снято ограничение на 200 items на странице
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39375250
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDevКурдль,

Дело не в интерактивности, Interactive Grid имеет много возможностей, которых нет в Tabular Form и, судя по всему, позиционируется как замена Tabular Forms. Из числа новых возможностей...
Ну, круто! :) Возможно заменю уже существующие IR на это чудо (только без возможности редактирования)
На мой взгляд, добавить туда еще немножко JS для визуализации дерева и expand/collapse не так уж было сложно! Почему не сделали...
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39375259
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevК предыдущему посту: теперь снято ограничение на 200 items на странице
Да ладно??? Не уж то внутренности переделали.
Надо срочно глянуть...
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39375276
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Всё потому что изменилась архитектура хранения и передача items (писал выше, теперь в виде массива json).
В следующих версиях, видимо, и ограничение на 32767 для text area / rich text снимут.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39375299
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevblkangel,

Всё потому что изменилась архитектура хранения и передача items (писал выше, теперь в виде массива json).
В следующих версиях, видимо, и ограничение на 32767 для text area / rich text снимут.

Чтобы снять ограничение, им надо переделать массив WWV_FLOW_GLOBAL.VC_ARR2, Именно в этом массиве сейчас передаются элементы.
Разве оракл научился делать массивы из CLOB? Это наверное в версии 13g
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39375325
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Передаются не элементы, передаётся json, вот пример:

{"salt":"179719119757752899761939140183708604375","pageItems":{"itemsToSubmit":[{"n":"P29_ORDER_TOTAL","v":"$870.00","ck":"EPQAj7AGKXRXJ7mDBoMrDRbZG84Asz8P1K02tsCf2pgbpUT1MVmg-AXSmhmbHRk3FPexQG-o98QqkR8z5ZKtxQ"},{"n":"P29_USER_NAME","v":"GUEST"},{"n":"P29_TAGS","v":""},{"n":"P29_CUSTOMER_ID","v":"7"},{"n":"P29_ORDER_ID","v":"5209"},{"n":"P29_LAST_PAGE","v":"4","ck":"-d2r52C--6xGasUdbac4tGDp4BHO5Ck0-8xFv2Fll0muIqFAUEx5NJ-IbZY3kvPaNQmqt-GBejmq7I9QELlRDQ"}],"protected":"kLBBmLpFNuujklUI-8fU2fIOUbKklsDX2o0W-ao9Vgg","rowVersion":"bfeJTBBxtsr4MmjXvuvId38nxXKb9znNFYF5vFDRtV7r7hAkV9MXrmDunPPi0Ucpq7fiN8iyrJm8Lflq965p1Q"}}

Далее разбивается на куски по 8000 и передаётся массивом.
Поэтому технически в этом месте ограничение уже убрано, ограничение сейчас остается в обработке (валится обработка json, bind переменные varchar2-only, функция v возвращает varchar2, начальное значение items тоже ограничено varchar2 и т.д.)
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39375343
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevДалее разбивается на куски по 8000 и передаётся массивом.

Кто бьет? По этой логики все еще хуже, если на сервер идет одним большим JSON, то получается на все элементы одной страницы 32r.

Первая процедура кто получает данные со страницы wwv_flow.accept

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 4960 PROCEDURE ACCEPT (
 4961     P_REQUEST          IN VARCHAR2 DEFAULT NULL,
 4962     P_INSTANCE         IN VARCHAR2 DEFAULT NULL,
 4963     P_FLOW_ID          IN VARCHAR2 DEFAULT NULL,
 4964     P_COMPANY          IN NUMBER   DEFAULT NULL,
 4965     P_FLOW_STEP_ID     IN VARCHAR2 DEFAULT NULL,
 4966     P_RELOAD_ON_SUBMIT IN VARCHAR2 DEFAULT 'A',
 4967     P_ARG_NAMES        IN WWV_FLOW_GLOBAL.VC_ARR2 DEFAULT EMPTY_VC_ARR,
 4968     P_ARG_VALUES       IN WWV_FLOW_GLOBAL.VC_ARR2 DEFAULT EMPTY_VC_ARR,
 4969     P_JSON             IN WWV_FLOW_GLOBAL.VC_ARR2 DEFAULT EMPTY_VC_ARR,
 4970     P_FILES            IN WWV_FLOW_GLOBAL.VC_ARR2 DEFAULT EMPTY_VC_ARR,
 4971     F01             IN WWV_FLOW_GLOBAL.VC_ARR2 DEFAULT EMPTY_VC_ARR,
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39375375
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: blkangel, Petro123 Если подобные пикировки будут продолжаться, последуют санкции
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39375378
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Скорее всего before submit событие ловится, яваскрипт делает работу, подробно не разбирал. См. Firebug, вкладка сеть, item > 8000
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39375379
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Получается размер не ограничен, т.к. размерность массива не ограничена.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39375410
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevblkangel,

Получается размер не ограничен, т.к. размерность массива не ограничена.
Массив не ограничен, а элемент массива ограничен.
Код: plsql
1.
type vc_arr2 is table of varchar2(32767) index by binary_integer;



Провел эксперимент.
На странице было 10 textfield ов, и один textarea, в textarea запихнул около 300 кб и поменял одно значение textfild-а.
Интересный результат получился. Textarea он не созранил, textfield сохранил и не выдал ошибки....
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39375413
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangel
Провел эксперимент.
На странице было 10 textfield ов, и один textarea, в textarea запихнул около 300 кб и поменял одно значение textfild-а.
Интересный результат получился. Textarea он не сохранил, textfield сохранил и не выдал ошибки....

При этом я четко вижу пост пакет со всем данными в одной переменной p_json.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39375426
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Параметр maxlength не забыл ? Я над обычным text field экспериментировал ))
Так же как у тебя clob передавался в f02 массивом, так же здесь и json передается, только название параметра другое, и вместо аякса обычный POST. На вкладке сеть было видно, что передается много параметров p_json по 8000
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39375435
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevblkangel,

Параметр maxlength не забыл ?

Конечно нет, поставил 400000

SvDevЯ над обычным text field экспериментировал ))
Так же как у тебя clob передавался в f02 массивом, так же здесь и json передается, только название параметра другое, и вместо аякса обычный POST. На вкладке сеть было видно, что передается много параметров p_json по 8000

Вот биения и много параметров p_json я не увидел, вижу как раз одним значением идет....
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39375440
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangelSvDevblkangel,

Параметр maxlength не забыл ?

Конечно нет, поставил 400000

SvDevЯ над обычным text field экспериментировал ))
Так же как у тебя clob передавался в f02 массивом, так же здесь и json передается, только название параметра другое, и вместо аякса обычный POST. На вкладке сеть было видно, что передается много параметров p_json по 8000

Вот биения и много параметров p_json я не увидел, вижу как раз одним значением идет....

Увидел, действительно по 8000 тысяч символов бьют. видимо чтоба любая кодировка пролезла.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39377400
kuz9000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangel, для любой кодировки надо хотя бы 8 байт на символ, но нам хватит и 4х.

Не могу понять, почему APEX отказался от использования jstree в деревьях, в комментах js treeview пишут про сложную документацию. Но налепить кучу строк своего кода, который не opensource, биться о старые ошибки разве выход?
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39402272
Муххин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Есть скрипт для корректной русификации сообщений и текстов для пользователя приложений Apex 5.1?
2. Когда ждать 5.1.1 патчсет?
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39440156
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тема уже немного старая, уже по apex 5.2 создавать пора, но, пожалуй, немного допишу:

- в 5.1 наконец-то документировали, в каких местах apex ставит коммиты
- встроенный функционал предупреждения о несохраненных данных (с соответствующим апи)
- Для Component view теперь доступно 2 разных интерфейса: Legacy Component view (deprecated) и Component view Tab (сделан для облегчения перехода к Page Designer)
- Недавно документацию по 5.1 обновили и добавили новое апи apex.message с большой кучей полезных функций для вывода дружественных сообщений, в том числе apex.message.showPageSuccess, apex.message.showErrors и др.

- Фактически в 5.1 apex научился делать client side validation и submit средствами ajax:

Для этого у страниц есть свойство - Reload on Submit: Only For Success (единственное но, не работает с legacy tabular form, их придётся конвертировать в interactive grid).
т.е. при срабатывании validation (или какой-нибудь ошибки) страница больше не перезагружается, клиент больше не видит дёрганий экрана и перерисовки элементов. Фактически, при включении этого свойства вместо обычного submit-а во всех местах начинает вызываться jquery ajax запрос, и если весь page processing прошёл успешно, то только в этом случае происходит перерисовка страницы (сервер возвращает в виде json команду, что нужно перерисовать страницу - то что прописано в branch и браузер делает redirect). Иными словами валидация больше не требует submit-а страницы, и работает чисто через аякс.
(Это, имхо, вполне соответствует лучшим практикам применения аякса, но можно пойти и еще дальше)

Из недокумментированного : submit можно теперь сделать средствами ajax просто по любой кнопке типа SAVE без всяких редиректов, для этого действие по кнопке можно переделать на Defined by DA, в DA Execute Javascript по кнопке прописать:


Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
$( document ).ajaxComplete(function( event, xhr, settings ) {
   
  if ( settings.url === "wwv_flow.accept" ) {
     
    var ljson = JSON.parse(xhr.responseText);
    if ( ljson.SuccessMsg ) {
       
      apex.message.showPageSuccess( ljson.SuccessMsg );
    }
    $(event.currentTarget).unbind('ajaxComplete');
  }
});

apex.submit("SAVE");



В самом конце page processing можно создать pl/sql процесс с условием выполнения на кнопку:

Код: plsql
1.
2.
3.
4.
5.
commit;
htp.init;
owa_util.mime_header( 'application/json', true );
htp.p('{"SuccessMsg":"Сохранено"}');
apex_application.stop_apex_engine;



Тогда браузеру не будет посылаться команда, о том, что нужно redirect делать, будет один аякс по кнопке работать с выполняющимся page processing)

В самом коде в комментариях к внутренней функции AjaxSubmit в блоке где полагается обработка ситуации: page processing выполнился, но не вернул команду redirect можно найти заглушку:

apex 5.1 (page.js) // todo is this even a possibility? Seems useful to stay on same page
// we would also need to mark all page items as not changed, perhaps server module is the place to do that but the impl must be in item module
Так что в следующих версиях, скорее всего добавят опцию Reload on Submit: Never
P.S. я бы не спешил пока использовать такой подход, пока не добавят официально, с учетом, что это усложнит разработку и добавит проблем, которые апекс сейчас обрабатывает сам.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39442140
GrigoP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
5.1.1 кто уже качал ?
кто может прислать ?
...
Рейтинг: 0 / 0
19 сообщений из 69, страница 3 из 3
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX 5.1 is here
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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