Я создаю приложение для персональной базы знаний в APEX 18.2 и испытываю странную проблему, когда запрос отчета неверен / не отображается правильно, когда элементы меню навигации используются для передачи значений элемента.
У меня одна таблица в качестве источника:
HELP_GUIDE(
HELP_GUIDE_ID NUMBER PRIMARY KEY
APPLICATION_ID NUMBER
PAGE_ID NUMBER
TITLE VARCHAR2(255 BYTE)
SUBTITLE VARCHAR2(255 BYTE)
REGION VARCHAR2(255 BYTE)
SECTION VARCHAR2(255 BYTE)
HELP_TEXT CLOB
)
Я использую функцию PL / SQL ниже, чтобы показать столбец HELP_TEXT в классическом отчете. Этот столбец содержит текст + изображения, созданные с помощью текстового редактора APEX.
return q'~
select "HELP_GUIDE_ID",
"APPLICATION_ID",
"PAGE_ID",
"TITLE",
"SUBTITLE",
"REGION",
"SECTION",
"HELP_TEXT"
from "#OWNER#"."HELP_GUIDE"
where "APPLICATION_ID"=:P3_APPLICATION_ID
and (TITLE=:P3_TITLE OR :P3_TITLE IS NULL)
and (SUBTITLE=:P3_SUBTITLE OR :P3_SUBTITLE IS NULL)
and (REGION=:P3_REGION OR :P3_REGION IS NULL)
and (SECTION=:P3_SECTION OR :P3_SECTION IS NULL)
~';
Я использовал пункты меню навигации для установки значений элементов (APPLICATION_ID, TITLE и т. Д.), Чтобы я мог фильтровать то, что отображается на странице. Однако я не вижу последовательного поведения. Кажется, что сразу используется одна из записей навигации (дочерняя), APEX продолжит показывать тот же результат. Вы можете увидеть поведение в видео проблемы
Я попытался добавить DA для обновления страницы после отправки, обработки для обновления, создания новой страницы (скопировал предыдущую страницу), затем использовал ее в качестве ссылки для навигации, для каждой ссылки был установлен чистый кэш, но при этом был получен тот же результат.
Любая помощь приветствуется.
EDIT:
В ходе дальнейшего тестирования проблема была решена. Добавление более четкого описания и разрешения:
Записи навигации с установленным значением «установить значения этих элементов» должны были действовать как фильтр, который передавал бы значения элементов P3 (элементов страницы формы), которые затем, в свою очередь, использовались бы выражением SQL.
Чего не хватало, так это очищать кэш для страницы 3 (страницы формы) при каждом вызове навигации, поэтому простое добавление страницы 3 в разделе очистки кэша настроек ввода навигации решило проблему.