Имам основен отчет, който извиква подотчет, който извиква друг подотчет.
Имам всичките 3 в директория, наречена dash2 в report studio.
Когато използвам разгръщане на студия за отчети към *JasperReports Server * на основния отчет, изглежда също така се разгръща първият подотчет (но не и подподотчетът). Е, ако щракна с десния бутон върху отчета и избера редактиране, след това Контроли и ресурси, той изброява подотчета.
Ако внедря ръчно всичките 3 отчета един по един, виждам и трите в папката с отчети в Jaspersoft Studio. Ако обаче се опитам да изпълня основния отчет, получавам:
Error filling report
net.sf.jasperreports.engine.JRException: Resource not found at : dash2/dash-kpi.jasper
Така че търси подотчет в dash2. Така че създадох директория, наречена dash2, в основната папка с отчети и копирах подотчетите в нея. Същата грешка. Така че ръчно възпроизведох същата структура като в студиото за отчети - никаква радост. Никога не може да намери подотчета.
В основния отчет има следния запис:
<subreportExpression><![CDATA["dash2/dash-kpi.jasper"]]></subreportExpression>
Някакви идеи как да се поправи?
Работи добре в Report Studio.
Редактиране: опитах да премахна "dash2/" от пред името на ресурса. не помогна.
Edit2: опитах да свържа всички повторения на dash2/xxx.jasper до repo:xxx.jrxml. Това нарушава студиото на Джаспър в това, че:
- докладите вече не работят в студио
- когато качите основния отчет, той вече не разпознава зависимите подотчети и не ги качва.
Опитах ръчно да внедря всички отчети, но няма начин да свържа основен отчет със съществуващ подотчет в сървъра на jasper. Единствената опция, която предлагат, е да редактирате основния отчет и ръчно да качите jrxml файловете като ресурси. Опитах това, но не помогна, все още не мога да ги намеря:
Repository file resource /reports/dashboard_files/dash_kpi.jrmxl could not be loaded
Интересното е, че използва директория, наречена dashboard_files, която не съществува. Няма препратка към тази директория в нито един от jrxml файловете на отчетите.