From c0b2c25de34618ad625bb0426a37f1c303225c7c Mon Sep 17 00:00:00 2001 From: Diego Ruiz Date: Tue, 19 Feb 2019 11:32:53 +0100 Subject: [PATCH] IDEMPIERE-3898 Wrong value for Print Format Item when exporting to excel and AD_Column_ID > 0 with type != field --- .../adempiere/print/export/PrintDataExcelExporter.java | 10 +++++++--- .../src/org/compiere/print/MPrintFormatItem.java | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/org.adempiere.base/src/org/adempiere/print/export/PrintDataExcelExporter.java b/org.adempiere.base/src/org/adempiere/print/export/PrintDataExcelExporter.java index 0dc8e4affe..dab5b7bf5f 100644 --- a/org.adempiere.base/src/org/adempiere/print/export/PrintDataExcelExporter.java +++ b/org.adempiere.base/src/org/adempiere/print/export/PrintDataExcelExporter.java @@ -58,10 +58,14 @@ extends AbstractExcelExporter m_printData.setRowIndex(row); // MPrintFormatItem item = m_printFormat.getItem(col); - int AD_Column_ID = item.getAD_Column_ID(); Object obj = null; - if (AD_Column_ID > 0) - obj = m_printData.getNode(Integer.valueOf(AD_Column_ID)); + + if (item.isTypeField() || item.isTypePrintFormat() && item.isImageField()) { + int AD_Column_ID = item.getAD_Column_ID(); + if (AD_Column_ID > 0) + obj = m_printData.getNode(Integer.valueOf(AD_Column_ID)); + } + if (obj != null && obj instanceof PrintDataElement) { return (PrintDataElement)obj; } diff --git a/org.adempiere.base/src/org/compiere/print/MPrintFormatItem.java b/org.adempiere.base/src/org/compiere/print/MPrintFormatItem.java index 96c2bf1145..8453ca0742 100644 --- a/org.adempiere.base/src/org/compiere/print/MPrintFormatItem.java +++ b/org.adempiere.base/src/org/compiere/print/MPrintFormatItem.java @@ -649,6 +649,9 @@ public class MPrintFormatItem extends X_AD_PrintFormatItem setImageIsAttached(false); setImageURL(null); } + if (!isTypeField() && !isTypePrintFormat() && !isImageField()) { + setAD_Column_ID(0); + } return true; } // beforeSave