specify / specify6

Source Code for Specify 6, Biological Collections Management Platform
https://specifysoftware.org
GNU General Public License v2.0
14 stars 6 forks source link

BigDecimal change breaking existing labels #1201

Open totallynotleo opened 1 year ago

totallynotleo commented 1 year ago

Hello, I am in the process of moving our instance of Specify from 6.7.03 --> 6.8.03 and have noticed that with the change to the numbering system, existing labels are no longer able to be loaded. It seems to be an issue whenever altitude and depth values are in a label I'm assuming because it can no longer evaluate to null.

I couldn't find any other issues that this might be a duplicate of. Let me know if I've missed one. Is this something that can be fixed within Specify itself or will I have to recreate and reupdate all labels involving BigDecimal fields.

Full Error Message:

net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : 
    Source text : "<html>" + ($F{1,10,2.locality.minElevation}==null?"": ("<b>"+"Alt.: "+"</b>"+ $F{1,10,2.locality.minElevation}.intValue()+ ($F{1,10,2.locality.maxElevation}==null?"": (" - "+$F{1,10,2.locality.maxElevation}.intValue())))+($F{1,10,2.locality.text1}==null?"":$F{1,10,2.locality.text1}.replace("metres","m").replace("feet","ft"))) + "</html>"
net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:263)
net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:611)
net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:579)
net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:1016)
net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:504)
net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:488)
net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:259)
net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:456)
net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillFixedBand(JRHorizontalFiller.java:2194)
net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillDetail(JRHorizontalFiller.java:845)
net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillReportStart(JRHorizontalFiller.java:303)
net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillReport(JRHorizontalFiller.java:157)
net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:963)
net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:892)
net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFiller.run(BaseFillHandle.java:116)
java.base/java.lang.Thread.run(Thread.java:829)
grantfitzsimmons commented 1 year ago

Hi @totallynotleo,

Here is our guide for resolving this issue:

https://discourse.specifysoftware.org/t/report-issues-with-double-decimal-transition/900