powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX BI Publisher
25 сообщений из 32, страница 1 из 2
APEX BI Publisher
    #37346370
I_am_Aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток :О)
Подскажите пожалуйста, может кто сталкивался. Есть необходимость передать массив данных из APEX в BI Publisher. То есть, на одной страничке одна фамилия, данные и текст, на другой другая фамилия, другие данные, и точно такой же текст. Возвожно ли такое ?
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37346621
SvUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запросто. Самое простое - написать 1 запрос в source, который возвращает то, что указано.
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37346659
I_am_Aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не совсем так
есть динамически изменяющийся список (фамилия и ид ), на основе этого списка и других таблиц строится запрос в Report Queries, после чего отправляется в BI Publisher, но в результате в BI Publisher передается только одна строка, причемпервая
как передать все ???
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37346734
SvUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
I_am_Aurora, лучше опишите как этот динамический список строится, в большинстве случаев его можно получить обычным SQL запросом. Тем более, что судя по наличию ид, всё берётся из таблиц.

Если загружать напрямую с BI Publisher, там можно выбирать тип source.
Или попробуйте покопать apex_util.get_print_document
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37346762
SvUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или да, еще есть apex_util.download_print_document - не юзал.

А вот в случае с get_print_document, скорее всего xml придётся формировать руками, а дальше всё просто - получаем BLOB и отдаём его пользователю.
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37346878
I_am_Aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
под динамическим понималcz CheckBox
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37346906
SvUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кажется начинаю понимать в чем проблема, не так её понял)))

1. Нужно убедиться что ваш source возвращает не 1 строку, а все нужные строки со всем значениями.
2. в BI Publisher, плагин что идёт к офиссу, есть конструктор, который позволяет быстро набрасывать нужные данных из source в нужном виде в шаблон. Там выделить нужные данные и выбрать что-то типа insert/repeating group (нет Паблишера под рукой, если что уточню завтра), где-то там нужно будет выбрать по какому полю группировать (как в запросах), тогда данные будут выводиться в цикле. Если же по выбранному полю несколько строк с одинаковыми значениями, то для них будет возвращаться первая строка (как в данном случае видимо у вас и происходит без группировок).
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347001
I_am_Aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я вижу два решения, НО не знаю как их реализовать :
- либо вызывать из APEX'а в цикле отчет из BI Publisher'а столько раз, сколько отмечено CheckBox'ов
- либо передать в BIPublisher коллекцию (массив), и поставить Repeating group , чтобы получился один отчет на столько листов, сколько отмечено CheckBox' ов
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347053
SvUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не нужно передавать массив, нужно написать sql запрос.

Выбранные идентификаторы в checkbox сохраняются в виде строки "id1:id2:id3..." , скажем в P1_CHECKBOX,
и запрос соответственно отберёт только те id из myview1, что присутствуют в P1_CHECKBOX

select ... from myview1 t
where regexp_instr( :P1_CHECKBOX, '(^|:)' || to_char(:P1_CHECKBOX) || '(:|$)')>0
(примерно, не проверял)

если нужно в отчет вывести наименования из checkbox,
список checkbox формируется я так понимаю либо static, либо sql, в первом случае переделываем статик в sql
(select 'checkbox 1' as q1, 1 as q2 from dual union all select 'checkbox 2', 2 from dual union all ... )
Осталось соединить 2 этих запроса.

P.S. оба этих либо так же решаются через функции, что я написал в предыдущих постах, только немного сложнее.
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347054
SvUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
опечатка
Код: plaintext
1.
select ... from myview1 t
where regexp_instr( :P1_CHECKBOX, '(^|:)' || to_char(t.id) || '(:|$)')> 0 
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347230
I_am_Aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разбор CHeckBox'ов уже есть и он работает ))
но вот дальше, ..... если в BI Publishere сделать repeating group, то он открывает пустую страничку при вызове отчета, даже текста нет, не говоря уже о данных
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347450
SvUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
неправильно делаете значит.

удалить repeating group проверить что всё работает для 1 страницы.
выделить нужную область страницы и нажать add repeating group. выбрать существующее поле для группировки.

Иногда бывают у BI Publisher разные глюки, подобные описанному, лечится переписать какие-нибудь строки в шаблоне на тоже самое.
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347498
SvUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или если не получится:

загрузите сюда свой rtf шаблон и подгружаемый xml файл с данными.
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347642
I_am_Aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
<?xml version="1.0" encoding="UTF-8" ?>
- <DOCUMENT>
- <ROWSET1>
- <ROWSET1_ROW>
<ФАМИЛИЯ>Смирнов </ФАМИЛИЯ>
<_НОМЕР>100000</_НОМЕР>
</ROWSET1_ROW>
</ROWSET1>
- <ROWSET2>
- <ROWSET2_ROW>
<ДОЛЖНОСТЬ />
</ROWSET2_ROW>
</ROWSET2>
- <ROWSET3>
- <ROWSET3_ROW>
<ОТДЕЛ>БУХ</ОТДЕЛ>
</ROWSET3_ROW>
</ROWSET3>
- <ROWSET4>
- <ROWSET4_ROW>
<КАТЕГОРИЯ />
</ROWSET4_ROW>
</ROWSET4>
- <ROWSET5>
- <ROWSET5_ROW>
<НАЧАЛО>01.07.11</НАЧАЛО>
<КОНЕЦ>02.07.11</КОНЕЦ>
<DELTA>1</DELTA>
</ROWSET5_ROW>
</ROWSET5>
- <ROWSET6>
- <ROWSET6_ROW>
<ИД>100000</ИД>
<НОМЕР>1</НОМЕР>
<НАЧ>01.07.11</НАЧ>
<КОН>02.07.11</КОН>
</ROWSET6_ROW>
</ROWSET6>
</REGION>
</DOCUMENT>
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347699
I_am_Aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот, шаблон
ни одна из таблиц не выводится
выводится только
ИД
НОМЕР
КАЧ
КОН
, а если поставить for-each ИД НОМЕР КАЧ КОН page breakend,
тоне выводится ничего
Запрос в BI Publishere
select
'' ид,
'' номер,
'' кач,
'' кон
from dual
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347702
I_am_Aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347704
I_am_Aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347733
I_am_Aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xml - для 4х человек
<?xml version="1.0" encoding="UTF-8" ?>
- <DOCUMENT>

- <ROWSET1>
- <ROWSET1_ROW>
<ФАМИЛИЯ>Смирнов</ФАМИЛИЯ>
<НОМЕР>100000</НОМЕР>
</ROWSET1_ROW>
- <ROWSET1_ROW>
<ФАМИЛИЯ>Петров</ФАМИЛИЯ>
<НОМЕР>100001</НОМЕР>
</ROWSET1_ROW>
- <ROWSET1_ROW>
<ФАМИЛИЯ>Васьков </ФАМИЛИЯ>
<НОМЕР>100002</НОМЕР>
</ROWSET1_ROW>
- <ROWSET1_ROW>
<ФАМИЛИЯ>Смирнова </ФАМИЛИЯ>
<НОМЕР>100003</НОМЕР>
</ROWSET1_ROW>
</ROWSET1>
- <ROWSET2>
- <ROWSET2_ROW>
<ДОЛЖНОСТЬ />
</ROWSET2_ROW>
</ROWSET2>
- <ROWSET3>
- <ROWSET3_ROW>
<ОТДЕЛ>БУХ</ОТДЕЛ>
</ROWSET3_ROW>
- <ROWSET3_ROW>
<ОТДЕЛ>БУХ</ОТДЕЛ>
</ROWSET3_ROW>
- <ROWSET3_ROW>
<ОТДЕЛ>БУХ</ОТДЕЛ>
</ROWSET3_ROW>
</ROWSET3>
- <ROWSET4>
- <ROWSET4_ROW>
<КАТЕГОРИЯ />
</ROWSET4_ROW>
</ROWSET4>
- <ROWSET5>
- <ROWSET5_ROW>
<НАЧАЛО>01.07.11</НАЧАЛО>
<КОНЕЦ>02.07.11</КОНЕЦ>
<DELTA>1</DELTA>
</ROWSET5_ROW>
- <ROWSET5_ROW>
<НАЧАЛО>02.07.11</НАЧАЛО>
<КОНЕЦ>03.07.11</КОНЕЦ>
<DELTA>1</DELTA>
</ROWSET5_ROW>
- <ROWSET5_ROW>
<НАЧАЛО>03.07.11</НАЧАЛО>
<КОНЕЦ>04.07.11</КОНЕЦ>
<DELTA>1</DELTA>
</ROWSET5_ROW>
- <ROWSET5_ROW>
<НАЧАЛО>04.07.11</НАЧАЛО>
<КОНЕЦ>05.07.11</КОНЕЦ>
<DELTA>1</DELTA>
</ROWSET5_ROW>
</ROWSET5>
- <ROWSET6>
- <ROWSET6_ROW>
<ИД>100000</ИД>
<НОМЕР>1</НОМЕР>
<КАЧ>01.07.11</КАЧ>
<КОН>02.07.11</КОН>
</ROWSET6_ROW>
- <ROWSET6_ROW>
<ИД>100001</ИД>
<НОМЕР>2</НОМЕР>
<КАЧ>02.07.11</КАЧ>
<КОН>03.07.11</КОН>
</ROWSET6_ROW>
- <ROWSET6_ROW>
<ИД>100002</ИД>
<НОМЕР>3</НОМЕР>
<КАЧ>03.07.11</КАЧ>
<КОН>04.07.11</КОН>
</ROWSET6_ROW>
- <ROWSET6_ROW>
<ИД>100003</ИД>
<НОМЕР>4</НОМЕР>
<КАЧ>04.07.11</КАЧ>
<КОН>05.07.11</КОН>
</ROWSET6_ROW>
</ROWSET6>
</REGION>
</DOCUMENT>
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347798
SvUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xml кривой, прикрепите через вложенные файлы.

Кстати, примеры с циклами можно посмотреть в меню программы/Oracle BI Publisher Desktop/Samples/Rtf templates
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347829
SvUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
удалось победить ваш xml.

Сразу бросается в глаза: у вас не указано по каком полю группировать, при добавлении repeating group указывайте по какому полю группировать, например ИД.
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347863
I_am_Aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну даже если сгруппировать его по ИД
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347924
SvUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Говорю же, xml у вас кривой.

Почему у вас нет открывающегося тега <REGION>, но есть закрывающийся? я его в таком виде даже добавить не могу.

В данном случае у вас должен быть 1 source с 1-м sql запросом.
Возможно xml рушится из-за null значений, попробуйте заменить null в sql на симовол _
и прикрепить сюда во вложенном файле.
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347960
SvUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Когда загрузите шаблон, подгружаемый xml найдёте в data/load xml data... вот его я и хочу.

если у вас там действительно тег <REGION> порушен и xml добавляется, значит версии у нас сильно отличаются.
Но если xml будет правильный, данные начнут циклически выводиться.
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37347997
I_am_Aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
<?xml version="1.0" encoding="UTF-8" ?>
- <DOCUMENT>
<DATE>07/12/2011</DATE>
<USER_NAME>Aurora</USER_NAME>
<APP_ID>****</APP_ID>
<APP_NAME>*****</APP_NAME>
<TITLE>11111</TITLE>
- <REGION ID="0">
- <ROWSET1>
- <ROWSET1_ROW>
<ФАМИЛИЯ>Смирнов</ФАМИЛИЯ>
<НОМЕР>100000</НОМЕР>
</ROWSET1_ROW>
- <ROWSET1_ROW>
<ФАМИЛИЯ>Петров</ФАМИЛИЯ>
<НОМЕР>100001</НОМЕР>
</ROWSET1_ROW>
</ROWSET1>
- <ROWSET2>
- <ROWSET2_ROW>
<ДОЛЖНОСТЬ />
</ROWSET2_ROW>
</ROWSET2>
- <ROWSET3>
- <ROWSET3_ROW>
<ОТДЕЛ>БУХ</ОТДЕЛ>
</ROWSET3_ROW>
- <ROWSET3_ROW>
<ОТДЕЛ>БУХ</ОТДЕЛ>
</ROWSET3_ROW>
</ROWSET3>
- <ROWSET4>
- <ROWSET4_ROW>
<КАТЕГОРИЯ />
</ROWSET4_ROW>
</ROWSET4>
- <ROWSET5>
- <ROWSET5_ROW>
<НАЧАЛО />
<КОНЕЦ />
<DELTA />
</ROWSET5_ROW>
</ROWSET5>
- <ROWSET6>
- <ROWSET6_ROW>
<ИД>100000</ИД>
<НОМЕР>1</НОМЕР>
<КАЧ>01.07.11</КАЧ>
<КОН>02.07.11</КОН>
</ROWSET6_ROW>
- <ROWSET6_ROW>
<ИД>100001</ИД>
<НОМЕР>2</НОМЕР>
<КАЧ>02.07.11</КАЧ>
<КОН>03.07.11</КОН>
</ROWSET6_ROW>
</ROWSET6>
</REGION>
</DOCUMENT>
...
Рейтинг: 0 / 0
APEX BI Publisher
    #37348012
I_am_Aurora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот отсюда взят xml- файл :
Source for Report Layout: XML Data
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX BI Publisher
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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