Внедряване на подотчети в JasperServer

Създадох рамка и подотчет за интегриране с APEX и ги усъвършенствах до степен, в която съм готов да разположа на JasperServer. По някакъв начин точният синтаксис ме побеждава. Опитах всички варианти, посочени от следните въпроси, но изглежда нищо не работи. Използвам Glassfish, между другото, но не мисля, че това е важно. Ето моите въпроси:

  1. Когато внедрявам подотчета, да внедрявам ли като отчет или като JRXML файл?

  2. Трябва ли да настроя контроли за въвеждане за подотчета, както се предава от отчета на рамката?

  3. Има ли значение къде внедрявам подотчета (структура на папка), стига да подавам правилния параметър SUBREPORT_DIR към рамката?

  4. На този SUBREPORT_DIR опитах няколко различни неща. Първо имах по подразбиране като абсолютен път в моята локална кутия, за целите на отстраняване на грешки, и предавах стойността, която исках в URL адреса (т.е. ...&SUBREPORT_DIR=/Subreports/...). Също така се опитах да задам по подразбиране пътя, който исках. Нито едното не работи, но трябва ли първото да работи толкова добре, колкото и второто?

  5. Какъв е действителният синтаксис за предаване на SUBREPORT_DIR? Разположих своя отчет за рамка като „/reports/frame“ и моя подотчет като „/reports/Subreports/sub“, така че предавах „repo:/Subreports/“ (без кавички в URL адреса, с кавички по подразбиране на рамката).

Моят кадър и под работят в iReport със същите параметри, които подавам, но изобщо не работят от URL адреса. Мога да заредя подкадъра като отчет под JasperServer, да му предам параметрите на рамката и да го накарам да работи, но когато се опитам да стартирам рамката, няма зарове.

Благодаря предварително за цялата помощ и се надявам да се отплатя, след като го конфигурирам правилно.


person user1073876    schedule 30.11.2011    source източник
comment
Радвам се, че намерихте решението на проблема си. Може да помогне на бъдещи хора със същия въпрос, ако копирате констатацията си като отговор и я маркирате като приета (щракнете върху празната отметка, която ще се появи до вашия отговор). Това ще покаже, че въпросът има работещ отговор за всеки, който се натъкне на него по-късно.   -  person Eric Hydrick    schedule 02.12.2011
comment
Преместих отговора ви в wiki отговор на общността, сега трябва само да го приемете; )   -  person Petter Friberg    schedule 03.01.2016


Отговори (1)


Констатациите на ОП.

  1. Подотчетът трябва да бъде внедрен в хранилището като JRXML файл. Ще пише „Файл“ в съответната колона на изгледа на хранилището.

  2. НЕ е необходимо да задавате контроли за въвеждане за подотчета. Рамковият отчет се нуждае само от тези входни контроли, които използва, а не от параметрите на подотчета.

  3. Докато подадете правилния SUBREPORT_DIR, можете да поставите подотчета където пожелаете, но не забравяйте, че отчетът на рамката ще препраща към подотчетата точно с името, което посочите. Един от двата ми проблема (вижте #1 по-горе за другия) беше посочването на разширение в пътя по подразбиране. Това беше правилно в iReport, но грешно от страна на сървъра.

  4. SUBREPORT_DIR може да бъде подаден като параметър и работи както е обявено.

  5. Правилният път за SUB_REPORT_DIR, който използвам сега като параметър по подразбиране, е нещо като "repo:/reports/Subreports/". Следователно изразът на подотчета под подробности е: $P{SUBREPORT_DIR} + "five_col_sub". Вижте #3 по-горе.

Не е толкова трудно, наистина, но също така не е напълно интуитивно. Моят колега посочи, че „repo:“ е съкращение от JasperServer Repository. Сега изглежда очевидно, но предполагах, че това означава „доклади“, което налага всеки отчет с подотчет и самият подотчет да съществуват в директорията /reports/, което не е така.

person Community    schedule 03.01.2016