Including barcodes within openvpms jrxml docs
Hi everyone,
I confess it has been years since my last post. It's great to see the forums are still so active.
We are planning on getting back "on the wagon" with the OpenVPMS community later this year when we catch up several versions!
In the meantime I have a query for the more java literate. I've been trying to get barcodes to work within iReport for a little while. The aim is to have the patient UID expressed as a barcode within the iReport template so that our scanner software can detect it and then using an existing auto attach script, plonk it straight into the Patient or Customer documents.
The problem is that iReport barcodes rely on Barbeque OS barcodes and I can't get this to work within the OpenVPMS app. My error message is :
net/sourceforge/barbecue/BarcodeException
|
Being a complete java novice, words like classpath mean little to me and scare me away from our production environment.
The full error dump is below. Any help with including Barbeque?
Cheers,
Matt C
<error-report>
<version>1.5-beta-2</version>
<revision>4275</revision>
<message>net/sourceforge/barbecue/BarcodeException</message>
<exception>
<type>java.lang.NoClassDefFoundError</type>
<message>net/sourceforge/barbecue/BarcodeException</message>
<stackTrace>
<trace>net.sf.jasperreports.components.barbecue.BarbecueFillComponent.setBarcodeImage(BarbecueFillComponent.java:138)</trace>
<trace>net.sf.jasperreports.components.barbecue.BarbecueFillComponent.fill(BarbecueFillComponent.java:108)</trace>
<trace>net.sf.jasperreports.engine.fill.JRFillComponentElement.fill(JRFillComponentElement.java:148)</trace>
<trace>net.sf.jasperreports.engine.fill.JRFillElementContainer.fillElements(JRFillElementContainer.java:571)</trace>
<trace>net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:432)</trace>
<trace>net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:378)</trace>
<trace>net.sf.jasperreports.engine.fill.JRVerticalFiller.fillBandNoOverflow(JRVerticalFiller.java:440)</trace>
<trace>net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageHeader(JRVerticalFiller.java:403)</trace>
<trace>net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:264)</trace>
<trace>net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)</trace>
<trace>net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946)</trace>
<trace>net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:864)</trace>
<trace>net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84)</trace>
<trace>net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)</trace>
<trace>org.openvpms.report.jasper.AbstractJasperIMReport.report(AbstractJasperIMReport.java:436)</trace>
<trace>org.openvpms.report.jasper.AbstractJasperIMReport.generate(AbstractJasperIMReport.java:301)</trace>
<trace>org.openvpms.web.component.im.report.Reporter.getDocument(Reporter.java:122)</trace>
<trace>org.openvpms.web.component.im.print.AbstractIMPrinter.getDocument(AbstractIMPrinter.java:110)</trace>
<trace>org.openvpms.web.app.subsystem.ActCRUDWindow.onPreview(ActCRUDWindow.java:230)</trace>
<trace>org.openvpms.web.app.subsystem.ActCRUDWindow$4.onAction(ActCRUDWindow.java:342)</trace>
<trace>org.openvpms.web.component.event.ActionListener.actionPerformed(ActionListener.java:41)</trace>
<trace>nextapp.echo2.app.button.AbstractButton.fireActionPerformed(AbstractButton.java:135)</trace>
<trace>echopointng.ButtonEx$1.actionPerformed(ButtonEx.java:120)</trace>
<trace>nextapp.echo2.app.button.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:70)</trace>
<trace>echopointng.model.DefaultButtonModelEx.doAction(DefaultButtonModelEx.java:51)</trace>
<trace>echopointng.ButtonEx.processInput(ButtonEx.java:202)</trace>
<trace>nextapp.echo2.app.update.ClientUpdateManager.process(ClientUpdateManager.java:116)</trace>
<trace>nextapp.echo2.app.update.UpdateManager.processClientUpdates(UpdateManager.java:89)</trace>
<trace>nextapp.echo2.webcontainer.ContainerSynchronizeService.renderUpdate(ContainerSynchronizeService.java:471)</trace>
<trace>nextapp.echo2.webrender.service.SynchronizeService.service(SynchronizeService.java:279)</trace>
<trace>nextapp.echo2.webrender.WebRenderServlet.process(WebRenderServlet.java:273)</trace>
<trace>org.openvpms.web.servlet.SpringWebContainerServlet.process(SpringWebContainerServlet.java:148)</trace>
<trace>nextapp.echo2.webrender.WebRenderServlet.doPost(WebRenderServlet.java:189)</trace>
<trace>javax.servlet.http.HttpServlet.service(HttpServlet.java:647)</trace>
<trace>javax.servlet.http.HttpServlet.service(HttpServlet.java:729)</trace>
<trace>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)</trace>
<trace>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)</trace>
<trace>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:343)</trace>
<trace>org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)</trace>
<trace>org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)</trace>
<trace>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)</trace>
<trace>org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)</trace>
<trace>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)</trace>
<trace>org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)</trace>
<trace>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)</trace>
<trace>org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)</trace>
<trace>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)</trace>
<trace>org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)</trace>
<trace>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)</trace>
<trace>org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149)</trace>
<trace>org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)</trace>
<trace>org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)</trace>
<trace>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)</trace>
<trace>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)</trace>
<trace>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)</trace>
<trace>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)</trace>
<trace>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)</trace>
<trace>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)</trace>
<trace>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)</trace>
<trace>org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)</trace>
<trace>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)</trace>
<trace>org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)</trace>
<trace>org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)</trace>
<trace>org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)</trace>
<trace>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)</trace>
<trace>java.lang.Thread.run(Unknown Source)</trace>
</stackTrace>
<cause>
<type>java.lang.ClassNotFoundException</type>
<message>net.sourceforge.barbecue.BarcodeException</message>
<stackTrace>
<trace>org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1438)</trace>
<trace>org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284)</trace>
<trace>net.sf.jasperreports.components.barbecue.BarbecueFillComponent.setBarcodeImage(BarbecueFillComponent.java:138)</trace>
<trace>net.sf.jasperreports.components.barbecue.BarbecueFillComponent.fill(BarbecueFillComponent.java:108)</trace>
<trace>net.sf.jasperreports.engine.fill.JRFillComponentElement.fill(JRFillComponentElement.java:148)</trace>
<trace>net.sf.jasperreports.engine.fill.JRFillElementContainer.fillElements(JRFillElementContainer.java:571)</trace>
<trace>net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:432)</trace>
<trace>net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:378)</trace>
<trace>net.sf.jasperreports.engine.fill.JRVerticalFiller.fillBandNoOverflow(JRVerticalFiller.java:440)</trace>
<trace>net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageHeader(JRVerticalFiller.java:403)</trace>
<trace>net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:264)</trace>
<trace>net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)</trace>
<trace>net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946)</trace>
<trace>net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:864)</trace>
<trace>net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84)</trace>
<trace>net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)</trace>
<trace>org.openvpms.report.jasper.AbstractJasperIMReport.report(AbstractJasperIMReport.java:436)</trace>
<trace>org.openvpms.report.jasper.AbstractJasperIMReport.generate(AbstractJasperIMReport.java:301)</trace>
<trace>org.openvpms.web.component.im.report.Reporter.getDocument(Reporter.java:122)</trace>
<trace>org.openvpms.web.component.im.print.AbstractIMPrinter.getDocument(AbstractIMPrinter.java:110)</trace>
<trace>org.openvpms.web.app.subsystem.ActCRUDWindow.onPreview(ActCRUDWindow.java:230)</trace>
<trace>org.openvpms.web.app.subsystem.ActCRUDWindow$4.onAction(ActCRUDWindow.java:342)</trace>
<trace>org.openvpms.web.component.event.ActionListener.actionPerformed(ActionListener.java:41)</trace>
<trace>nextapp.echo2.app.button.AbstractButton.fireActionPerformed(AbstractButton.java:135)</trace>
<trace>echopointng.ButtonEx$1.actionPerformed(ButtonEx.java:120)</trace>
<trace>nextapp.echo2.app.button.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:70)</trace>
<trace>echopointng.model.DefaultButtonModelEx.doAction(DefaultButtonModelEx.java:51)</trace>
<trace>echopointng.ButtonEx.processInput(ButtonEx.java:202)</trace>
<trace>nextapp.echo2.app.update.ClientUpdateManager.process(ClientUpdateManager.java:116)</trace>
<trace>nextapp.echo2.app.update.UpdateManager.processClientUpdates(UpdateManager.java:89)</trace>
<trace>nextapp.echo2.webcontainer.ContainerSynchronizeService.renderUpdate(ContainerSynchronizeService.java:471)</trace>
<trace>nextapp.echo2.webrender.service.SynchronizeService.service(SynchronizeService.java:279)</trace>
<trace>nextapp.echo2.webrender.WebRenderServlet.process(WebRenderServlet.java:273)</trace>
<trace>org.openvpms.web.servlet.SpringWebContainerServlet.process(SpringWebContainerServlet.java:148)</trace>
<trace>nextapp.echo2.webrender.WebRenderServlet.doPost(WebRenderServlet.java:189)</trace>
<trace>javax.servlet.http.HttpServlet.service(HttpServlet.java:647)</trace>
<trace>javax.servlet.http.HttpServlet.service(HttpServlet.java:729)</trace>
<trace>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)</trace>
<trace>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)</trace>
<trace>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:343)</trace>
<trace>org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)</trace>
<trace>org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)</trace>
<trace>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)</trace>
<trace>org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)</trace>
<trace>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)</trace>
<trace>org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)</trace>
<trace>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)</trace>
<trace>org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)</trace>
<trace>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)</trace>
<trace>org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)</trace>
<trace>org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)</trace>
<trace>org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149)</trace>
<trace>org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)</trace>
<trace>org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)</trace>
<trace>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)</trace>
<trace>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)</trace>
<trace>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)</trace>
<trace>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)</trace>
<trace>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)</trace>
<trace>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)</trace>
<trace>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)</trace>
<trace>org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)</trace>
<trace>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)</trace>
<trace>org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)</trace>
<trace>org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)</trace>
<trace>org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)</trace>
<trace>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)</trace>
<trace>java.lang.Thread.run(Unknown Source)</trace>
</stackTrace>
</cause>
</exception>
<freeMemory>227737040</freeMemory>
<totalMemory>1065025536</totalMemory>
<maxMemory>1065025536</maxMemory>
<properties>
<property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
<property name="sun.boot.library.path" value="C:\Program Files\Java\jre6\bin"/>
<property name="java.vm.version" value="17.1-b03"/>
<property name="shared.loader" value="${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar"/>
<property name="java.vm.vendor" value="Sun Microsystems Inc."/>
<property name="java.vendor.url" value="http://java.sun.com/"/>
<property name="path.separator" value=";"/>
<property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
<property name="tomcat.util.buf.StringCache.byte.enabled" value="true"/>
<property name="file.encoding.pkg" value="sun.io"/>
<property name="java.util.logging.config.file" value="C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\logging.properties"/>
<property name="user.country" value="AU"/>
<property name="sun.os.patch.level" value="Service Pack 2"/>
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
<property name="user.dir" value="C:\Program Files\Apache Software Foundation\Tomcat 5.5"/>
<property name="java.runtime.version" value="1.6.0_22-b04"/>
<property name="java.awt.graphicsenv" value="sun.awt.Win32GraphicsEnvironment"/>
<property name="java.endorsed.dirs" value="C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\endorsed"/>
<property name="os.arch" value="amd64"/>
<property name="java.io.tmpdir" value="C:\Program Files\Apache Software Foundation\Tomcat 5.5\temp"/>
<property name="line.separator" value="
"/>
<property name="java.vm.specification.vendor" value="Sun Microsystems Inc."/>
<property name="user.variant" value=""/>
<property name="java.util.logging.manager" value="org.apache.juli.ClassLoaderLogManager"/>
<property name="java.naming.factory.url.pkgs" value="org.apache.naming"/>
<property name="os.name" value="Windows Server 2008"/>
<property name="sun.jnu.encoding" value="Cp1252"/>
<property name="org.apache.commons.jxpath.JXPathContextFactory" value="org.openvpms.component.system.common.jxpath.OpenVPMSContextFactoryReferenceImpl"/>
<property name="java.library.path" value="C:\Program Files\Apache Software Foundation\Tomcat 5.5\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\MySQL\MySQL Server 5.1\bin;C:\Program Files (x86)\OpenOffice.org 3\program;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files (x86)\QuickTime\QTSystem\"/>
<property name="java.specification.name" value="Java Platform API Specification"/>
<property name="java.class.version" value="50.0"/>
<property name="sun.management.compiler" value="HotSpot 64-Bit Server Compiler"/>
<property name="os.version" value="6.0"/>
<property name="user.home" value="C:\Users\openvpms.SERVER"/>
<property name="user.timezone" value="Australia/Sydney"/>
<property name="catalina.useNaming" value="true"/>
<property name="java.awt.printerjob" value="sun.awt.windows.WPrinterJob"/>
<property name="java.specification.version" value="1.6"/>
<property name="file.encoding" value="Cp1252"/>
<property name="catalina.home" value="C:\Program Files\Apache Software Foundation\Tomcat 5.5"/>
<property name="user.name" value="openvpms"/>
<property name="java.class.path" value="C:\Program Files\Apache Software Foundation\Tomcat 5.5\bin\bootstrap.jar"/>
<property name="java.naming.factory.initial" value="org.apache.naming.java.javaURLContextFactory"/>
<property name="openvpms" value="C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\openvpms\"/>
<property name="package.definition" value="sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper."/>
<property name="java.vm.specification.version" value="1.0"/>
<property name="sun.arch.data.model" value="64"/>
<property name="java.home" value="C:\Program Files\Java\jre6"/>
<property name="java.specification.vendor" value="Sun Microsystems Inc."/>
<property name="user.language" value="en"/>
<property name="awt.toolkit" value="sun.awt.windows.WToolkit"/>
<property name="java.vm.info" value="mixed mode"/>
<property name="java.version" value="1.6.0_22"/>
<property name="java.ext.dirs" value="C:\Program Files\Java\jre6\lib\ext;C:\Windows\Sun\Java\lib\ext"/>
<property name="sun.boot.class.path" value="C:\Program Files\Java\jre6\lib\resources.jar;C:\Program Files\Java\jre6\lib\rt.jar;C:\Program Files\Java\jre6\lib\sunrsasign.jar;C:\Program Files\Java\jre6\lib\jsse.jar;C:\Program Files\Java\jre6\lib\jce.jar;C:\Program Files\Java\jre6\lib\charsets.jar;C:\Program Files\Java\jre6\classes"/>
<property name="java.vendor" value="Sun Microsystems Inc."/>
<property name="server.loader" value="${catalina.home}/server/classes,${catalina.home}/server/lib/*.jar"/>
<property name="catalina.base" value="C:\Program Files\Apache Software Foundation\Tomcat 5.5"/>
<property name="file.separator" value="\"/>
<property name="java.vendor.url.bug" value="http://java.sun.com/cgi-bin/bugreport.cgi"/>
<property name="common.loader" value="${catalina.home}/common/classes,${catalina.home}/common/i18n/*.jar,${catalina.home}/common/endorsed/*.jar,${catalina.home}/common/lib/*.jar"/>
<property name="sun.cpu.endian" value="little"/>
<property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
<property name="package.access" value="sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans."/>
<property name="sun.desktop" value="windows"/>
<property name="sun.cpu.isalist" value="amd64"/>
</properties>
</error-report>
Re: Including barcodes within openvpms jrxml docs
Matt - you have got to bring yourself into the modern world. I just tweaked the standard Customer list report to add a Code128 barcode for the customer's id and you get:
The above required no java code - just stuff in the barcode field and tell it to use $F{cid} as the value to make the barcode from.
By the way, the other day I was asked "what are we missing running 1.5". My reply was:
That’s like saying “I have my 1964 Morris Mini 850 (complete with sliding windows, door pockets that you can fit 6 (or was it 9) bottles of beer into, windscreen washers where you had to press a rubber bulb to make it work, and the heater was an optional extra) – what’s different about the 2016 Mini?”
With 1.7 we bought in the online documentation, and with this we initiated the publishing of a ‘New in x.y’ page – so you can read:
http://www.openvpms.org/documentation/csh/1.7/new-features
http://www.openvpms.org/documentation/csh/1.8/new-features
http://www.openvpms.org/documentation/csh/1.9/new-features
To see the changes from 1.5 to 1.6, see the ‘New features’ part of http://www.openvpms.org/openvpms-1.6
If you cannot be bothered reading the above, you might want to read through the Introduction and Concepts sections of the 1.9 release, http://www.openvpms.org/documentation/csh/1.9/introduction and http://www.openvpms.org/documentation/csh/1.9/concepts
From this you should be able to see the ‘ahah that’s new…’ bits.
1.9 is nearing the end of its development and we expect to release it in the August/September time frame.
My personal view is that 1.9 is far far far far better than 1.5 (which I never knew – I started working with 1.6).
Regards, Tim G
PS – yes I did have a 64 Mini 850 – I got it as a hand-me-down from my Aunt in 1966 and sold it 13 years later with a 5 seconds or 5 yards warranty to a work colleague for his wife to drive.
Re: Including barcodes within openvpms jrxml docs
I feel so old.... So very very old.
;-)
another feature to to add to the post upgrade list!
thanks so much Tim.
Cheers,
matt