diff --git a/JasperReports/build.xml b/JasperReports/build.xml
index ea445c55fd..456070546f 100644
--- a/JasperReports/build.xml
+++ b/JasperReports/build.xml
@@ -18,7 +18,8 @@
-
+
+
@@ -50,6 +51,7 @@
+
@@ -99,12 +101,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -138,12 +140,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/JasperReports/src/org/compiere/report/JasperReportViewer.java b/JasperReports/src/org/compiere/report/JasperReportViewer.java
index 9ea338cc75..a594b352dc 100644
--- a/JasperReports/src/org/compiere/report/JasperReportViewer.java
+++ b/JasperReports/src/org/compiere/report/JasperReportViewer.java
@@ -3,6 +3,8 @@
*/
package org.compiere.report;
+import java.awt.Component;
+import java.util.logging.Level;
import net.sf.jasperreports.view.JRViewer;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JRException;
@@ -14,31 +16,57 @@ import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.File;
+import org.compiere.model.MUser;
+import org.compiere.util.CLogger;
+import org.compiere.util.Env;
+import org.compiere.util.Msg;
+import org.compiere.apps.*;
public class JasperReportViewer extends JRViewer {
private static final long serialVersionUID = -7988455595896562947L;
+ /** Logger */
+ private static CLogger log = CLogger.getCLogger(JasperReportViewer.class);
+
+ private JasperViewer jasperViewer;
private JasperPrint jasperPrint;
private JComboBox comboBox;
- public JasperReportViewer(final JasperPrint jasperPrint) throws JRException {
+ public JasperReportViewer(final JasperViewer jasperViewer, final JasperPrint jasperPrint) throws JRException {
super( jasperPrint);
+ this.jasperViewer = jasperViewer;
this.jasperPrint = jasperPrint;
- JButton btnExport = new JButton();
+
+ tlbToolBar.add(new JSeparator(SwingConstants.VERTICAL));
+ JButton btnSendByEmail = new JButton();
+ btnSendByEmail.setToolTipText("Send by Email");
+ btnSendByEmail.setText("Email");
+ btnSendByEmail.setPreferredSize(new java.awt.Dimension(85, 23));
+ btnSendByEmail.setMaximumSize(new java.awt.Dimension(85, 23));
+ btnSendByEmail.setMinimumSize(new java.awt.Dimension(85, 23));
+ btnSendByEmail.addActionListener( new SendByEmailListener(jasperViewer, this));
+ tlbToolBar.add(btnSendByEmail);
+ tlbToolBar.add(new JSeparator(SwingConstants.VERTICAL));
+
+ JButton btnExport = new JButton();
btnExport.setToolTipText("Export to");
- btnExport.setText("Export to");
- btnExport.setPreferredSize(new java.awt.Dimension(70, 23));
- btnExport.setMaximumSize(new java.awt.Dimension(70, 23));
- btnExport.setMinimumSize(new java.awt.Dimension(70, 23));
+ btnExport.setText("Export");
+ btnExport.setPreferredSize(new java.awt.Dimension(85, 23));
+ btnExport.setMaximumSize(new java.awt.Dimension(85, 23));
+ btnExport.setMinimumSize(new java.awt.Dimension(85, 23));
btnExport.addActionListener( new ExportListener( this));
- // tlbToolBar.addSeparator();
tlbToolBar.add(btnExport);
- comboBox = new JComboBox( new String[] {"PDF","HTML", "XLS"});
- comboBox.setPreferredSize(new java.awt.Dimension(70, 23));
- comboBox.setMaximumSize(new java.awt.Dimension(70, 23));
- comboBox.setMinimumSize(new java.awt.Dimension(70, 23));
+
+ comboBox = new JComboBox( new String[] {"PDF","HTML", "XLS"});
+ comboBox.setPreferredSize(new java.awt.Dimension(80, 23));
+ comboBox.setMaximumSize(new java.awt.Dimension(80, 23));
+ comboBox.setMinimumSize(new java.awt.Dimension(80, 23));
tlbToolBar.add(comboBox);
+
+ // Set default viewer zoom level
+ btnFitPage.setSelected(true);
+ setZooms();
}
public JasperPrint getJasperPrint() {
@@ -59,6 +87,8 @@ class ExportListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
JFileChooser fileChooser = new JFileChooser();
+ fileChooser.setSelectedFile(new File(viewer.getJasperPrint().getName() +
+ "." + viewer.getFormat().toLowerCase()));
if (fileChooser.showSaveDialog( viewer)==JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try {
@@ -78,3 +108,38 @@ class ExportListener implements ActionListener {
}
}
}
+
+class SendByEmailListener implements ActionListener {
+ /** Logger */
+ private static CLogger log = CLogger.getCLogger(SendByEmailListener.class);
+
+ private JasperViewer jasperViewer;
+ private JasperReportViewer viewer;
+
+ public SendByEmailListener(JasperViewer jasperViewer, JasperReportViewer viewer) {
+ this.jasperViewer = jasperViewer;
+ this.viewer = viewer;
+ }
+
+ public void actionPerformed(ActionEvent event) {
+ String to = "";
+ MUser from = MUser.get(Env.getCtx(), Env.getAD_User_ID(Env.getCtx()));
+ String subject = viewer.getJasperPrint().getName();
+ String message = "";
+ File attachment = null;
+
+ try
+ {
+ attachment = File.createTempFile("mail", ".pdf");
+ JasperExportManager.exportReportToPdfFile(viewer.getJasperPrint(), attachment.getAbsolutePath());
+ }
+ catch (Exception e)
+ {
+ log.log(Level.SEVERE, "", e);
+ }
+
+ EMailDialog emd = new EMailDialog ((JFrame)jasperViewer,
+ Msg.getMsg(Env.getCtx(), "SendMail"),
+ from, to, subject, message, attachment);
+ }
+}
diff --git a/JasperReports/src/org/compiere/report/JasperViewer.java b/JasperReports/src/org/compiere/report/JasperViewer.java
index 99cfd16f8c..25529f2f4e 100644
--- a/JasperReports/src/org/compiere/report/JasperViewer.java
+++ b/JasperReports/src/org/compiere/report/JasperViewer.java
@@ -35,7 +35,7 @@ public class JasperViewer extends javax.swing.JFrame {
protected JasperViewer(JasperPrint jasperPrint,String frameTitle) throws JRException {
this.m_title = frameTitle;
initComponents();
- JasperReportViewer viewer = new JasperReportViewer(jasperPrint);
+ JasperReportViewer viewer = new JasperReportViewer(this, jasperPrint);
this.pnlMain.add(viewer, BorderLayout.CENTER);
}
diff --git a/JasperReports/src/org/compiere/report/ReportStarter.java b/JasperReports/src/org/compiere/report/ReportStarter.java
index 5ce4d38a60..99566c050e 100644
--- a/JasperReports/src/org/compiere/report/ReportStarter.java
+++ b/JasperReports/src/org/compiere/report/ReportStarter.java
@@ -69,9 +69,9 @@ public class ReportStarter implements ProcessCall {
String reportPath = System.getProperty("org.compiere.report.path");
if (reportPath == null) {
- REPORT_HOME = new File( System.getProperty("COMPIERE_HOME")+"/reports");
+ REPORT_HOME = new File(System.getProperty("ADEMPIERE_HOME") + "./reports");
} else {
- REPORT_HOME = new File( reportPath);
+ REPORT_HOME = new File(reportPath);
}
}
@@ -220,7 +220,7 @@ public class ReportStarter implements ProcessCall {
/**
* @author rlemeill
- * @param reportLocation http string url ex: http://compiereserver.domain.com/webApp/standalone.jrxml
+ * @param reportLocation http string url ex: http://adempiereserver.domain.com/webApp/standalone.jrxml
* @return downloaded File (or already existing one)
*/
private File httpDownloadedReport(String reportLocation)
@@ -324,6 +324,7 @@ public class ReportStarter implements ProcessCall {
if (Record_ID!=-1) {
JasperData data = null;
File reportFile = null;
+ String fileExtension = "";
HashMap params = new HashMap( ctx);
addProcessParameters( AD_PInstance_ID, params, trxName);
@@ -343,9 +344,15 @@ public class ReportStarter implements ProcessCall {
}
if (reportFile != null)
+ {
data = processReport(reportFile);
+ fileExtension = reportFile.getName().substring(reportFile.getName().lastIndexOf("."),
+ reportFile.getName().length());
+ }
else
+ {
return false;
+ }
JasperReport jasperReport = data.getJasperReport();
String jasperName = data.getJasperName();
@@ -354,7 +361,7 @@ public class ReportStarter implements ProcessCall {
if (jasperReport != null) {
// Subreports
- File[] subreports = reportDir.listFiles( new FileFilter( jasperName+"Subreport", reportDir, ".xml"));
+ File[] subreports = reportDir.listFiles( new FileFilter( jasperName+"Subreport", reportDir, fileExtension));
for( int i=0; i
------ Executing xdoclet
-
+
diff --git a/client/src/org/compiere/apps/ProcessCtl.java b/client/src/org/compiere/apps/ProcessCtl.java
index bad2e18fe4..176ecf5797 100644
--- a/client/src/org/compiere/apps/ProcessCtl.java
+++ b/client/src/org/compiere/apps/ProcessCtl.java
@@ -107,7 +107,7 @@ public class ProcessCtl extends Thread
}
// execute
- ProcessCtl worker = new ProcessCtl(parent, pi, trx);
+ ProcessCtl worker = new ProcessCtl(parent, WindowNo, pi, trx);
worker.start(); // MUST be start!
return worker;
} // execute
@@ -171,7 +171,7 @@ public class ProcessCtl extends Thread
}
// execute
- ProcessCtl worker = new ProcessCtl(parent, pi, trx);
+ ProcessCtl worker = new ProcessCtl(parent, WindowNo, pi, trx);
worker.start(); // MUST be start!
return worker;
} // execute
@@ -185,13 +185,16 @@ public class ProcessCtl extends Thread
* @param trx Transaction
* Created in process(), VInvoiceGen.generateInvoices
*/
- public ProcessCtl (ASyncProcess parent, ProcessInfo pi, Trx trx)
+ public ProcessCtl (ASyncProcess parent, int WindowNo, ProcessInfo pi, Trx trx)
{
+ windowno = WindowNo;
m_parent = parent;
m_pi = pi;
m_trx = trx; // handeled correctly
} // ProcessCtl
+ /** Windowno */
+ int windowno;
/** Parenr */
ASyncProcess m_parent;
/** Process Info */
@@ -360,7 +363,7 @@ public class ProcessCtl extends Thread
} // Pre-Report
// Start Report -----------------------------------------------
- boolean ok = ReportCtl.start(m_pi, IsDirectPrint);
+ boolean ok = ReportCtl.start(m_parent, windowno, m_pi, IsDirectPrint);
m_pi.setSummary("Report", !ok);
unlock ();
}
diff --git a/client/src/org/compiere/apps/ProcessDialog.java b/client/src/org/compiere/apps/ProcessDialog.java
index 59a09a3e10..538435f161 100644
--- a/client/src/org/compiere/apps/ProcessDialog.java
+++ b/client/src/org/compiere/apps/ProcessDialog.java
@@ -379,7 +379,7 @@ public class ProcessDialog extends CFrame
for (int i = 0; i < m_ids.length; i++)
{
int M_InOut_ID = m_ids[i];
- ReportCtl.startDocumentPrint(ReportEngine.SHIPMENT, M_InOut_ID, true);
+ ReportCtl.startDocumentPrint(ReportEngine.SHIPMENT, M_InOut_ID, this, Env.getWindowNo(this), true);
}
ADialogDialog d = new ADialogDialog (this,
Env.getHeader(Env.getCtx(), m_WindowNo),
@@ -408,7 +408,7 @@ public class ProcessDialog extends CFrame
for (int i = 0; i < m_ids.length; i++)
{
int AD_Invoice_ID = m_ids[i];
- ReportCtl.startDocumentPrint(ReportEngine.INVOICE, AD_Invoice_ID, true);
+ ReportCtl.startDocumentPrint(ReportEngine.INVOICE, AD_Invoice_ID, this, Env.getWindowNo(this), true);
}
ADialogDialog d = new ADialogDialog (this,
Env.getHeader(Env.getCtx(), m_WindowNo),
diff --git a/client/src/org/compiere/apps/form/VInOutGen.java b/client/src/org/compiere/apps/form/VInOutGen.java
index 35b3c72e63..16801bc547 100644
--- a/client/src/org/compiere/apps/form/VInOutGen.java
+++ b/client/src/org/compiere/apps/form/VInOutGen.java
@@ -459,7 +459,7 @@ public class VInOutGen extends CPanel
}
// Execute Process
- ProcessCtl worker = new ProcessCtl(this, pi, trx);
+ ProcessCtl worker = new ProcessCtl(this, Env.getWindowNo(this), pi, trx);
worker.start(); // complete tasks in unlockUI / generateShipments_complete
//
} // generateShipments
@@ -508,7 +508,7 @@ public class VInOutGen extends CPanel
for (int i = 0; i < ids.length; i++)
{
int M_InOut_ID = ids[i];
- ReportCtl.startDocumentPrint(ReportEngine.SHIPMENT, M_InOut_ID, true);
+ ReportCtl.startDocumentPrint(ReportEngine.SHIPMENT, M_InOut_ID, this, Env.getWindowNo(this), true);
}
ADialogDialog d = new ADialogDialog (m_frame,
Env.getHeader(Env.getCtx(), m_WindowNo),
diff --git a/client/src/org/compiere/apps/form/VInvoiceGen.java b/client/src/org/compiere/apps/form/VInvoiceGen.java
index 81b76ac7ff..779f045ca5 100644
--- a/client/src/org/compiere/apps/form/VInvoiceGen.java
+++ b/client/src/org/compiere/apps/form/VInvoiceGen.java
@@ -451,7 +451,7 @@ public class VInvoiceGen extends CPanel
}
// Execute Process
- ProcessCtl worker = new ProcessCtl(this, pi, trx);
+ ProcessCtl worker = new ProcessCtl(this, Env.getWindowNo(this), pi, trx);
worker.start(); // complete tasks in unlockUI / generateInvoice_complete
} // generateInvoices
@@ -498,7 +498,7 @@ public class VInvoiceGen extends CPanel
for (int i = 0; i < ids.length; i++)
{
int C_Invoice_ID = ids[i];
- ReportCtl.startDocumentPrint(ReportEngine.INVOICE, C_Invoice_ID, true);
+ ReportCtl.startDocumentPrint(ReportEngine.INVOICE, C_Invoice_ID, this, Env.getWindowNo(this), true);
}
ADialogDialog d = new ADialogDialog (m_frame,
Env.getHeader(Env.getCtx(), m_WindowNo),
diff --git a/client/src/org/compiere/apps/form/VPayPrint.java b/client/src/org/compiere/apps/form/VPayPrint.java
index 0934362da0..3a14a306a0 100644
--- a/client/src/org/compiere/apps/form/VPayPrint.java
+++ b/client/src/org/compiere/apps/form/VPayPrint.java
@@ -1,8 +1,8 @@
-/******************************************************************************
- * Product: Adempiere ERP & CRM Smart Business Solution *
- * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
- * This program is free software; you can redistribute it and/or modify it *
- * under the terms version 2 of the GNU General Public License as published *
+/******************************************************************************
+ * Product: Adempiere ERP & CRM Smart Business Solution *
+ * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
@@ -42,13 +42,13 @@ public class VPayPrint extends CPanel
* Initialize Panel
* @param WindowNo window
* @param frame frame
- */
- public void init (int WindowNo, FormFrame frame)
- {
- log.info("");
- m_WindowNo = WindowNo;
- m_frame = frame;
- try
+ */
+ public void init (int WindowNo, FormFrame frame)
+ {
+ log.info("");
+ m_WindowNo = WindowNo;
+ m_frame = frame;
+ try
{
jbInit();
dynInit();
@@ -437,14 +437,14 @@ public class VPayPrint extends CPanel
ADialog.info(m_WindowNo, this, "Saved",
fc.getSelectedFile().getAbsolutePath() + "\n"
+ Msg.getMsg(Env.getCtx(), "NoOfLines") + "=" + no);
-
- if (ADialog.ask(m_WindowNo, this, "VPayPrintSuccess?"))
- {
- // int lastDocumentNo =
- MPaySelectionCheck.confirmPrint (m_checks, m_batch);
- // document No not updated
- }
- dispose();
+
+ if (ADialog.ask(m_WindowNo, this, "VPayPrintSuccess?"))
+ {
+ // int lastDocumentNo =
+ MPaySelectionCheck.confirmPrint (m_checks, m_batch);
+ // document No not updated
+ }
+ dispose();
} // cmd_export
/**
@@ -466,19 +466,19 @@ public class VPayPrint extends CPanel
{
String PaymentRule = ((ValueNamePair)fPaymentRule.getSelectedItem()).getValue();
log.info(PaymentRule);
- if (!getChecks(PaymentRule))
- return;
-
- this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
-
- boolean somethingPrinted = false;
+ if (!getChecks(PaymentRule))
+ return;
+
+ this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+
+ boolean somethingPrinted = false;
boolean directPrint = !Ini.isPropertyBool(Ini.P_PRINTPREVIEW);
// for all checks
for (int i = 0; i < m_checks.length; i++)
{
MPaySelectionCheck check = m_checks[i];
// ReportCtrl will check BankAccountDoc for PrintFormat
- boolean ok = ReportCtl.startDocumentPrint(ReportEngine.CHECK, check.get_ID(), directPrint);
+ boolean ok = ReportCtl.startDocumentPrint(ReportEngine.CHECK, check.get_ID(), null, Env.getWindowNo(this), directPrint);
if (!somethingPrinted && ok)
somethingPrinted = true;
}
@@ -502,7 +502,7 @@ public class VPayPrint extends CPanel
for (int i = 0; i < m_checks.length; i++)
{
MPaySelectionCheck check = m_checks[i];
- ReportCtl.startDocumentPrint(ReportEngine.REMITTANCE, check.get_ID(), directPrint);
+ ReportCtl.startDocumentPrint(ReportEngine.REMITTANCE, check.get_ID(), null, Env.getWindowNo(this), directPrint);
}
} // remittance
@@ -532,13 +532,13 @@ public class VPayPrint extends CPanel
int startDocumentNo = ((Number)fDocumentNo.getValue()).intValue();
log.config("C_PaySelection_ID=" + C_PaySelection_ID + ", PaymentRule=" + PaymentRule + ", DocumentNo=" + startDocumentNo);
- //
- this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
-
- // get Slecetions
- m_checks = MPaySelectionCheck.get(C_PaySelection_ID, PaymentRule, startDocumentNo, null);
-
- this.setCursor(Cursor.getDefaultCursor());
+ //
+ this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+
+ // get Slecetions
+ m_checks = MPaySelectionCheck.get(C_PaySelection_ID, PaymentRule, startDocumentNo, null);
+
+ this.setCursor(Cursor.getDefaultCursor());
//
if (m_checks == null || m_checks.length == 0)
{
diff --git a/client/src/org/compiere/pos/SubCheckout.java b/client/src/org/compiere/pos/SubCheckout.java
index a3a364ff81..558d3b06b4 100644
--- a/client/src/org/compiere/pos/SubCheckout.java
+++ b/client/src/org/compiere/pos/SubCheckout.java
@@ -35,7 +35,7 @@ import org.compiere.util.*;
*
* @author Comunidad de Desarrollo OpenXpertya
* *Basado en Codigo Original Modificado, Revisado y Optimizado de:
- * *Copyright © Jorg Janke
+ * *Copyright � Jorg Janke
* @version $Id: SubCheckout.java,v 1.1 2004/07/12 04:10:04 jjanke Exp $
*/
public class SubCheckout extends PosSubPanel implements ActionListener
@@ -159,8 +159,8 @@ public class SubCheckout extends PosSubPanel implements ActionListener
//TODO: Credit card
-/* Panel para la introducción de los datos de CreditCard para el pago quitada por ConSerTi al no considerar
- * que sea útil de momento
+/* Panel para la introducci�n de los datos de CreditCard para el pago quitada por ConSerTi al no considerar
+ * que sea �til de momento
// -- 1 -- Creditcard
CPanel creditcard = new CPanel(new GridBagLayout());
@@ -307,7 +307,7 @@ public class SubCheckout extends PosSubPanel implements ActionListener
* Process Order
* @author Comunidad de Desarrollo OpenXpertya
* *Basado en Codigo Original Modificado, Revisado y Optimizado de:
- * *Copyright © ConSerTi
+ * *Copyright � ConSerTi
*/
public void processOrder()
{
@@ -332,7 +332,7 @@ public class SubCheckout extends PosSubPanel implements ActionListener
* Print Ticket
* @author Comunidad de Desarrollo OpenXpertya
* *Basado en Codigo Original Modificado, Revisado y Optimizado de:
- * *Copyright © ConSerTi
+ * *Copyright � ConSerTi
*/
public void printTicket()
{
@@ -342,7 +342,7 @@ public class SubCheckout extends PosSubPanel implements ActionListener
if (order != null)
{
- try
+ try
{
//TODO: to incorporate work from Posterita
/*
@@ -350,7 +350,7 @@ public class SubCheckout extends PosSubPanel implements ActionListener
PrintLabel.printLabelTicket(order.getC_Order_ID(), p_pos.getAD_PrintLabel_ID());
*/
//print standard document
- ReportCtl.startDocumentPrint(ReportEngine.ORDER, order.getC_Order_ID(), true);
+ ReportCtl.startDocumentPrint(ReportEngine.ORDER, order.getC_Order_ID(), null, Env.getWindowNo(this), true);
}
catch (Exception e)
{
@@ -364,7 +364,7 @@ public class SubCheckout extends PosSubPanel implements ActionListener
* Display the difference between tender amount and bill amount
* @author Comunidad de Desarrollo OpenXpertya
* *Basado en Codigo Original Modificado, Revisado y Optimizado de:
- * *Copyright © ConSerTi
+ * *Copyright � ConSerTi
*/
public void displayReturn()
{
@@ -386,7 +386,7 @@ public class SubCheckout extends PosSubPanel implements ActionListener
*
* @author Comunidad de Desarrollo OpenXpertya
* *Basado en Codigo Original Modificado, Revisado y Optimizado de:
- * *Copyright © ConSerTi
+ * *Copyright � ConSerTi
*/
public boolean isOrderFullyPay()
{
@@ -409,7 +409,7 @@ public class SubCheckout extends PosSubPanel implements ActionListener
* Abre la caja registradora
* @author Comunidad de Desarrollo OpenXpertya
* *Basado en Codigo Original Modificado, Revisado y Optimizado de:
- * *Copyright © ConSerTi
+ * *Copyright � ConSerTi
*/
public void openCashDrawer()
{
@@ -438,12 +438,12 @@ public class SubCheckout extends PosSubPanel implements ActionListener
byte data[] = new byte[5];
data[0] = 27;
data[1] = 112;
- data[2] = 0;
- data[3] = 50;
+ data[2] = 0;
+ data[3] = 50;
data[4] = 50;
FileOutputStream fos = new FileOutputStream(puerto);
BufferedOutputStream bos = new BufferedOutputStream(fos);
- bos.write(data, 0, data.length);
+ bos.write(data, 0, data.length);
bos.close();
fos.close();
}
diff --git a/client/src/org/compiere/print/ReportCtl.java b/client/src/org/compiere/print/ReportCtl.java
index 9c0d2ad225..68f1fc854a 100644
--- a/client/src/org/compiere/print/ReportCtl.java
+++ b/client/src/org/compiere/print/ReportCtl.java
@@ -52,7 +52,7 @@ public class ReportCtl
* @param IsDirectPrint if true, prints directly - otherwise View
* @return true if created
*/
- static public boolean start (ProcessInfo pi, boolean IsDirectPrint)
+ static public boolean start (ASyncProcess parent, int WindowNo, ProcessInfo pi, boolean IsDirectPrint)
{
s_log.info("start - " + pi);
@@ -60,19 +60,19 @@ public class ReportCtl
* Order Print
*/
if (pi.getAD_Process_ID() == 110) // C_Order
- return startDocumentPrint(ReportEngine.ORDER, pi.getRecord_ID(), IsDirectPrint);
+ return startDocumentPrint(ReportEngine.ORDER, pi.getRecord_ID(), parent, WindowNo, IsDirectPrint);
else if (pi.getAD_Process_ID() == 116) // C_Invoice
- return startDocumentPrint(ReportEngine.INVOICE, pi.getRecord_ID(), IsDirectPrint);
+ return startDocumentPrint(ReportEngine.INVOICE, pi.getRecord_ID(), parent, WindowNo, IsDirectPrint);
else if (pi.getAD_Process_ID() == 117) // M_InOut
- return startDocumentPrint(ReportEngine.SHIPMENT, pi.getRecord_ID(), IsDirectPrint);
+ return startDocumentPrint(ReportEngine.SHIPMENT, pi.getRecord_ID(), parent, WindowNo, IsDirectPrint);
else if (pi.getAD_Process_ID() == 217) // C_Project
- return startDocumentPrint(ReportEngine.PROJECT, pi.getRecord_ID(), IsDirectPrint);
+ return startDocumentPrint(ReportEngine.PROJECT, pi.getRecord_ID(), parent, WindowNo, IsDirectPrint);
else if (pi.getAD_Process_ID() == 276) // C_RfQResponse
- return startDocumentPrint(ReportEngine.RFQ, pi.getRecord_ID(), IsDirectPrint);
+ return startDocumentPrint(ReportEngine.RFQ, pi.getRecord_ID(), parent, WindowNo, IsDirectPrint);
else if (pi.getAD_Process_ID() == 313) // C_Payment
return startCheckPrint(pi.getRecord_ID(), IsDirectPrint);
else if (pi.getAD_Process_ID() == 290) // Movement Submission by VHARCQ
- return startDocumentPrint(ReportEngine.MOVEMENT, pi.getRecord_ID(), IsDirectPrint);
+ return startDocumentPrint(ReportEngine.MOVEMENT, pi.getRecord_ID(), parent, WindowNo, IsDirectPrint);
/**
else if (pi.AD_Process_ID == 9999999) // PaySelection
return startDocumentPrint(CHECK, pi, IsDirectPrint);
@@ -80,7 +80,7 @@ public class ReportCtl
return startDocumentPrint(REMITTANCE, pi, IsDirectPrint);
**/
else if (pi.getAD_Process_ID() == 159) // Dunning
- return startDocumentPrint(ReportEngine.DUNNING, pi.getRecord_ID(), IsDirectPrint);
+ return startDocumentPrint(ReportEngine.DUNNING, pi.getRecord_ID(), parent, WindowNo, IsDirectPrint);
else if (pi.getAD_Process_ID() == 202 // Financial Report
|| pi.getAD_Process_ID() == 204) // Financial Statement
return startFinReport (pi);
@@ -153,23 +153,37 @@ public class ReportCtl
* @param IsDirectPrint if true, prints directly - otherwise View
* @return true if success
*/
- public static boolean startDocumentPrint (int type, int Record_ID, boolean IsDirectPrint)
+ public static boolean startDocumentPrint (int type, int Record_ID, ASyncProcess parent, int WindowNo, boolean IsDirectPrint)
{
-
ReportEngine re = ReportEngine.get (Env.getCtx(), type, Record_ID);
if (re == null)
{
ADialog.error(0, null, "NoDocPrintFormat");
return false;
}
- if (IsDirectPrint)
+
+ if(re.getPrintFormat() != null && re.getPrintFormat().getJasperProcess_ID() > 0)
{
- re.print ();
- ReportEngine.printConfirm (type, Record_ID);
+ ProcessInfo pi = new ProcessInfo ("", re.getPrintFormat().getJasperProcess_ID());
+
+ // Execute Process
+ ProcessCtl worker = ProcessCtl.process(parent, WindowNo, pi, null);
+ try {
+ worker.start();
+ } catch(java.lang.IllegalThreadStateException itse) {
+ // Do nothing
+ }
}
else
- preview(re);
-
+ {
+ if (IsDirectPrint)
+ {
+ re.print ();
+ ReportEngine.printConfirm (type, Record_ID);
+ }
+ else
+ preview(re);
+ }
//vpj-cd e-evolution 15022007
if(type == ReportEngine.INVOICE)
@@ -203,7 +217,7 @@ public class ReportCtl
return true;
} // StartDocumentPrint
-
+
/**
* Start Check Print.
* Find/Create
@@ -223,7 +237,7 @@ public class ReportCtl
if (psc != null)
C_PaySelectionCheck_ID = psc.getC_PaySelectionCheck_ID();
}
- return startDocumentPrint (ReportEngine.CHECK, C_PaySelectionCheck_ID, IsDirectPrint);
+ return startDocumentPrint (ReportEngine.CHECK, C_PaySelectionCheck_ID, null, -1, IsDirectPrint);
} // startCheckPrint
private static void preview(ReportEngine re) {
diff --git a/dbPort/src/org/compiere/model/X_AD_PrintFormat.java b/dbPort/src/org/compiere/model/X_AD_PrintFormat.java
index eca45b1212..81c0ddf035 100644
--- a/dbPort/src/org/compiere/model/X_AD_PrintFormat.java
+++ b/dbPort/src/org/compiere/model/X_AD_PrintFormat.java
@@ -1,381 +1,436 @@
/******************************************************************************
- * Product: Adempiere ERP & CRM Smart Business Solution *
- * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
- * This program is free software;
+ * Product: Adempiere ERP & CRM Smart Business Solution *
+ * Copyright (C) 1999-2007 ComPiere, Inc. All Rights Reserved. *
+ * This program is free software;
you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
- * that it will be useful, but WITHOUT ANY WARRANTY;
+ * that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
- * with this program;
+ * with this program;
if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
* For the text or an alternative of this public license, you may reach us *
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
* or via info@compiere.org or http://www.compiere.org/license.html *
*****************************************************************************/
-package org.compiere.model;
+package org.compiere.model;
/** Generated Model - DO NOT CHANGE */
-import java.util.*;
-import java.sql.*;
-import java.math.*;
-import org.compiere.util.*;
+import java.util.*;
+import java.sql.*;
+import java.math.*;
+import org.compiere.util.*;
/** Generated Model for AD_PrintFormat
* @author Adempiere (generated)
* @version Release 3.1.4 - $Id$ */
-public class X_AD_PrintFormat extends PO
-{
+public class X_AD_PrintFormat extends PO
+{
/** Standard Constructor
@param ctx context
@param AD_PrintFormat_ID id
@param trxName transaction
*/
-public X_AD_PrintFormat (Properties ctx, int AD_PrintFormat_ID, String trxName)
-{
-super (ctx, AD_PrintFormat_ID, trxName);
-/** if (AD_PrintFormat_ID == 0)
-{
-setAD_PrintColor_ID (0);
-setAD_PrintFont_ID (0);
-setAD_PrintFormat_ID (0); // 0
-setAD_PrintPaper_ID (0);
-setAD_Table_ID (0);
-setFooterMargin (0);
-setHeaderMargin (0);
-setIsDefault (false);
-setIsForm (false);
-setIsStandardHeaderFooter (true); // Y
-setIsTableBased (true); // Y
-setName (null);
-}
+public X_AD_PrintFormat (Properties ctx, int AD_PrintFormat_ID, String trxName)
+{
+super (ctx, AD_PrintFormat_ID, trxName);
+/** if (AD_PrintFormat_ID == 0)
+{
+setAD_PrintColor_ID (0);
+setAD_PrintFont_ID (0);
+setAD_PrintFormat_ID (0); // 0
+setAD_PrintPaper_ID (0);
+setAD_Table_ID (0);
+setFooterMargin (0);
+setHeaderMargin (0);
+setIsDefault (false);
+setIsForm (false);
+setIsStandardHeaderFooter (true); // Y
+setIsTableBased (true); // Y
+setName (null);
+}
*/
-}
+}
/** Load Constructor
@param ctx context
@param rs result set
@param trxName transaction
*/
-public X_AD_PrintFormat (Properties ctx, ResultSet rs, String trxName)
-{
-super (ctx, rs, trxName);
-}
+public X_AD_PrintFormat (Properties ctx, ResultSet rs, String trxName)
+{
+super (ctx, rs, trxName);
+}
/** AD_Table_ID=493 */
-public static final int Table_ID=MTable.getTable_ID("AD_PrintFormat");
+public static final int Table_ID=MTable.getTable_ID("AD_PrintFormat");
/** TableName=AD_PrintFormat */
-public static final String Table_Name="AD_PrintFormat";
+public static final String Table_Name="AD_PrintFormat";
-protected static KeyNamePair Model = new KeyNamePair(Table_ID,"AD_PrintFormat");
+protected static KeyNamePair Model = new KeyNamePair(Table_ID,"AD_PrintFormat");
-protected BigDecimal accessLevel = BigDecimal.valueOf(7);
+protected BigDecimal accessLevel = BigDecimal.valueOf(7);
/** AccessLevel
@return 7 - System - Client - Org
*/
-protected int get_AccessLevel()
-{
-return accessLevel.intValue();
-}
+protected int get_AccessLevel()
+{
+return accessLevel.intValue();
+}
/** Load Meta Data
@param ctx context
@return PO Info
*/
-protected POInfo initPO (Properties ctx)
-{
-POInfo poi = POInfo.getPOInfo (ctx, Table_ID);
-return poi;
-}
+protected POInfo initPO (Properties ctx)
+{
+POInfo poi = POInfo.getPOInfo (ctx, Table_ID);
+return poi;
+}
/** Info
@return info
*/
-public String toString()
-{
-StringBuffer sb = new StringBuffer ("X_AD_PrintFormat[").append(get_ID()).append("]");
-return sb.toString();
-}
+public String toString()
+{
+StringBuffer sb = new StringBuffer ("X_AD_PrintFormat[").append(get_ID()).append("]");
+return sb.toString();
+}
/** Set Print Color.
@param AD_PrintColor_ID Color used for printing and display */
-public void setAD_PrintColor_ID (int AD_PrintColor_ID)
-{
-if (AD_PrintColor_ID < 1) throw new IllegalArgumentException ("AD_PrintColor_ID is mandatory.");
-set_Value ("AD_PrintColor_ID", Integer.valueOf(AD_PrintColor_ID));
-}
+public void setAD_PrintColor_ID (int AD_PrintColor_ID)
+{
+if (AD_PrintColor_ID < 1) throw new IllegalArgumentException ("AD_PrintColor_ID is mandatory.");
+set_Value ("AD_PrintColor_ID", Integer.valueOf(AD_PrintColor_ID));
+}
/** Get Print Color.
@return Color used for printing and display */
-public int getAD_PrintColor_ID()
-{
-Integer ii = (Integer)get_Value("AD_PrintColor_ID");
-if (ii == null) return 0;
-return ii.intValue();
-}
+public int getAD_PrintColor_ID()
+{
+Integer ii = (Integer)get_Value("AD_PrintColor_ID");
+if (ii == null) return 0;
+return ii.intValue();
+}
+/** Column name AD_PrintColor_ID */
+public static final String COLUMNNAME_AD_PrintColor_ID = "AD_PrintColor_ID";
/** Set Print Font.
@param AD_PrintFont_ID Maintain Print Font */
-public void setAD_PrintFont_ID (int AD_PrintFont_ID)
-{
-if (AD_PrintFont_ID < 1) throw new IllegalArgumentException ("AD_PrintFont_ID is mandatory.");
-set_Value ("AD_PrintFont_ID", Integer.valueOf(AD_PrintFont_ID));
-}
+public void setAD_PrintFont_ID (int AD_PrintFont_ID)
+{
+if (AD_PrintFont_ID < 1) throw new IllegalArgumentException ("AD_PrintFont_ID is mandatory.");
+set_Value ("AD_PrintFont_ID", Integer.valueOf(AD_PrintFont_ID));
+}
/** Get Print Font.
@return Maintain Print Font */
-public int getAD_PrintFont_ID()
-{
-Integer ii = (Integer)get_Value("AD_PrintFont_ID");
-if (ii == null) return 0;
-return ii.intValue();
-}
+public int getAD_PrintFont_ID()
+{
+Integer ii = (Integer)get_Value("AD_PrintFont_ID");
+if (ii == null) return 0;
+return ii.intValue();
+}
+/** Column name AD_PrintFont_ID */
+public static final String COLUMNNAME_AD_PrintFont_ID = "AD_PrintFont_ID";
/** Set Print Format.
@param AD_PrintFormat_ID Data Print Format */
-public void setAD_PrintFormat_ID (int AD_PrintFormat_ID)
-{
-if (AD_PrintFormat_ID < 1) throw new IllegalArgumentException ("AD_PrintFormat_ID is mandatory.");
-set_ValueNoCheck ("AD_PrintFormat_ID", Integer.valueOf(AD_PrintFormat_ID));
-}
+public void setAD_PrintFormat_ID (int AD_PrintFormat_ID)
+{
+if (AD_PrintFormat_ID < 1) throw new IllegalArgumentException ("AD_PrintFormat_ID is mandatory.");
+set_ValueNoCheck ("AD_PrintFormat_ID", Integer.valueOf(AD_PrintFormat_ID));
+}
/** Get Print Format.
@return Data Print Format */
-public int getAD_PrintFormat_ID()
-{
-Integer ii = (Integer)get_Value("AD_PrintFormat_ID");
-if (ii == null) return 0;
-return ii.intValue();
-}
+public int getAD_PrintFormat_ID()
+{
+Integer ii = (Integer)get_Value("AD_PrintFormat_ID");
+if (ii == null) return 0;
+return ii.intValue();
+}
+/** Column name AD_PrintFormat_ID */
+public static final String COLUMNNAME_AD_PrintFormat_ID = "AD_PrintFormat_ID";
/** Set Print Paper.
@param AD_PrintPaper_ID Printer paper definition */
-public void setAD_PrintPaper_ID (int AD_PrintPaper_ID)
-{
-if (AD_PrintPaper_ID < 1) throw new IllegalArgumentException ("AD_PrintPaper_ID is mandatory.");
-set_Value ("AD_PrintPaper_ID", Integer.valueOf(AD_PrintPaper_ID));
-}
+public void setAD_PrintPaper_ID (int AD_PrintPaper_ID)
+{
+if (AD_PrintPaper_ID < 1) throw new IllegalArgumentException ("AD_PrintPaper_ID is mandatory.");
+set_Value ("AD_PrintPaper_ID", Integer.valueOf(AD_PrintPaper_ID));
+}
/** Get Print Paper.
@return Printer paper definition */
-public int getAD_PrintPaper_ID()
-{
-Integer ii = (Integer)get_Value("AD_PrintPaper_ID");
-if (ii == null) return 0;
-return ii.intValue();
-}
+public int getAD_PrintPaper_ID()
+{
+Integer ii = (Integer)get_Value("AD_PrintPaper_ID");
+if (ii == null) return 0;
+return ii.intValue();
+}
+/** Column name AD_PrintPaper_ID */
+public static final String COLUMNNAME_AD_PrintPaper_ID = "AD_PrintPaper_ID";
/** Set Print Table Format.
@param AD_PrintTableFormat_ID Table Format in Reports */
-public void setAD_PrintTableFormat_ID (int AD_PrintTableFormat_ID)
-{
-if (AD_PrintTableFormat_ID <= 0) set_Value ("AD_PrintTableFormat_ID", null);
+public void setAD_PrintTableFormat_ID (int AD_PrintTableFormat_ID)
+{
+if (AD_PrintTableFormat_ID <= 0) set_Value ("AD_PrintTableFormat_ID", null);
else
-set_Value ("AD_PrintTableFormat_ID", Integer.valueOf(AD_PrintTableFormat_ID));
-}
+set_Value ("AD_PrintTableFormat_ID", Integer.valueOf(AD_PrintTableFormat_ID));
+}
/** Get Print Table Format.
@return Table Format in Reports */
-public int getAD_PrintTableFormat_ID()
-{
-Integer ii = (Integer)get_Value("AD_PrintTableFormat_ID");
-if (ii == null) return 0;
-return ii.intValue();
-}
+public int getAD_PrintTableFormat_ID()
+{
+Integer ii = (Integer)get_Value("AD_PrintTableFormat_ID");
+if (ii == null) return 0;
+return ii.intValue();
+}
+/** Column name AD_PrintTableFormat_ID */
+public static final String COLUMNNAME_AD_PrintTableFormat_ID = "AD_PrintTableFormat_ID";
/** Set Report View.
@param AD_ReportView_ID View used to generate this report */
-public void setAD_ReportView_ID (int AD_ReportView_ID)
-{
-if (AD_ReportView_ID <= 0) set_ValueNoCheck ("AD_ReportView_ID", null);
+public void setAD_ReportView_ID (int AD_ReportView_ID)
+{
+if (AD_ReportView_ID <= 0) set_ValueNoCheck ("AD_ReportView_ID", null);
else
-set_ValueNoCheck ("AD_ReportView_ID", Integer.valueOf(AD_ReportView_ID));
-}
+set_ValueNoCheck ("AD_ReportView_ID", Integer.valueOf(AD_ReportView_ID));
+}
/** Get Report View.
@return View used to generate this report */
-public int getAD_ReportView_ID()
-{
-Integer ii = (Integer)get_Value("AD_ReportView_ID");
-if (ii == null) return 0;
-return ii.intValue();
-}
+public int getAD_ReportView_ID()
+{
+Integer ii = (Integer)get_Value("AD_ReportView_ID");
+if (ii == null) return 0;
+return ii.intValue();
+}
+/** Column name AD_ReportView_ID */
+public static final String COLUMNNAME_AD_ReportView_ID = "AD_ReportView_ID";
/** Set Table.
@param AD_Table_ID Database Table information */
-public void setAD_Table_ID (int AD_Table_ID)
-{
-if (AD_Table_ID < 1) throw new IllegalArgumentException ("AD_Table_ID is mandatory.");
-set_ValueNoCheck ("AD_Table_ID", Integer.valueOf(AD_Table_ID));
-}
+public void setAD_Table_ID (int AD_Table_ID)
+{
+if (AD_Table_ID < 1) throw new IllegalArgumentException ("AD_Table_ID is mandatory.");
+set_ValueNoCheck ("AD_Table_ID", Integer.valueOf(AD_Table_ID));
+}
/** Get Table.
@return Database Table information */
-public int getAD_Table_ID()
-{
-Integer ii = (Integer)get_Value("AD_Table_ID");
-if (ii == null) return 0;
-return ii.intValue();
-}
+public int getAD_Table_ID()
+{
+Integer ii = (Integer)get_Value("AD_Table_ID");
+if (ii == null) return 0;
+return ii.intValue();
+}
+/** Column name AD_Table_ID */
+public static final String COLUMNNAME_AD_Table_ID = "AD_Table_ID";
/** Set Create Copy.
@param CreateCopy Create Copy */
-public void setCreateCopy (String CreateCopy)
-{
-if (CreateCopy != null && CreateCopy.length() > 1)
-{
-log.warning("Length > 1 - truncated");
-CreateCopy = CreateCopy.substring(0,0);
-}
-set_Value ("CreateCopy", CreateCopy);
-}
+public void setCreateCopy (String CreateCopy)
+{
+if (CreateCopy != null && CreateCopy.length() > 1)
+{
+log.warning("Length > 1 - truncated");
+CreateCopy = CreateCopy.substring(0,0);
+}
+set_Value ("CreateCopy", CreateCopy);
+}
/** Get Create Copy.
@return Create Copy */
-public String getCreateCopy()
-{
-return (String)get_Value("CreateCopy");
-}
+public String getCreateCopy()
+{
+return (String)get_Value("CreateCopy");
+}
+/** Column name CreateCopy */
+public static final String COLUMNNAME_CreateCopy = "CreateCopy";
/** Set Description.
@param Description Optional short description of the record */
-public void setDescription (String Description)
-{
-if (Description != null && Description.length() > 255)
-{
-log.warning("Length > 255 - truncated");
-Description = Description.substring(0,254);
-}
-set_Value ("Description", Description);
-}
+public void setDescription (String Description)
+{
+if (Description != null && Description.length() > 255)
+{
+log.warning("Length > 255 - truncated");
+Description = Description.substring(0,254);
+}
+set_Value ("Description", Description);
+}
/** Get Description.
@return Optional short description of the record */
-public String getDescription()
-{
-return (String)get_Value("Description");
-}
+public String getDescription()
+{
+return (String)get_Value("Description");
+}
+/** Column name Description */
+public static final String COLUMNNAME_Description = "Description";
/** Set Footer Margin.
@param FooterMargin Margin of the Footer in 1/72 of an inch */
-public void setFooterMargin (int FooterMargin)
-{
-set_Value ("FooterMargin", Integer.valueOf(FooterMargin));
-}
+public void setFooterMargin (int FooterMargin)
+{
+set_Value ("FooterMargin", Integer.valueOf(FooterMargin));
+}
/** Get Footer Margin.
@return Margin of the Footer in 1/72 of an inch */
-public int getFooterMargin()
-{
-Integer ii = (Integer)get_Value("FooterMargin");
-if (ii == null) return 0;
-return ii.intValue();
-}
+public int getFooterMargin()
+{
+Integer ii = (Integer)get_Value("FooterMargin");
+if (ii == null) return 0;
+return ii.intValue();
+}
+/** Column name FooterMargin */
+public static final String COLUMNNAME_FooterMargin = "FooterMargin";
/** Set Header Margin.
@param HeaderMargin Margin of the Header in 1/72 of an inch */
-public void setHeaderMargin (int HeaderMargin)
-{
-set_Value ("HeaderMargin", Integer.valueOf(HeaderMargin));
-}
+public void setHeaderMargin (int HeaderMargin)
+{
+set_Value ("HeaderMargin", Integer.valueOf(HeaderMargin));
+}
/** Get Header Margin.
@return Margin of the Header in 1/72 of an inch */
-public int getHeaderMargin()
-{
-Integer ii = (Integer)get_Value("HeaderMargin");
-if (ii == null) return 0;
-return ii.intValue();
-}
+public int getHeaderMargin()
+{
+Integer ii = (Integer)get_Value("HeaderMargin");
+if (ii == null) return 0;
+return ii.intValue();
+}
+/** Column name HeaderMargin */
+public static final String COLUMNNAME_HeaderMargin = "HeaderMargin";
/** Set Default.
@param IsDefault Default value */
-public void setIsDefault (boolean IsDefault)
-{
-set_Value ("IsDefault", Boolean.valueOf(IsDefault));
-}
+public void setIsDefault (boolean IsDefault)
+{
+set_Value ("IsDefault", Boolean.valueOf(IsDefault));
+}
/** Get Default.
@return Default value */
-public boolean isDefault()
-{
-Object oo = get_Value("IsDefault");
-if (oo != null)
-{
- if (oo instanceof Boolean) return ((Boolean)oo).booleanValue();
- return "Y".equals(oo);
-}
-return false;
-}
+public boolean isDefault()
+{
+Object oo = get_Value("IsDefault");
+if (oo != null)
+{
+ if (oo instanceof Boolean) return ((Boolean)oo).booleanValue();
+ return "Y".equals(oo);
+}
+return false;
+}
+/** Column name IsDefault */
+public static final String COLUMNNAME_IsDefault = "IsDefault";
/** Set Form.
@param IsForm If Selected, a Form is printed, if not selected a columnar List report */
-public void setIsForm (boolean IsForm)
-{
-set_Value ("IsForm", Boolean.valueOf(IsForm));
-}
+public void setIsForm (boolean IsForm)
+{
+set_Value ("IsForm", Boolean.valueOf(IsForm));
+}
/** Get Form.
@return If Selected, a Form is printed, if not selected a columnar List report */
-public boolean isForm()
-{
-Object oo = get_Value("IsForm");
-if (oo != null)
-{
- if (oo instanceof Boolean) return ((Boolean)oo).booleanValue();
- return "Y".equals(oo);
-}
-return false;
-}
+public boolean isForm()
+{
+Object oo = get_Value("IsForm");
+if (oo != null)
+{
+ if (oo instanceof Boolean) return ((Boolean)oo).booleanValue();
+ return "Y".equals(oo);
+}
+return false;
+}
+/** Column name IsForm */
+public static final String COLUMNNAME_IsForm = "IsForm";
/** Set Standard Header/Footer.
@param IsStandardHeaderFooter The standard Header and Footer is used */
-public void setIsStandardHeaderFooter (boolean IsStandardHeaderFooter)
-{
-set_Value ("IsStandardHeaderFooter", Boolean.valueOf(IsStandardHeaderFooter));
-}
+public void setIsStandardHeaderFooter (boolean IsStandardHeaderFooter)
+{
+set_Value ("IsStandardHeaderFooter", Boolean.valueOf(IsStandardHeaderFooter));
+}
/** Get Standard Header/Footer.
@return The standard Header and Footer is used */
-public boolean isStandardHeaderFooter()
-{
-Object oo = get_Value("IsStandardHeaderFooter");
-if (oo != null)
-{
- if (oo instanceof Boolean) return ((Boolean)oo).booleanValue();
- return "Y".equals(oo);
-}
-return false;
-}
+public boolean isStandardHeaderFooter()
+{
+Object oo = get_Value("IsStandardHeaderFooter");
+if (oo != null)
+{
+ if (oo instanceof Boolean) return ((Boolean)oo).booleanValue();
+ return "Y".equals(oo);
+}
+return false;
+}
+/** Column name IsStandardHeaderFooter */
+public static final String COLUMNNAME_IsStandardHeaderFooter = "IsStandardHeaderFooter";
/** Set Table Based.
@param IsTableBased Table based List Reporting */
-public void setIsTableBased (boolean IsTableBased)
-{
-set_ValueNoCheck ("IsTableBased", Boolean.valueOf(IsTableBased));
-}
+public void setIsTableBased (boolean IsTableBased)
+{
+set_ValueNoCheck ("IsTableBased", Boolean.valueOf(IsTableBased));
+}
/** Get Table Based.
@return Table based List Reporting */
-public boolean isTableBased()
-{
-Object oo = get_Value("IsTableBased");
-if (oo != null)
-{
- if (oo instanceof Boolean) return ((Boolean)oo).booleanValue();
- return "Y".equals(oo);
-}
-return false;
-}
+public boolean isTableBased()
+{
+Object oo = get_Value("IsTableBased");
+if (oo != null)
+{
+ if (oo instanceof Boolean) return ((Boolean)oo).booleanValue();
+ return "Y".equals(oo);
+}
+return false;
+}
+/** Column name IsTableBased */
+public static final String COLUMNNAME_IsTableBased = "IsTableBased";
+
+/** JasperProcess_ID AD_Reference_ID=400 */
+public static final int JASPERPROCESS_ID_AD_Reference_ID=400;
+/** Set Jasper Process.
+@param JasperProcess_ID The Jasper Process used by the printengine if any process defined */
+public void setJasperProcess_ID (int JasperProcess_ID)
+{
+if (JasperProcess_ID <= 0) set_Value ("JasperProcess_ID", null);
+ else
+set_Value ("JasperProcess_ID", Integer.valueOf(JasperProcess_ID));
+}
+/** Get Jasper Process.
+@return The Jasper Process used by the printengine if any process defined */
+public int getJasperProcess_ID()
+{
+Integer ii = (Integer)get_Value("JasperProcess_ID");
+if (ii == null) return 0;
+return ii.intValue();
+}
+/** Column name JasperProcess_ID */
+public static final String COLUMNNAME_JasperProcess_ID = "JasperProcess_ID";
/** Set Name.
@param Name Alphanumeric identifier of the entity */
-public void setName (String Name)
-{
-if (Name == null) throw new IllegalArgumentException ("Name is mandatory.");
-if (Name.length() > 60)
-{
-log.warning("Length > 60 - truncated");
-Name = Name.substring(0,59);
-}
-set_Value ("Name", Name);
-}
+public void setName (String Name)
+{
+if (Name == null) throw new IllegalArgumentException ("Name is mandatory.");
+if (Name.length() > 60)
+{
+log.warning("Length > 60 - truncated");
+Name = Name.substring(0,59);
+}
+set_Value ("Name", Name);
+}
/** Get Name.
@return Alphanumeric identifier of the entity */
-public String getName()
-{
-return (String)get_Value("Name");
-}
+public String getName()
+{
+return (String)get_Value("Name");
+}
/** Get Record ID/ColumnName
@return ID/ColumnName pair
-*/public KeyNamePair getKeyNamePair()
-{
-return new KeyNamePair(get_ID(), getName());
-}
+*/public KeyNamePair getKeyNamePair()
+{
+return new KeyNamePair(get_ID(), getName());
+}
+/** Column name Name */
+public static final String COLUMNNAME_Name = "Name";
/** Set Printer Name.
@param PrinterName Name of the Printer */
-public void setPrinterName (String PrinterName)
-{
-if (PrinterName != null && PrinterName.length() > 40)
-{
-log.warning("Length > 40 - truncated");
-PrinterName = PrinterName.substring(0,39);
-}
-set_Value ("PrinterName", PrinterName);
-}
+public void setPrinterName (String PrinterName)
+{
+if (PrinterName != null && PrinterName.length() > 40)
+{
+log.warning("Length > 40 - truncated");
+PrinterName = PrinterName.substring(0,39);
+}
+set_Value ("PrinterName", PrinterName);
+}
/** Get Printer Name.
@return Name of the Printer */
-public String getPrinterName()
-{
-return (String)get_Value("PrinterName");
-}
-}
+public String getPrinterName()
+{
+return (String)get_Value("PrinterName");
+}
+/** Column name PrinterName */
+public static final String COLUMNNAME_PrinterName = "PrinterName";
+}
diff --git a/dbPort/src/org/compiere/util/EMail.java b/dbPort/src/org/compiere/util/EMail.java
index 8d03f812b9..c8aa1533f8 100644
--- a/dbPort/src/org/compiere/util/EMail.java
+++ b/dbPort/src/org/compiere/util/EMail.java
@@ -765,7 +765,7 @@ public final class EMail implements Serializable
// Local Character Set
String charSetName = System.getProperty("file.encoding"); // Cp1252
if (charSetName == null || charSetName.length() == 0)
- charSetName = "UTF-8"; // WebEnv.ENCODING - alternative iso-8859-1
+ charSetName = "iso-8859-1"; // WebEnv.ENCODING - alternative iso-8859-1
//
m_msg.setSubject (getSubject(), charSetName);
diff --git a/migration/314-trunk/015_integrate_jasper_printengine.sql b/migration/314-trunk/015_integrate_jasper_printengine.sql
new file mode 100644
index 0000000000..c3dd721ebd
--- /dev/null
+++ b/migration/314-trunk/015_integrate_jasper_printengine.sql
@@ -0,0 +1,106 @@
+Insert into "AD_ELEMENT"
+ ("AD_ELEMENT_ID","AD_CLIENT_ID","AD_ORG_ID","ISACTIVE","CREATED","CREATEDBY",
+ "UPDATED","UPDATEDBY","COLUMNNAME","ENTITYTYPE","NAME","PRINTNAME","DESCRIPTION",
+ "HELP","PO_NAME","PO_PRINTNAME","PO_DESCRIPTION","PO_HELP")
+ values
+ (50064,0,0,'Y',to_date('27.02.07','DD.MM.RR'),0,
+ to_date('27.02.07','DD.MM.RR'),0,'JasperProcess_ID','D',
+ 'Jasper Process','Jasper Process',
+ 'The Jasper Process used by the printengine if any process defined'
+ ,null,null,null,null,null);
+
+Insert into "AD_VAL_RULE"
+ ("AD_VAL_RULE_ID","AD_CLIENT_ID","AD_ORG_ID","ISACTIVE","CREATED","CREATEDBY",
+ "UPDATED","UPDATEDBY","NAME","DESCRIPTION","TYPE","CODE","ENTITYTYPE")
+ values
+ (270,0,0,'Y',to_date('27.02.07','DD.MM.RR'),0,to_date('27.02.07','DD.MM.RR'),
+ 0,'AD_Process Jasper Reports',null,'S','AD_Process.JasperReport IS NOT NULL','D');
+
+UPDATE AD_VAL_RULE
+ SET CODE = 'AD_Process.IsReport=''Y'' AND AD_Process.JasperReport IS NULL'
+ WHERE NAME = 'AD_Process Reports';
+
+Insert into "AD_REFERENCE"
+ ("AD_REFERENCE_ID","AD_CLIENT_ID","AD_ORG_ID","ISACTIVE","CREATED","CREATEDBY",
+ "UPDATED","UPDATEDBY","NAME","DESCRIPTION","HELP","VALIDATIONTYPE","VFORMAT","ENTITYTYPE")
+ values
+ (400,0,0,'Y',to_date('27.02.07','DD.MM.RR'),0,to_date('27.02.07','DD.MM.RR'),
+ 0,'AD_Process_JasperReports',null,null,'T',null,'D');
+
+Insert into "AD_REF_TABLE"
+ ("AD_REFERENCE_ID","AD_CLIENT_ID","AD_ORG_ID","ISACTIVE","CREATED","CREATEDBY",
+ "UPDATED","UPDATEDBY","AD_TABLE_ID","AD_KEY","AD_DISPLAY","ISVALUEDISPLAYED",
+ "WHERECLAUSE","ORDERBYCLAUSE","ENTITYTYPE")
+ values
+ (400,0,0,'Y',to_date('27.02.07','DD.MM.RR'),0,to_date('27.02.07','DD.MM.RR'),
+ 0,284,2801,2809,'N','AD_Process.JasperReport IS NOT NULL',null,'D');
+
+Insert into "AD_COLUMN"
+ ("AD_COLUMN_ID","AD_CLIENT_ID","AD_ORG_ID","ISACTIVE","CREATED","UPDATED",
+ "CREATEDBY","UPDATEDBY","NAME","DESCRIPTION","HELP","VERSION","ENTITYTYPE",
+ "COLUMNNAME","AD_TABLE_ID","AD_REFERENCE_ID","AD_REFERENCE_VALUE_ID",
+ "AD_VAL_RULE_ID","FIELDLENGTH","DEFAULTVALUE","ISKEY","ISPARENT","ISMANDATORY",
+ "ISUPDATEABLE","READONLYLOGIC","ISIDENTIFIER","SEQNO","ISTRANSLATED","ISENCRYPTED",
+ "CALLOUT","VFORMAT","VALUEMIN","VALUEMAX","ISSELECTIONCOLUMN","AD_ELEMENT_ID",
+ "AD_PROCESS_ID","ISSYNCDATABASE","ISALWAYSUPDATEABLE","COLUMNSQL")
+ values
+ (50209,0,0,'Y',to_date('27.02.07','DD.MM.RR'),to_date('27.02.07','DD.MM.RR'),0,
+ 0,'Jasper Process','The Jasper Process used by the printengine if any process defined',
+ null,1,'D','JasperProcess_ID',493,18,400,null,22,null,'N','N','N','Y',null,'N',0,'N',
+ 'N',null,null,null,null,'N',50064,null,'N','N',null);
+
+Insert into "AD_FIELD"
+ ("AD_FIELD_ID","AD_CLIENT_ID","AD_ORG_ID","ISACTIVE","CREATED","CREATEDBY",
+ "UPDATED","UPDATEDBY","NAME","DESCRIPTION","HELP","ISCENTRALLYMAINTAINED",
+ "AD_TAB_ID","AD_COLUMN_ID","AD_FIELDGROUP_ID","ISDISPLAYED","DISPLAYLOGIC",
+ "DISPLAYLENGTH","ISREADONLY","SEQNO","SORTNO","ISSAMELINE","ISHEADING",
+ "ISFIELDONLY","ISENCRYPTED","ENTITYTYPE","OBSCURETYPE","AD_REFERENCE_ID",
+ "ISMANDATORY")
+ values
+ (50179,0,0,'Y',to_date('27.02.07','DD.MM.RR'),0,to_date('27.02.07','DD.MM.RR'),
+ 0,'Jasper Process','The Jasper Process used by the printengine if any process defined',
+ null,'Y',425,50209,null,'Y',null,14,'N',195,0,'N','N','N','N','D',null,null,null);
+
+COMMIT;
+
+UPDATE ad_sequence
+ SET currentnextsys = (SELECT MAX (ad_element_id) + 1
+ FROM ad_element
+ WHERE ad_element_id < 1000000)
+ WHERE NAME = 'AD_Element';
+
+UPDATE ad_sequence
+ SET currentnextsys = (SELECT MAX (ad_val_rule_id) + 1
+ FROM ad_val_rule
+ WHERE ad_val_rule_id < 1000000)
+ WHERE NAME = 'AD_Val_Rule';
+
+UPDATE ad_sequence
+ SET currentnextsys = (SELECT MAX (ad_reference_id) + 1
+ FROM ad_reference
+ WHERE ad_reference_id < 1000000)
+ WHERE NAME = 'AD_Reference';
+
+UPDATE ad_sequence
+ SET currentnextsys = (SELECT MAX (ad_reference_id) + 1
+ FROM ad_ref_table
+ WHERE ad_reference_id < 1000000)
+ WHERE NAME = 'AD_Ref_Table';
+
+UPDATE ad_sequence
+ SET currentnextsys = (SELECT MAX (ad_column_id) + 1
+ FROM ad_column
+ WHERE ad_column_id < 1000000)
+ WHERE NAME = 'AD_Column';
+
+UPDATE ad_sequence
+ SET currentnextsys = (SELECT MAX (ad_field_id) + 1
+ FROM ad_field
+ WHERE ad_field_id < 1000000)
+ WHERE NAME = 'AD_Field';
+
+COMMIT;
+
+ALTER TABLE AD_PrintFormat ADD JasperProcess_ID NUMBER(10);
+
+COMMIT;
diff --git a/utils_dev/build.xml b/utils_dev/build.xml
index ab666a7299..ff6d69500e 100644
--- a/utils_dev/build.xml
+++ b/utils_dev/build.xml
@@ -23,8 +23,9 @@
-
+
+
@@ -40,6 +41,7 @@
+