Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Выгрузка группы отчётов в один файл. / 13 сообщений из 13, страница 1 из 1
14.12.2015, 11:09
    #39127070
Весёлый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка группы отчётов в один файл.
Была поставлена задача выгружать по нажатию кнопки группу отчётов в экселевский файл. Сложность в том, что файл должен быть один, а мне не хватает места для кода в Processes. Каким образом можно обойти этот момент? Ну, помимо того, чтобы выгружать каждый отчёт в отдельный файл...
...
Рейтинг: 0 / 0
14.12.2015, 11:21
    #39127090
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка группы отчётов в один файл.
Весёлыйа мне не хватает места для кода в Processes
хранимки писали?
Получается что у вас вся БЛ в скрипте апекс app.sql?
...
Рейтинг: 0 / 0
14.12.2015, 11:55
    #39127130
Весёлый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка группы отчётов в один файл.
Petro123хранимки писали?

Не доводилось. Собственно, даже не особо представляю, что это и с чем их едят...

Petro123Получается что у вас вся БЛ в скрипте апекс app.sql?

Не совсем понял, как это...
...
Рейтинг: 0 / 0
14.12.2015, 12:09
    #39127141
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка группы отчётов в один файл.
ВесёлыйНе совсем понял, как это...
- даже если код написан в process, то всё равно он выполняется не на клиенте (олслике), а на сервере.
Значит бизнес-логику (БЛ) логичнее перенести на сервер. Это место:
Код: sql
1.
2.
3.
4.
create or replace procedure схема_разбора.CreateAllReports
begin
  null;
end;


- потом в свой процеесс вставишь 1 строку
Код: sql
1.
CreateAllReports;
...
Рейтинг: 0 / 0
14.12.2015, 12:30
    #39127158
Весёлый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка группы отчётов в один файл.
Petro123,

у меня на сервере вьюшки, из которых формируются отчёты. Основной объём занимает именно оформление.
...
Рейтинг: 0 / 0
14.12.2015, 12:36
    #39127164
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка группы отчётов в один файл.
ВесёлыйОсновной объём занимает именно оформление.
переведи. Чем это помешает моему выше?
...
Рейтинг: 0 / 0
15.12.2015, 02:34
    #39127956
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка группы отчётов в один файл.
Весёлыйу меня на сервере вьюшки, из которых формируются отчёты. Основной объём занимает именно оформление.
Кури книги по разработке на Pl/sql любые. Делаешь пакет, в нем пишешь процедуру или функцию, вызываешь её из процесса на апексе. Только идиот (извини) пихает развернуть логику в процессы.
...
Рейтинг: 0 / 0
15.12.2015, 10:10
    #39128134
Весёлый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка группы отчётов в один файл.
Часть расчётов перенёс в функцию, но от того, чтобы прокручивать цикл и потом выводить информацию в xml таким образом ведь не избавиться?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
	  for i1 in (select sum(t.plan_year) as py, sum(t.plan_month_approve) as pma, sum(t.plan_month_operational) as pmo, sum(t.for_day_plan) as fdp, sum(t.for_day_fact) as fdf,
                        sum(t.for_day_change) as fdc, sum(t.for_month_plan) as fmp, sum(t.for_month_fact) as fmf, sum(t.for_month_change) as fmc, sum(t.for_year_plan_approve) as fypa,
						sum(t.for_year_plan_operational) as fypo, sum(t.for_year_fact) as fyf, sum(t.for_year_change_approve) as fyca,
						sum(t.for_year_change_operational) as fyco, sum(t.last_year) as ly, sum(t.last_year_change) as lyc
                 from report_final t
		         left join report_indicators t1 on t.ind1 = t1.ind1 and t.ind2 = t1.ind2
                 where t.data = :P202_Date and t.ind1 = i0.ind1 and t1.lvl = 1
                 order by t1.ind1, t1.ind2)
         loop
	        peremen :='
                  <Cell ss:StyleID="s22"><Data ss:Type="String">'||to_number(i1.py)||'</Data></Cell>
                  <Cell ss:StyleID="s22"><Data ss:Type="String">'||to_number(i1.pmo)||'</Data></Cell>
                  <Cell ss:StyleID="s22"><Data ss:Type="String">'||to_number(i1.fdp)||'</Data></Cell>
                  <Cell ss:StyleID="s22"><Data ss:Type="String">'||to_number(i1.fdf)||'</Data></Cell>
                  <Cell ss:StyleID="s22"><Data ss:Type="String">'||to_number(i1.fdc)||'</Data></Cell>
                  <Cell ss:StyleID="s22"><Data ss:Type="String">'||to_number(i1.fmp)||'</Data></Cell>
                  <Cell ss:StyleID="s22"><Data ss:Type="String">'||to_number(i1.fmf)||'</Data></Cell>
                  <Cell ss:StyleID="s22"><Data ss:Type="String">'||to_number(i1.fmc)||'</Data></Cell>
                  <Cell ss:StyleID="s22"><Data ss:Type="String">'||to_number(i1.fypa)||'</Data></Cell>
                  <Cell ss:StyleID="s22"><Data ss:Type="String">'||to_number(i1.fyf)||'</Data></Cell>
                  <Cell ss:StyleID="s22"><Data ss:Type="String">'||to_number(i1.fyca)||'</Data></Cell>
                  <Cell ss:StyleID="s22"><Data ss:Type="String">'||to_number(i1.ly)||'</Data></Cell>
                  <Cell ss:StyleID="s22"><Data ss:Type="String">'||to_number(i1.lyc)||'</Data></Cell>
               </Row>
		       ';
            dbms_lob.append(myfile, utl_i18n.string_to_raw(peremen, 'AL32UTF8'));
		 end loop;


И это только небольшой кусок вывода одного из отчётов, а их, как я понимаю из хотелок руководства, будет вагон и маленькая тележка. При этом диспетчер должна только нажать на кнопку и отправить на печать.
...
Рейтинг: 0 / 0
15.12.2015, 10:22
    #39128150
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка группы отчётов в один файл.
Весёлыйчтобы прокручивать цикл и потом выводить информацию в xml таким образом ведь не избавиться?
не вижу вопроса. Переносите всё что можно. Если IDE будет ругаться, тогда и спрашивайте.
ВесёлыйИ это только небольшой кусок вывода одного из отчётов, а их, как я понимаю из хотелок руководства, будет вагон и маленькая тележка
и что? Нас не испугать)).
Не делайте склейку строк - поставьте внешний отчётник по типу Jasper report.
ВесёлыйПри этом диспетчер должна только нажать на кнопку и отправить на печать.
нет. Она ещё заполнит :P202_Date, которое нужно вынести во входной параметр функции.
...
Рейтинг: 0 / 0
15.12.2015, 11:23
    #39128223
Весёлый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка группы отчётов в один файл.
Petro123Не делайте склейку строк - поставьте внешний отчётник по типу Jasper report.

Можно об этом подробней? - Никогда не сталкивался и даже определения не слышал...

Petro123Она ещё заполнит :P202_Date, которое нужно вынести во входной параметр функции.

Туда можно автоматически sysdate подставлять :)
...
Рейтинг: 0 / 0
15.12.2015, 11:36
    #39128244
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка группы отчётов в один файл.
Весёлый,
http://www.sql.ru/forum/afsearch.aspx?s=Jasper Report&submit=?????&bid=67
https://www.google.ru/search?q=jasper report designer&newwindow=1&biw=1280&bih=927&source=lnms&tbm=isch&sa=X&ved=0ahUKEwj6oN_Wut3JAhWC33IKHc2GAtoQ_AUIBygC
но у него сразу на несколько отчётов наверно проблематично. У меня на один отчёт с подотчётами внутри.
...
Рейтинг: 0 / 0
25.12.2015, 08:34
    #39137776
Весёлый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка группы отчётов в один файл.
Написал выгрузку четыремя блоками, а дальше в один файл собирается макросом. Правда каждый блок выгружается по своей кнопке. Есть возможность выгрузить разом четыре файла по одной кнопке?
...
Рейтинг: 0 / 0
25.12.2015, 09:09
    #39137787
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка группы отчётов в один файл.
Весёлый,
Опиши скрин, код как сделал.
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Выгрузка группы отчётов в один файл. / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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