powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Jasper subreport
25 сообщений из 46, страница 1 из 2
Jasper subreport
    #39575691
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть такое
главный репорт
Код: xml
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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.5.0.final using JasperReports Library version 6.5.0  -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="xx" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="b6add32f-713c-4725-8f91-50fd892162b4">
	<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
	<queryString>
		<![CDATA[]]>
	</queryString>
	<field name="title1" class="java.lang.String"/>
	<background>
		<band splitType="Stretch"/>
	</background>
	<title>
		<band height="79" splitType="Stretch">
			<subreport>
				<reportElement x="200" y="12" width="200" height="52" uuid="5f23ad38-c91d-4ea4-b8b3-335c3924efe5"/>
				<dataSourceExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}.get( "subreportDatasetName" )]]></dataSourceExpression>
				<subreportExpression><![CDATA["sub1.jasper"]]></subreportExpression>
			</subreport>
		</band>
	</title>
	<pageHeader>
		<band height="42" splitType="Stretch"/>
	</pageHeader>
	<columnHeader>
		<band height="61" splitType="Stretch">
			<textField>
				<reportElement x="110" y="8" width="100" height="30" uuid="04324698-8e9f-4629-bc7f-8b17dbec788b"/>
				<textFieldExpression><![CDATA[$F{title1}]]></textFieldExpression>
			</textField>
		</band>
	</columnHeader>
	<detail>
		<band height="228" splitType="Stretch"/>
	</detail>



	<columnFooter>
		<band height="45" splitType="Stretch"/>
	</columnFooter>
	<pageFooter>
		<band height="54" splitType="Stretch"/>
	</pageFooter>
	<summary>
		<band height="42" splitType="Stretch"/>
	</summary>
</jasperReport>


subreport
Код: xml
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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.5.0.final using JasperReports Library version 6.5.0  -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="sub1" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="fd1d631e-30d5-4323-af6d-36c7f6e70d1f">
	<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
	<queryString>
		<![CDATA[]]>
	</queryString>
	<field name="param" class="java.lang.String"/>
	<field name="user" class="java.lang.String"/>
	<background>
		<band splitType="Stretch"/>
	</background>
	<title>
		<band height="79" splitType="Stretch">
			<textField>
				<reportElement x="120" y="10" width="100" height="30" uuid="2d5ab45f-5baa-49b7-a4a1-cf103da05443">
					<property name="com.jaspersoft.studio.spreadsheet.connectionID" value="1be2fc79-8a4d-4e0f-97ad-d0fd8e1d4cfb"/>
				</reportElement>
				<textFieldExpression><![CDATA[$F{user}]]></textFieldExpression>
			</textField>
		</band>
	</title>
	<pageHeader>
		<band height="35" splitType="Stretch"/>
	</pageHeader>
	<columnHeader>
		<band height="61" splitType="Stretch"/>
	</columnHeader>
	<detail>
		<band height="125" splitType="Stretch">
			<textField>
				<reportElement x="100" y="29" width="100" height="30" uuid="272df033-c047-4075-bc0e-186ca7aebcbb"/>
				<textFieldExpression><![CDATA[$F{param}]]></textFieldExpression>
			</textField>
		</band>
	</detail>
	<columnFooter>
		<band height="45" splitType="Stretch"/>
	</columnFooter>
	<pageFooter>
		<band height="54" splitType="Stretch"/>
	</pageFooter>
	<summary>
		<band height="42" splitType="Stretch"/>
	</summary>
</jasperReport>


делаю так

Код: java
1.
2.
3.
4.
5.
6.
   ResultSet rs1 = proc.getResultSet();
                Map<String, Object> parameters = new HashMap<>();
                parameters.put("subreportDatasetName", rs1);
                proc.getMoreResults();
                ResultSet rs2 = proc.getResultSet();
                JasperFillManager.fillReportToFile(Singleton.getWeb_location() + "report/xx.jasper", parameters, new JRResultSetDataSource(rs2));





старался следовать этому 8494032
но получаю
Caused by: java.lang.ClassCastException: com.mysql.cj.jdbc.result.ResultSetImpl cannot be cast to net.sf.jasperreports.engine.JRDataSource
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:454)
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:345)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:383)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:533)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:308)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:244)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:99)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:609)
at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:405)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:140)
at net.sf.jasperreports.engine.JasperFillManager.fillToFile(JasperFillManager.java:504)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:888)

на этой строке
Код: java
1.
JasperFillManager.fillReportToFile(Singleton.getWeb_location() + "report/xx.jasper", parameters, new JRResultSetDataSource(rs2));


что не так и как должно быть?
...
Рейтинг: 0 / 0
Jasper subreport
    #39575699
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разобрался
надо так
Код: java
1.
2.
3.
4.
5.
6.
   ResultSet rs1 = proc.getResultSet();
                Map<String, Object> parameters = new HashMap<>();
                parameters.put("subreportDatasetName", new JRResultSetDataSource(rs1));
                proc.getMoreResults();
                ResultSet rs2 = proc.getResultSet();
                JasperFillManager.fillReportToFile(Singleton.getWeb_location() + "report/xx.jasper", parameters, new JRResultSetDataSource(rs2));
...
Рейтинг: 0 / 0
Jasper subreport
    #39575713
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но теперь выдаёт такое
Caused by: net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Unable to get next record from result set.
at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:878)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:542)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:438)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:413)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillBandNoOverflow(JRVerticalFiller.java:432)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageHeader(JRVerticalFiller.java:393)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:246)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:99)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:609)
at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:405)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:140)
at net.sf.jasperreports.engine.JasperFillManager.fillToFile(JasperFillManager.java:504)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:888)
at ws.pages.Page2.xxx20(Page2.java:55)
... 26 more
Caused by: net.sf.jasperreports.engine.JRException: Unable to get next record from result set.
at net.sf.jasperreports.engine.JRResultSetDataSource.next(JRResultSetDataSource.java:170)
at net.sf.jasperreports.engine.fill.JRFillDataset.advanceDataSource(JRFillDataset.java:1538)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1387)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1366)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1173)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:97)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:609)
at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:405)
at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:740)
at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59)
at net.sf.jasperreports.engine.fill.AbstractThreadSubreportRunner.run(AbstractThreadSubreportRunner.java:221)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
... 1 more
Caused by: java.sql.SQLException: Operation not allowed after ResultSet closed
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:569)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:537)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:527)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:512)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:480)
at com.mysql.cj.jdbc.result.ResultSetImpl.checkClosed(ResultSetImpl.java:471)
at com.mysql.cj.jdbc.result.ResultSetImpl.next(ResultSetImpl.java:1703)
at net.sf.jasperreports.engine.JRResultSetDataSource.next(JRResultSetDataSource.java:166)
... 13 more

данные из хранимки нормальные
...
Рейтинг: 0 / 0
Jasper subreport
    #39575717
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если сделать так
Код: java
1.
JasperFillManager.fillReportToFile(Singleton.getWeb_location() + "report/xx.jasper", null, new JRResultSetDataSource(rs));


то пдф выведет, но без sabrepot
...
Рейтинг: 0 / 0
Jasper subreport
    #39575742
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяесли сделать так
Код: java
1.
JasperFillManager.fillReportToFile(Singleton.getWeb_location() + "report/xx.jasper", null, new JRResultSetDataSource(rs));


то пдф выведет, но без sabrepot

Вадя

Вопрос: крутой Jasper для отчётов? Или есть другие альтернативы на Ваш взгляд?
...
Рейтинг: 0 / 0
Jasper subreport
    #39575789
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

Вообще с subreport'ами в JasperReports постоянно какая-то "засада".
На одном проекте вместо subreports использовали crosstab.
В принципе получалось то что надо.
Единственное "рисование" было как в Excel.
...
Рейтинг: 0 / 0
Jasper subreport
    #39575807
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NeboВопрос: крутой Jasper для отчётов? Или есть другие альтернативы на Ваш взгляд?альтернативы , наверно , есть, но первоначально была задача создать не редактируемый документ.
действительно Jasper достаточно крут, надо только научиться его готовить.

решение нашёл, но возник вопрос - почему так?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
try (Connection con = dataSource.getConnection();
                CallableStatement proc = con.prepareCall("{call report_vote1()}");
                CallableStatement proc1 = con.prepareCall("{call report_vote()}");) {
            ResultSet rs = proc.executeQuery();
            ResultSet rs1 = proc1.executeQuery();

            new File(Singleton.getWeb_location() + "report").mkdir();
            OutputStream output = new FileOutputStream(new File(Singleton.getWeb_location() + "report/xx.pdf"));
            List<JasperPrint> jasperPrintList = new ArrayList<>();
            JRPdfExporter exporter = new JRPdfExporter();
            Map<String, Object> parameters = new HashMap<>();
            parameters.put("subreportDatasetName", new JRResultSetDataSource(rs));

            JasperFillManager.fillReportToFile(Singleton.getWeb_location() + "report/xx.jasper", parameters, new JRResultSetDataSource(rs1));


надо два CallableStatement ..., свой для каждого отчета.
кто может объяснить ?
...
Рейтинг: 0 / 0
Jasper subreport
    #39575809
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulНа одном проекте вместо subreports использовали crosstab.как это готовить?
...
Рейтинг: 0 / 0
Jasper subreport
    #39575822
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяmad_nazgulНа одном проекте вместо subreports использовали crosstab.как это готовить?

Ну в принципе не особо сложно.
Главное, что в crosstab
1) Можно задать свой DataSet
2) Можно из главного DataSet передать параметры

Ну а дальше группируем "что" и "как" нам надо.
Причем можем группировать не только по строкам, но и по столбцам.

В общем мы на том проекте почти все отчеты в crosstab-ах делали.
Даже там где это не особо не нужно было :-)

По идее там основную работу можно сделать через wizard.


P.S. Делали в iReport (тогда JasperStudio еще не было).
По мне в iReport с crosstab'ами было чуть попроще работать чем в JasperStudio.
Но скорее всего это просто привычнее.
...
Рейтинг: 0 / 0
Jasper subreport
    #39575838
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulДелали в iReport
Там как в Access))) Всё визуально.
...
Рейтинг: 0 / 0
Jasper subreport
    #39575847
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123mad_nazgulДелали в iReport
Там как в Access))) Всё визуально.+1, "клико-программирование" (:
...
Рейтинг: 0 / 0
Jasper subreport
    #39575849
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в jasperstudio тоже визуально, но для мозахистов есть режим xml
...
Рейтинг: 0 / 0
Jasper subreport
    #39575851
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но вопрос остаётся открытым - почему два отдельных результсета работают , а два , полученных из одной хранимки - нет.
верно ли предположение , что порядок результсетов отправки в jasper один, а их обработка та в другом порядке?
и как тогда сделать клоны результсетов?
...
Рейтинг: 0 / 0
Jasper subreport
    #39575909
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяв jasperstudio тоже визуально, но для мозахистов есть режим xml
Там ещё есть sql запрос, который сам лезет в базу за данными. Но у тя же хранимки.

вадяа два , полученных из одной хранимки - нет.
Тебя предупреждали, что нефиг заниматься извратом.
Одна хранимка - один результат. Один метод - один выходной параметр.
...
Рейтинг: 0 / 0
Jasper subreport
    #39575922
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Тебя предупреждали, что нефиг заниматься извратом.
Одна хранимка - один результат. Один метод - один выходной параметр.

Звучит как
«Один народ, одна страна, одна судьба»
<:o)
...
Рейтинг: 0 / 0
Jasper subreport
    #39575925
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Там ещё есть sql запрос, который сам лезет в базу за данными. Но у тя же хранимки.там можно не только запросы, но и хранимки тоже
Petro123Одна хранимка - один результат. Один метод - один выходной параметр.это ты кидаешь камень в огород оракла и мелкомягких?
mad_nazgulЗвучит как
«Один народ, одна страна, одна судьба»а объяснить причину не судьба?
...
Рейтинг: 0 / 0
Jasper subreport
    #39575940
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяа объяснить причину не судьба?
Потому что у JasperFillManager.fillReportToFile третий параметр - один DataSource а не их коллекция

поэтому такого понятия нет вообще
вадячто порядок результсетов отправки в jasper одинНет порядка у единственного элемента

Если кидать параметрами несколько DataSource
вадяа их обработка та в другом порядке?
то естественно их обработка будет в порядке, который определяется тем как сконструирован отчет
(subreport в title или в summary например)

вадяи как тогда сделать клоны результсетов?
зачем? (ни разу не потребовалось). хочется услышать внятную причину, а не "мне надо"
...
Рейтинг: 0 / 0
Jasper subreport
    #39575947
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulPetro123Тебя предупреждали, что нефиг заниматься извратом.
Одна хранимка - один результат. Один метод - один выходной параметр.

Звучит как
«Один народ, одна страна, одна судьба»
<:o)
)))):Люблю юмор.
В java так. В дельфи и шарпе по другому.
...
Рейтинг: 0 / 0
Jasper subreport
    #39575956
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanBezПотому что у JasperFillManager.fillReportToFile третий параметр - один DataSource а не их коллекцияты не обратил внимание, что один передаётся как третий параметр, а другой как элемент мапы.
sanBezНет порядка у единственного элементатам два разных элемента
sanBezто естественно их обработка будет в порядке, который определяется тем как сконструирован отчет
(subreport в title или в summary например)у меня и идёт на странице сначала сабрепорт
sanBezзачем? (ни разу не потребовалось). хочется услышать внятную причину, а не "мне надо"это просто как попытка понять что на что может влиять.
...
Рейтинг: 0 / 0
Jasper subreport
    #39575963
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что java делает в этом случае
new JRResultSetDataSource(rs)
создаёт новый объект, не привязанный к источнику ничем ? или всё-таки передаёт ссылку на rs дальше?
...
Рейтинг: 0 / 0
Jasper subreport
    #39575981
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяsanBezПотому что у JasperFillManager.fillReportToFile третий параметр - один DataSource а не их коллекцияты не обратил внимание, что один передаётся как третий параметр, а другой как элемент мапы.
Обратил. Но ты почему-то считаешь что у DataSource (третий параметр fillReport) и параметра отчета subreportDatasetName (элемент мапы) есть какой-то порядок.
Два абсолютно несвязанных элемента. Какой у них порядок?
...
Рейтинг: 0 / 0
Jasper subreport
    #39576588
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jasper может вставлять варкод и qrкод
но для этого требуется подключить библиотеки для рантайма.
но вот где их взять? если jasper работает и выводит qr код, значит они у него есть, как определить какой jar нужен для рантайма? методом тыка мне удалось подобрать jar для его внутренних функций,
а как быть с баркодами?
...
Рейтинг: 0 / 0
Jasper subreport
    #39576655
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наподключал кучу библиотек..
выдаёт
Caused by: java.lang.ClassCastException: org.apache.batik.anim.dom.SVGOMDocument cannot be cast to org.apache.batik.dom.svg.SVGOMDocument
at org.apache.batik.bridge.BridgeContext.setDocument(Unknown Source)
at org.apache.batik.bridge.GVTBuilder.build(Unknown Source)
at net.sf.jasperreports.renderers.AbstractSvgDataToGraphics2DRenderer.getRootNode(AbstractSvgDataToGraphics2DRenderer.java:173)
at net.sf.jasperreports.renderers.AbstractSvgDataToGraphics2DRenderer.getDimension(AbstractSvgDataToGraphics2DRenderer.java:122)
at net.sf.jasperreports.engine.export.JRPdfExporter$InternalImageProcessor.processGraphics2D(JRPdfExporter.java:1807)
at net.sf.jasperreports.engine.export.JRPdfExporter$InternalImageProcessor.process(JRPdfExporter.java:1597)
at net.sf.jasperreports.engine.export.JRPdfExporter$InternalImageProcessor.access$300(JRPdfExporter.java:1547)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportImage(JRPdfExporter.java:1487)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:1105)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:1068)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:932)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:552)

что не хватает?
...
Рейтинг: 0 / 0
Jasper subreport
    #39576662
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадянаподключал кучу библиотек..
что не хватает?
Лишнего наподключал. Теперь Batik загружен два раза и оба экземпляра друг с другом не общаются.
...
Рейтинг: 0 / 0
Jasper subreport
    #39576685
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяjasper может вставлять варкод и qrкод
но для этого требуется подключить библиотеки для рантайма.
но вот где их взять? если jasper работает и выводит qr код, значит они у него есть, как определить какой jar нужен для рантайма? методом тыка мне удалось подобрать jar для его внутренних функций,
а как быть с баркодами?

Воспользуйтесь моим biserverov
Просто в socket отправляем

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<DOCUMENT><CONTENTS><ROW>
<ID>343</ID>
<DOCUMENT_ID>203</DOCUMENT_ID>
<PRSELLCOST>200</PRSELLCOST>
<GOODSNAME>БИЛЕТ ВЗРОСЛЫЙ</GOODSNAME>
<SGUID>0d7a9123-3f48-770c</SGUID>
<HISTORYSTR>27.12.2017 11:40:53</HISTORYSTR>
<SERIA>AA-003230</SERIA>
</ROW></CONTENTS><TITLE><ROW><NAME1>Чип и Дип</NAME1><OKPO1>499957848</OKPO1><SIDDRESS1>Судак Крепость Курчатовкая 140</SIDDRESS1>
<NO>203</NO>
<DATABOOK>27.12.2017 11:40:52</DATABOOK>
<DISCONTNAME>Скидка(Надбавка)+/-</DISCONTNAME>
<MOLNAME>Оффициант 8</MOLNAME>
<PLACENAME>08</PLACENAME>
</ROW></TITLE><TASK><ROW><PIPE></PIPE>
<PRINT>true</PRINT>
<TEMPLATE>srcheck.xml</TEMPLATE>
</ROW></TASK></DOCUMENT>





Шаблон

Код: xml
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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
<?xml version="1.0" encoding="Windows-1251" ?>
<report page="A4" landscape="false" urx1="80" ury1="50" marginleft="0" marginright="0" marginbottom="0" margintop="0">

<reporttitle>
<table align="left" persent="100" viewobject="title" totalwith="180">
<cell noborders="true" dateformat1="dd.MM.yyyy HH:mm:ss" dateformat="dd.MM.yyyy"><memo text="{title.MOLNAME}" fontsize="8" fontitalic="true" />
</cell>
<cell noborders="true" dateformat1="dd.MM.yyyy HH:mm:ss" ><memo text="{dictionary.DATETIME}"  fontsize="8" fontitalic="true" />
</cell>
<rows noborders="true" dateformat1="dd.MM.yyyy HH:mm:ss" ><memo1 text="{title.CHECKTT}"  fontsize="8" fontitalic="true" />
</rows>
<rows noborders="true"/>
</table>
<table align="left" persent="100" viewobject="title" totalwith="180">
<cell fractiontable="3">
<memo text="Проходной билет"  fontsize="8" fontbold="true" align="left"/>
</cell>
<cell numberformat="##,##0">
<memo text="№{title.NO}"  fontsize="8" fontbold="true" align="right"/>
</cell>
<cell numberformat1="##,##0">
<memo text="Лот {title.PLACENAME}"  fontsize="8"  align="right"/>
</cell>

</table>
<!--Основная таблица-->
<table align="left" persent="100" viewobject="title" totalwith="203" totalwith_uns="190"  spacebefore="5" >


<cell fractiontable="4" align="center" colspan1="1" rowspan="detail" verticalalign="bottom" fixheight1="15" single="true">
<memo text="QR Оттиск"   fontsize="8"  />
</cell>




<iterator view="contents" >
<rows align="center"  noborders="true">
<memo text="{contents.SGUID}-{contents.ID}-{contents.DOCUMENT_ID}" />
</rows>
<rows align="center"  noborders="true">
<memo text="{contents.GOODSNAME}" />
</rows>

<rows align="center" fixheight="85" noborders="true">
<qrbarcode text="{contents.SGUID}" />
</rows>


</iterator>


<rows colspan="all" noborders="true" align="center">
<memo text="Мы рады Вам всегда!" fontbold="true"/>
</rows>

</table>
</reporttitle>



<pagefooter>
</pagefooter>
</report>




А получаем в аттачменте
...
Рейтинг: 0 / 0
25 сообщений из 46, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Jasper subreport
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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