|
|
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Имеется приложение по работе со справочниками. Обыкновенно, выбран тип страниц: CREATE->Forms->Form on a Table with REPORT либо Master Detail Form соответственно, на двух-трех страницах осуществляется редактирование. Все было отлично до тех пор, пока "продвинутые" пользователи не начали открывать на редактирование одновременно в браузере несколько вкладок для редактирования каждой из записи списка MASTER (под в общем-то благовидными предлогами экономии времени редактирования и удобства работы с данными...). В результате, при переключении между вкладками перемешиваются записи detail - при входе в 3-е окно (редактирование записи detail) и выходе из него в одной вкладке - о, чудо! - появляется список detail-записей, относящихся к master-записи на другой вкладке, подобный эффект наблюдается и при штатной сортировке колонки региона (REPORT TEMPLATE), правда, при рефреше текущей вкладки восстанавливается правильный список. Оно и понятно - для сессии пользователя все вкладки одинаковы на предмет значений ITEM PAGE, тут и возникает неопределенность. В связи с этим, есть ли рекомендации, как обходиться с таким явлением в целом? И как локальный вопрос: может запретить пользователю работать в нескольких вкладках с одной и той же страницей (в необходимых случаях, но как? Через глобальные Application Items?)? Заранее спасибо за советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2016, 18:04 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Кстати, использую Apex 4.2. 3. Некоторые эксперименты показали, что путем передачи из master-окна в окно редактирования записи detail и обратно явного значения ID ситуация поправляется, но вот штатная сортировка в регионе report никак не лечится. При клике, например, на 3-й столбец, вызывается примерно следующий код, вшитый в Apex: javascript:apex.widget.report.sort('333548067309278483','fsp_sort_3'). При переходе в другую вкладку при клике сортировки на тот же столбец - данные выводятся в report из другой вкладки. По ходу придется отказаться от включения штатной сортировки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2016, 22:15 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Drunvalo, Я так понимаю проблема именно при закрытии 3-го окна и возврате во второе. Сделали правильные выводы, и сделали правильное решение, возвращать при закрытии ИД нужной записи. Думаю принудительный рефреш региона detail , надеюсь поможет решить проблему сортировки, обязательно в регион detail пропишите ITEM в поле Page submit to item, название Вашего ID itema. Запретить открытие нескольких окон, практически похоронить веб технологии :) Еще как варианты пересмотреть трех ступенчатую систему редактирования. Например третье окно сделать модальным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2016, 08:00 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Drunvalo, - по всем канонам, всё что нужно для работы передавать параметрами в урл (лучше ID чем t.индекс_строки) - во всех таблах должен быть PK не составной - очищать кэши страниц или пагинации - делать рефрешь где необходимо. Тогда всё работает. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2016, 10:06 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Коллеги, спасибо за отклик. 1. Заметил, что при переходе между страницами внутри одной вкладки и при переключении на другую вкладку и при переходе между страницами (закрыть/открыть, редактировать) явная передача соответствующих ID туда-обратно (в частности между 2-м и 3-им окном, а кстати и глубже - 4-е и 5-е для подчиненных справочников) позволила снять вопрос, тут и рефрешить не приходится, хотя где можно вставил подчистку кэшей и пагинации. 2. Но по штатной сортировке загвоздка в том, что при нахождении во 2-м окне со списком отчета detail-записей(в обоих вкладках - экспериментировал и с большим количеством параллельных вкладок) после нажатия сортировки на одной вкладке и перехода на другую вкладку, перед нажатием любой сортировки на колонках отчета detail-записей необходимо рефрешить страницу, а потом все работает. Иначе, как и описывал выше - список появляется из другой вкладки. Пользователям сносит крышу... Т.е. получается, чтобы было без такого эффекта, нужно рефрешить страницы (на всех в пределе) открытых вкладках при нажатии сортировки на одной из них... Конечно, убрать сортировку пользователем и явно прописать в SQL-запросе отчета ORDER BY - вопрос и исчезнет, однако есть ли идеи другие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2016, 17:35 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
DrunvaloКонечно, убрать сортировку пользователем и явно прописать в SQL-запросе отчета ORDER BY - вопрос и исчезнет, однако есть ли идеи другие? они часто меняют сорт-ку? - выложи минимальный проект с багом. Кто нить проверит на 5-ке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2016, 18:26 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Drunvaloпри нахождении во 2-м окне со списком отчета detail-записей(в обоих вкладках - экспериментировал и с большим количеством параллельных вкладок) после нажатия сортировки на одной вкладке и перехода на другую вкладку, перед нажатием любой сортировки на колонках отчета detail-записей необходимо рефрешить страницу, а потом все работает. Иначе, как и описывал выше - список появляется из другой вкладки. Пользователям сносит крышу... Т.е. получается, чтобы было без такого эффекта, нужно рефрешить страницы (на всех в пределе) открытых вкладках при нажатии сортировки на одной из них... ещё раз подробнее ВИ со скринами. И с минимальным кликом до ошибки. 2. Поставьте сортировку по умолчанию такую, какую использует большинство. Изучите этот аспект. Если необходимо разбейте ВИ\Use case на 2 разных чтобы им было удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2016, 09:57 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Drunvalo, Еще раз, чтобы не было багов при сортировке, пропиши через запятую в поле Page item to submit, все ITEM которые участвуют в запросе. Поясняю. Значение элементов, Апекс хранит в БД, если ты открываешь несколько вкладок, то значение ITEM в БД будет равной последней открытой вкладке, чтобы этого избежать (при сортировке, рефреше - а это встроенный Ajax запрос) ты должен передать на сервер переменные текущей страницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2016, 10:06 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Взял рабочий пример из действий пользователей. Итак: Окно (1) - список мастер-таблицы. На кнопках редактирования записей правой клавишей вызывается n-е количество вкладок, в нашем примере две. Окно (2) - 1-я вкладка редактирования записи с ID = 5006758311. Окно (3) - 2-я вкладка редактирования записи с ID = 5006758307, в котором пользователь жмет сортировку на втором столбце. Окно (4) - 2-я вкладка редактирования записи с ID = 5006758307, но регион отображается Apex-ом для detail-таблицы из вкладки окна (2)! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2016, 13:15 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Drunvalo, у меня всё работает. ... Вероятно нарушено правило: - отсутствие глобальных переменных. - все переменные с префиксом страницы, и в коде страницы нельзя использовать переменный с другой страницы. ..... + Нажмите F12 - Сеть и проверьте POST параметры при клике на сортировку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 11:19 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
общее: - 3 принципа ООП - не делайте 3 клика чтобы добраться до редактирования Мастер->Чилдрен->Чилдрен->Чилдрен-> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 11:21 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Petro123Вероятно нарушено правило: - отсутствие глобальных переменных. - все переменные с префиксом страницы, и в коде страницы нельзя использовать переменный с другой страницы. ..... + Нажмите F12 - Сеть и проверьте POST параметры при клике на сортировку. 1) Глобальные переменные - что имеется ввиду? Зачем тут они нужны? 2) Все переменные с префиксом страницы - проверил, других нет (раздел ITEMS PAGE). 3) POST параметры - при клике на сортировку выводится: POST /pls/apex/wwv_flow.show HTTP/1.1 ... - ничего необычного. Ссылка Apex при наведении на сортировку: javascript:apex.widget.report.sort('331697554155413539','fsp_sort_2_desc') - на обоих вкладках идентична, как повлиять на поведение, пока не ясно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 13:00 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Я так понял, меня решили не замечать и тупить дальше :) Удачи Вам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 13:04 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Drunvalo авторPage item to submit, все ITEM которые участвуют в запросе ? Drunvaloничего необычного. скрин давай. И сам запрос. DrunvaloСсылка Apex при наведении на сортировку: упс. Я на IR у себя проверял. Надо на обычном будет проверить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 13:25 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
blkangelЕще раз, чтобы не было багов при сортировке, пропиши через запятую в поле Page item to submit, все ITEM которые участвуют в запросе. То-то и оно! Если бы был прямой клик и переход в окно (2) - вопросов нет, все работает и в поле Page item to submit передается четкий ID мастер таблицы! Но! Действия пользователей: при клике из окна (1) на кнопке EDIT (см. рисунок) правой клавишей мыши и выборе из выпадающего меню (стандартного браузерного) "Открыть ссылку в новой вкладке" - открывается вкладка с адресом URL окна (2). Далее открывается подобным образом вторая вкладка на по ссылке на второй записи и т.д. Ничего нигде еще не жмем. И когда таки в первой новой вкладке (окно 2) кликаем на сортировку - и происходит подмена региона дочернего списка. В чем "тупим"-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 15:23 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
DrunvaloВ чем "тупим"-то? время пришло))) - выкладывай запрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 15:34 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Drunvalo, Не верю Покажите скриншот параметров Ajax вызова, которые отсылает Апекс при сортировке. И запрос и поле Page Submit data Для Google Сhrome это можно сделать так. Правая кнопка в любом месте Вашей странички "Посмотреть код".Вкладка Network. Жмем на зоголовок для сортировки В консоле появится строка "wwv_flow.show" оно кликабельна, жмите. Проваливаетесь еще одно с вкладками, нас интересует Headers, листакем вниз до блока Form Data вот Это сюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 15:36 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
blkangel, Вот выборка из хромовского отладчика: p_request:APXWGT p_flow_id:110 p_flow_step_id:23 p_instance:12354220514864 p_debug: p_widget_action:sort p_widget_action_mod:fsp_sort_3 p_clear_cache:RP p_fsp_region_id:331697554155413539 x01:331697554155413539 p_widget_name:classic_report ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 16:54 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Drunvalo, Что и требовалось доказать, не передается ни одного айтема и его значения. Если бы в поле Page Item to Submit были бы перечислены ITEM-ы, то должны появится еще парметры Код: html 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 17:06 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Собственно настройка линка со страницы (1) - master-список - представлена на рисунке. Явно передается значение ID. Вроде как ничего лишнего, все штатно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 17:08 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
Drunvalo, запрос где? Как может поменятся выборка при неизменности переменных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 17:22 |
|
||
|
Редактирование одной таблицы с помощью Master Detail Form в разных вкладках браузера
|
|||
|---|---|---|---|
|
#18+
blkangel, Тупим-то реально, как выясняется... Поправил передачу параметров в окне (2) - detail-список. Заработала и сортировка, как требовалось. Будем внимательны на будущее. Спасибо всем за подсказки. Для тех, кто будет просматривать тему, привожу рисунок с последней корректировкой настроек (может оказаться полезным). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2016, 17:39 |
|
||
|
|

start [/forum/topic.php?fid=50&fpage=22&tid=1874627]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 390ms |

| 0 / 0 |
