IDEMPIERE-4753 Make printing filename configurable (#1251)

* IDEMPIERE-4753 Make printing filename configurable

* IDEMPIERE-4753 - Jasper report

* IDEMPIERE-4753 - fix NPE
This commit is contained in:
PeterTakacs300 2022-03-31 14:59:45 +02:00 committed by GitHub
parent 10fca86adf
commit a1d58852ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 413 additions and 77 deletions

View File

@ -0,0 +1,86 @@
-- IDEMPIERE-4753
SET SQLBLANKLINES ON
SET DEFINE OFF
-- Jun 2, 2021, 12:04:43 PM CEST
INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,PrintName,EntityType,AD_Element_UU) VALUES (203512,0,0,'Y',TO_DATE('2021-06-02 12:04:43','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2021-06-02 12:04:43','YYYY-MM-DD HH24:MI:SS'),100,'FileNamePattern','File Name Pattern','File Name Pattern','D','09e87361-0597-43b4-9378-8afa29bc83ed')
;
-- Jun 2, 2021, 12:10:55 PM CEST
INSERT INTO AD_Column (AD_Column_ID,Version,Name,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType,IsHtml) VALUES (214497,0,'File Name Pattern',493,'FileNamePattern',255,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_DATE('2021-06-02 12:10:55','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2021-06-02 12:10:55','YYYY-MM-DD HH24:MI:SS'),100,203512,'Y','N','D','N','N','N','Y','7bc2b0a2-c57f-41ae-b287-711dbeaa9192','Y',0,'N','N','N','N')
;
-- Jun 2, 2021, 12:10:59 PM CEST
ALTER TABLE AD_PrintFormat ADD FileNamePattern VARCHAR2(255 CHAR) DEFAULT NULL
;
-- Jun 2, 2021, 12:11:48 PM CEST
INSERT INTO AD_Column (AD_Column_ID,Version,Name,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType,IsHtml) VALUES (214498,0,'File Name Pattern',284,'FileNamePattern',255,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_DATE('2021-06-02 12:11:47','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2021-06-02 12:11:47','YYYY-MM-DD HH24:MI:SS'),100,203512,'Y','N','D','N','N','N','Y','b04cde1b-4791-4e5d-a270-ad1e526f77a0','Y',0,'N','N','N','N')
;
-- Jun 2, 2021, 12:11:51 PM CEST
ALTER TABLE AD_Process ADD FileNamePattern VARCHAR2(255 CHAR) DEFAULT NULL
;
-- Jun 2, 2021, 12:12:27 PM CEST
INSERT INTO AD_Field (AD_Field_ID,Name,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,ColumnSpan) VALUES (206663,'File Name Pattern',425,214497,'Y',255,260,'N','N','N','N',0,0,'Y',TO_DATE('2021-06-02 12:12:26','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2021-06-02 12:12:26','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','0a554010-53a1-4b18-b66f-9333f72960f7','Y',260,5)
;
-- Jun 2, 2021, 12:13:21 PM CEST
INSERT INTO AD_Field (AD_Field_ID,Name,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,ColumnSpan) VALUES (206664,'File Name Pattern',245,214498,'Y',255,280,'N','N','N','N',0,0,'Y',TO_DATE('2021-06-02 12:13:21','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2021-06-02 12:13:21','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','79eafd94-0fa6-4419-908c-1781f5edea58','Y',250,5)
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET SeqNo=140, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3703
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET SeqNo=150, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2534
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET SeqNo=160, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10235
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET SeqNo=170, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56497
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET SeqNo=180, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3278
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET SeqNo=190, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3219
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET SeqNo=200, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5849
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=210, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, ColumnSpan=2, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=206664
;
-- Mar 15, 2022, 4:32:32 PM CET
UPDATE AD_Column SET IsTranslated='Y',Updated=TO_TIMESTAMP('2022-03-15 16:32:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=214497
;
-- Mar 15, 2022, 4:32:50 PM CET
ALTER TABLE AD_PrintFormat MODIFY FileNamePattern VARCHAR2(255 CHAR) DEFAULT NULL
;
-- Mar 15, 2022, 4:36:11 PM CET
INSERT INTO AD_Column (AD_Column_ID,Version,Name,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType,IsHtml) VALUES (214714,0,'File Name Pattern',200130,'FileNamePattern',255,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2022-03-15 16:36:11','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2022-03-15 16:36:11','YYYY-MM-DD HH24:MI:SS'),100,203512,'Y','Y','D','N','N','N','Y','b60bf16e-e25c-42cb-95ba-9fc88bd3eb0d','Y',10,'N','N','N','N')
;
-- Mar 16, 2022, 8:16:42 AM CET
INSERT INTO AD_Field (AD_Field_ID,Name,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,SortNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField,IsQuickForm) VALUES (206916,'File Name Pattern',200143,214714,'Y',0,90,0,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2022-03-16 08:16:42','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2022-03-16 08:16:42','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','269e9f00-8ed2-4887-afc0-aee484f4ade6','Y',80,1,1,1,'N','N','N','N')
;
-- Mar 16, 2022, 8:22:24 AM CET
ALTER TABLE AD_PrintFormat_Trl ADD FileNamePattern VARCHAR2(255 CHAR) DEFAULT NULL
;
SELECT register_migration_script('202203151632_IDEMPIERE-4753.sql') FROM dual;

View File

@ -0,0 +1,83 @@
-- IDEMPIERE-4753
-- Jun 2, 2021, 12:04:43 PM CEST
INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,PrintName,EntityType,AD_Element_UU) VALUES (203512,0,0,'Y',TO_TIMESTAMP('2021-06-02 12:04:43','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2021-06-02 12:04:43','YYYY-MM-DD HH24:MI:SS'),100,'FileNamePattern','File Name Pattern','File Name Pattern','D','09e87361-0597-43b4-9378-8afa29bc83ed')
;
-- Jun 2, 2021, 12:10:55 PM CEST
INSERT INTO AD_Column (AD_Column_ID,Version,Name,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType,IsHtml) VALUES (214497,0,'File Name Pattern',493,'FileNamePattern',255,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2021-06-02 12:10:55','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2021-06-02 12:10:55','YYYY-MM-DD HH24:MI:SS'),100,203512,'Y','N','D','N','N','N','Y','7bc2b0a2-c57f-41ae-b287-711dbeaa9192','Y',0,'N','N','N','N')
;
-- Jun 2, 2021, 12:10:59 PM CEST
ALTER TABLE AD_PrintFormat ADD COLUMN FileNamePattern VARCHAR(255) DEFAULT NULL
;
-- Jun 2, 2021, 12:11:48 PM CEST
INSERT INTO AD_Column (AD_Column_ID,Version,Name,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType,IsHtml) VALUES (214498,0,'File Name Pattern',284,'FileNamePattern',255,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2021-06-02 12:11:47','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2021-06-02 12:11:47','YYYY-MM-DD HH24:MI:SS'),100,203512,'Y','N','D','N','N','N','Y','b04cde1b-4791-4e5d-a270-ad1e526f77a0','Y',0,'N','N','N','N')
;
-- Jun 2, 2021, 12:11:51 PM CEST
ALTER TABLE AD_Process ADD COLUMN FileNamePattern VARCHAR(255) DEFAULT NULL
;
-- Jun 2, 2021, 12:12:27 PM CEST
INSERT INTO AD_Field (AD_Field_ID,Name,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,ColumnSpan) VALUES (206663,'File Name Pattern',425,214497,'Y',255,260,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2021-06-02 12:12:26','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2021-06-02 12:12:26','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','0a554010-53a1-4b18-b66f-9333f72960f7','Y',260,5)
;
-- Jun 2, 2021, 12:13:21 PM CEST
INSERT INTO AD_Field (AD_Field_ID,Name,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,ColumnSpan) VALUES (206664,'File Name Pattern',245,214498,'Y',255,280,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2021-06-02 12:13:21','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2021-06-02 12:13:21','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','79eafd94-0fa6-4419-908c-1781f5edea58','Y',250,5)
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET SeqNo=140, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3703
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET SeqNo=150, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2534
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET SeqNo=160, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10235
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET SeqNo=170, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56497
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET SeqNo=180, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3278
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET SeqNo=190, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3219
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET SeqNo=200, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5849
;
-- Jun 2, 2021, 12:13:59 PM CEST
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=210, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, ColumnSpan=2, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-02 12:13:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=206664
;
-- Mar 15, 2022, 4:32:32 PM CET
UPDATE AD_Column SET IsTranslated='Y',Updated=TO_TIMESTAMP('2022-03-15 16:32:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=214497
;
-- Mar 15, 2022, 4:32:50 PM CET
INSERT INTO t_alter_column values('ad_printformat','FileNamePattern','VARCHAR(255)',null,'NULL')
;
-- Mar 15, 2022, 4:36:11 PM CET
INSERT INTO AD_Column (AD_Column_ID,Version,Name,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType,IsHtml) VALUES (214714,0,'File Name Pattern',200130,'FileNamePattern',255,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2022-03-15 16:36:11','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2022-03-15 16:36:11','YYYY-MM-DD HH24:MI:SS'),100,203512,'Y','Y','D','N','N','N','Y','b60bf16e-e25c-42cb-95ba-9fc88bd3eb0d','Y',10,'N','N','N','N')
;
-- Mar 16, 2022, 8:16:42 AM CET
INSERT INTO AD_Field (AD_Field_ID,Name,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,SortNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField,IsQuickForm) VALUES (206916,'File Name Pattern',200143,214714,'Y',0,90,0,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2022-03-16 08:16:42','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2022-03-16 08:16:42','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','269e9f00-8ed2-4887-afc0-aee484f4ade6','Y',80,1,1,1,'N','N','N','N')
;
-- Mar 16, 2022, 8:22:24 AM CET
ALTER TABLE AD_PrintFormat_Trl ADD COLUMN FileNamePattern VARCHAR(255) DEFAULT NULL
;
SELECT register_migration_script('202203151632_IDEMPIERE-4753.sql') FROM dual;

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_PrintFormat
* @author iDempiere (generated)
* @version Release 9
* @version Release 10
*/
public interface I_AD_PrintFormat
{
@ -44,8 +44,8 @@ public interface I_AD_PrintFormat
/** Column name AD_Client_ID */
public static final String COLUMNNAME_AD_Client_ID = "AD_Client_ID";
/** Get Client.
* Client/Tenant for this installation.
/** Get Tenant.
* Tenant for this installation.
*/
public int getAD_Client_ID();
@ -53,12 +53,12 @@ public interface I_AD_PrintFormat
public static final String COLUMNNAME_AD_Org_ID = "AD_Org_ID";
/** Set Organization.
* Organizational entity within client
* Organizational entity within tenant
*/
public void setAD_Org_ID (int AD_Org_ID);
/** Get Organization.
* Organizational entity within client
* Organizational entity within tenant
*/
public int getAD_Org_ID();
@ -238,6 +238,15 @@ public interface I_AD_PrintFormat
*/
public String getDescription();
/** Column name FileNamePattern */
public static final String COLUMNNAME_FileNamePattern = "FileNamePattern";
/** Set File Name Pattern */
public void setFileNamePattern (String FileNamePattern);
/** Get File Name Pattern */
public String getFileNamePattern();
/** Column name FooterMargin */
public static final String COLUMNNAME_FooterMargin = "FooterMargin";

View File

@ -22,7 +22,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Interface for AD_Process
* @author iDempiere (generated)
* @version Release 9
* @version Release 10
*/
public interface I_AD_Process
{
@ -41,24 +41,11 @@ public interface I_AD_Process
/** Load Meta Data */
/** Column name AccessLevel */
public static final String COLUMNNAME_AccessLevel = "AccessLevel";
/** Set Data Access Level.
* Access Level required
*/
public void setAccessLevel (String AccessLevel);
/** Get Data Access Level.
* Access Level required
*/
public String getAccessLevel();
/** Column name AD_Client_ID */
public static final String COLUMNNAME_AD_Client_ID = "AD_Client_ID";
/** Get Client.
* Client/Tenant for this installation.
/** Get Tenant.
* Tenant for this installation.
*/
public int getAD_Client_ID();
@ -92,12 +79,12 @@ public interface I_AD_Process
public static final String COLUMNNAME_AD_Org_ID = "AD_Org_ID";
/** Set Organization.
* Organizational entity within client
* Organizational entity within tenant
*/
public void setAD_Org_ID (int AD_Org_ID);
/** Get Organization.
* Organizational entity within client
* Organizational entity within tenant
*/
public int getAD_Org_ID();
@ -168,6 +155,19 @@ public interface I_AD_Process
public org.compiere.model.I_AD_Workflow getAD_Workflow() throws RuntimeException;
/** Column name AccessLevel */
public static final String COLUMNNAME_AccessLevel = "AccessLevel";
/** Set Data Access Level.
* Access Level required
*/
public void setAccessLevel (String AccessLevel);
/** Get Data Access Level.
* Access Level required
*/
public String getAccessLevel();
/** Column name AllowMultipleExecution */
public static final String COLUMNNAME_AllowMultipleExecution = "AllowMultipleExecution";
@ -264,6 +264,15 @@ public interface I_AD_Process
*/
public String getExecutionType();
/** Column name FileNamePattern */
public static final String COLUMNNAME_FileNamePattern = "FileNamePattern";
/** Set File Name Pattern */
public void setFileNamePattern (String FileNamePattern);
/** Get File Name Pattern */
public String getFileNamePattern();
/** Column name Help */
public static final String COLUMNNAME_Help = "Help";

View File

@ -23,7 +23,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Model for AD_PrintFormat
* @author iDempiere (generated)
* @version Release 9 - $Id$ */
* @version Release 10 - $Id$ */
@org.adempiere.base.Model(table="AD_PrintFormat")
public class X_AD_PrintFormat extends PO implements I_AD_PrintFormat, I_Persistent
{
@ -31,7 +31,7 @@ public class X_AD_PrintFormat extends PO implements I_AD_PrintFormat, I_Persiste
/**
*
*/
private static final long serialVersionUID = 20220116L;
private static final long serialVersionUID = 20220315L;
/** Standard Constructor */
public X_AD_PrintFormat (Properties ctx, int AD_PrintFormat_ID, String trxName)
@ -404,6 +404,21 @@ public class X_AD_PrintFormat extends PO implements I_AD_PrintFormat, I_Persiste
return (String)get_Value(COLUMNNAME_Description);
}
/** Set File Name Pattern.
@param FileNamePattern File Name Pattern
*/
public void setFileNamePattern (String FileNamePattern)
{
set_Value (COLUMNNAME_FileNamePattern, FileNamePattern);
}
/** Get File Name Pattern.
@return File Name Pattern */
public String getFileNamePattern()
{
return (String)get_Value(COLUMNNAME_FileNamePattern);
}
/** Set Footer Margin.
@param FooterMargin Margin of the Footer in 1/72 of an inch
*/

View File

@ -23,7 +23,7 @@ import org.compiere.util.KeyNamePair;
/** Generated Model for AD_Process
* @author iDempiere (generated)
* @version Release 9 - $Id$ */
* @version Release 10 - $Id$ */
@org.adempiere.base.Model(table="AD_Process")
public class X_AD_Process extends PO implements I_AD_Process, I_Persistent
{
@ -31,7 +31,7 @@ public class X_AD_Process extends PO implements I_AD_Process, I_Persistent
/**
*
*/
private static final long serialVersionUID = 20220116L;
private static final long serialVersionUID = 20220315L;
/** Standard Constructor */
public X_AD_Process (Properties ctx, int AD_Process_ID, String trxName)
@ -39,8 +39,8 @@ public class X_AD_Process extends PO implements I_AD_Process, I_Persistent
super (ctx, AD_Process_ID, trxName);
/** if (AD_Process_ID == 0)
{
setAccessLevel (null);
setAD_Process_ID (0);
setAccessLevel (null);
setEntityType (null);
// @SQL=SELECT CASE WHEN '@P|AdempiereSys:N@'='Y' THEN 'D' ELSE get_sysconfig('DEFAULT_ENTITYTYPE','U',0,0) END FROM Dual
setIsBetaFunctionality (false);
@ -56,8 +56,8 @@ public class X_AD_Process extends PO implements I_AD_Process, I_Persistent
super (ctx, AD_Process_ID, trxName, virtualColumns);
/** if (AD_Process_ID == 0)
{
setAccessLevel (null);
setAD_Process_ID (0);
setAccessLevel (null);
setEntityType (null);
// @SQL=SELECT CASE WHEN '@P|AdempiereSys:N@'='Y' THEN 'D' ELSE get_sysconfig('DEFAULT_ENTITYTYPE','U',0,0) END FROM Dual
setIsBetaFunctionality (false);
@ -95,37 +95,6 @@ public class X_AD_Process extends PO implements I_AD_Process, I_Persistent
return sb.toString();
}
/** AccessLevel AD_Reference_ID=5 */
public static final int ACCESSLEVEL_AD_Reference_ID=5;
/** Organization = 1 */
public static final String ACCESSLEVEL_Organization = "1";
/** Client only = 2 */
public static final String ACCESSLEVEL_ClientOnly = "2";
/** Client+Organization = 3 */
public static final String ACCESSLEVEL_ClientPlusOrganization = "3";
/** System only = 4 */
public static final String ACCESSLEVEL_SystemOnly = "4";
/** System+Client = 6 */
public static final String ACCESSLEVEL_SystemPlusClient = "6";
/** All = 7 */
public static final String ACCESSLEVEL_All = "7";
/** Set Data Access Level.
@param AccessLevel Access Level required
*/
public void setAccessLevel (String AccessLevel)
{
set_Value (COLUMNNAME_AccessLevel, AccessLevel);
}
/** Get Data Access Level.
@return Access Level required
*/
public String getAccessLevel()
{
return (String)get_Value(COLUMNNAME_AccessLevel);
}
public org.compiere.model.I_AD_CtxHelp getAD_CtxHelp() throws RuntimeException
{
return (org.compiere.model.I_AD_CtxHelp)MTable.get(getCtx(), org.compiere.model.I_AD_CtxHelp.Table_ID)
@ -302,6 +271,37 @@ public class X_AD_Process extends PO implements I_AD_Process, I_Persistent
return ii.intValue();
}
/** AccessLevel AD_Reference_ID=5 */
public static final int ACCESSLEVEL_AD_Reference_ID=5;
/** Organization = 1 */
public static final String ACCESSLEVEL_Organization = "1";
/** Client only = 2 */
public static final String ACCESSLEVEL_ClientOnly = "2";
/** Client+Organization = 3 */
public static final String ACCESSLEVEL_ClientPlusOrganization = "3";
/** System only = 4 */
public static final String ACCESSLEVEL_SystemOnly = "4";
/** System+Client = 6 */
public static final String ACCESSLEVEL_SystemPlusClient = "6";
/** All = 7 */
public static final String ACCESSLEVEL_All = "7";
/** Set Data Access Level.
@param AccessLevel Access Level required
*/
public void setAccessLevel (String AccessLevel)
{
set_Value (COLUMNNAME_AccessLevel, AccessLevel);
}
/** Get Data Access Level.
@return Access Level required
*/
public String getAccessLevel()
{
return (String)get_Value(COLUMNNAME_AccessLevel);
}
/** AllowMultipleExecution AD_Reference_ID=200158 */
public static final int ALLOWMULTIPLEEXECUTION_AD_Reference_ID=200158;
/** Disallow multiple executions = N */
@ -415,6 +415,21 @@ public class X_AD_Process extends PO implements I_AD_Process, I_Persistent
return (String)get_Value(COLUMNNAME_ExecutionType);
}
/** Set File Name Pattern.
@param FileNamePattern File Name Pattern
*/
public void setFileNamePattern (String FileNamePattern)
{
set_Value (COLUMNNAME_FileNamePattern, FileNamePattern);
}
/** Get File Name Pattern.
@return File Name Pattern */
public String getFileNamePattern()
{
return (String)get_Value(COLUMNNAME_FileNamePattern);
}
/** Set Comment/Help.
@param Help Comment or Hint
*/

View File

@ -39,7 +39,9 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
@ -100,6 +102,7 @@ import org.compiere.print.layout.PrintDataEvaluatee;
import org.compiere.process.ProcessInfo;
import org.compiere.process.ProcessInfoParameter;
import org.compiere.process.ServerProcessCtl;
import org.compiere.tools.FileUtil;
import org.compiere.util.CLogger;
import org.compiere.util.DB;
import org.compiere.util.DisplayType;
@ -199,6 +202,7 @@ public class ReportEngine implements PrintServiceAttributeListener
m_printFormat = pf;
m_info = info;
m_trxName = trxName;
initName();
setQuery(query); // loads Data
} // ReportEngine
@ -232,6 +236,8 @@ public class ReportEngine implements PrintServiceAttributeListener
private boolean m_summary = false;
private String m_name = null;
/**
* store all column has same css rule into a list
* for IDEMPIERE-2640
@ -364,13 +370,43 @@ public class ReportEngine implements PrintServiceAttributeListener
return m_layout;
} // getLayout
/**
* Initialize Report Name
*/
public void initName()
{
Language language = m_printFormat.getLanguage();
String processFileNamePattern = m_printFormat.get_Translation("FileNamePattern", language.getAD_Language());
if (m_info.getAD_Process_ID()>0) {
MProcess process = new MProcess(Env.getCtx(), m_info.getAD_Process_ID(), m_trxName);
if (process !=null && !Util.isEmpty(process.getFileNamePattern())) {
processFileNamePattern = process.getFileNamePattern();
}
}
if(Util.isEmpty(processFileNamePattern)) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String dt = sdf.format(cal.getTime());
m_name = m_printFormat.get_Translation("Name") + "_" + dt;
} else {
m_name = FileUtil.parseTitle(m_ctx, processFileNamePattern, m_info.getAD_Table_ID(), m_info.getRecord_ID(), m_windowNo, m_trxName);
}
} // initName
/**
* Get PrintFormat (Report) Name
* @return name
*/
public String getName()
{
return m_printFormat.get_Translation("Name");
if (m_name==null)
initName();
return m_name;
} // getName
/**
@ -1422,7 +1458,7 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount)
try
{
if (file == null)
file = File.createTempFile (makePrefix(getName()), ".pdf");
file = FileUtil.createTempFile (makePrefix(getName()), ".pdf");
}
catch (IOException e)
{
@ -1453,7 +1489,7 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount)
try
{
if (file == null)
file = File.createTempFile (makePrefix(getName()), ".html");
file = FileUtil.createTempFile (makePrefix(getName()), ".html");
}
catch (IOException e)
{
@ -1484,7 +1520,7 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount)
try
{
if (file == null)
file = File.createTempFile (makePrefix(getName()), ".csv");
file = FileUtil.createTempFile (makePrefix(getName()), ".csv");
}
catch (IOException e)
{
@ -1515,7 +1551,7 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount)
try
{
if (file == null)
file = File.createTempFile (makePrefix(getName()), ".xls");
file = FileUtil.createTempFile (makePrefix(getName()), ".xls");
}
catch (IOException e)
{
@ -1553,7 +1589,7 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount)
try
{
if (file == null)
file = File.createTempFile (makePrefix(getName()), ".xlsx");
file = FileUtil.createTempFile (makePrefix(getName()), ".xlsx");
}
catch (IOException e)
{
@ -1584,7 +1620,7 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount)
try
{
if (file == null)
file = File.createTempFile ("ReportEngine", ".pdf");
file = FileUtil.createTempFile ("ReportEngine", ".pdf");
fileName = file.getAbsolutePath();
uri = file.toURI();
if (file.exists())

View File

@ -158,6 +158,7 @@ public class ServerReportCtl {
public static boolean runJasperProcess(int Record_ID, ReportEngine re, boolean IsDirectPrint, String printerName, ProcessInfo pi) {
MPrintFormat format = re.getPrintFormat();
ProcessInfo jasperProcessInfo = new ProcessInfo ("", format.getJasperProcess_ID());
PrintInfo printInfo = re.getPrintInfo();
if (pi != null) {
jasperProcessInfo.setPrintPreview(pi.isPrintPreview());
jasperProcessInfo.setIsBatch(pi.isBatch());
@ -165,6 +166,7 @@ public class ServerReportCtl {
jasperProcessInfo.setPrintPreview( !IsDirectPrint );
}
jasperProcessInfo.setRecord_ID ( Record_ID );
jasperProcessInfo.setTable_ID(printInfo.getAD_Table_ID());
ArrayList<ProcessInfoParameter> jasperPrintParams = new ArrayList<ProcessInfoParameter>();
ProcessInfoParameter pip;
if (printerName!=null && printerName.trim().length()>0) {

View File

@ -32,9 +32,13 @@ import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Properties;
import org.adempiere.exceptions.AdempiereException;
import org.adempiere.model.GenericPO;
import org.compiere.model.MAttachment;
import org.compiere.model.MTable;
import org.compiere.model.PO;
import org.compiere.util.Env;
import org.compiere.util.Util;
@ -431,12 +435,78 @@ public class FileUtil
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String dt = sdf.format(cal.getTime());
String cleanName = subject.replaceAll("[ &/]", "");
String localFile = System.getProperty("java.io.tmpdir")
+ System.getProperty("file.separator") + cleanName + "_" + dt + "_" + Env.getContext(Env.getCtx(), Env.AD_SESSION_ID)
+ extension;
String dir = System.getProperty("java.io.tmpdir")
+ System.getProperty("file.separator") + "rpttmp_" + dt + "_" + Env.getContext(Env.getCtx(), Env.AD_SESSION_ID) + System.getProperty("file.separator");
String localFile = dir
+ cleanName + extension;
new File(dir ).mkdirs();
return localFile;
}
/**
*
* @param title
* @param table_ID
* @param record_ID
* @param ctx
* @param m_WindowNo
* @param trxName
* @return
*/
public static String parseTitle(Properties ctx, String title, int table_ID, int record_ID, int m_WindowNo, String trxName) {
if (title.contains("@") && record_ID>0 && table_ID>0) {
MTable table=new MTable(ctx,table_ID,trxName );
PO po = new GenericPO(table.getTableName(), ctx, record_ID, trxName);
title=Env.parseVariable(title, po, trxName, true);
}
else
title= Env.parseContext (ctx, m_WindowNo, title,
true, true);
return title;
}
public static File createTempFile(String prefix, String suffix, File directory) throws IOException
{
if (prefix.length() < 3) {
throw new IllegalArgumentException("Prefix string \"" + prefix +
"\" too short: length must be at least 3");
}
if (suffix == null)
suffix = ".tmp";
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String dt = sdf.format(cal.getTime());
String tmpdirname = (directory != null) ? directory.getCanonicalPath() : System.getProperty("java.io.tmpdir");
tmpdirname += System.getProperty("file.separator") + "rpttmp_" + dt + "_" + Env.getContext(Env.getCtx(), Env.AD_SESSION_ID) + System.getProperty("file.separator");
File tmpdir = new File(tmpdirname);
tmpdir.mkdirs();
String fileName = prefix + suffix;
SecurityManager sm = System.getSecurityManager();
File f = new File(tmpdirname, fileName);
if (sm != null) {
try {
sm.checkWrite(f.getPath());
} catch (SecurityException se) {
// don't reveal temporary directory location
if (directory == null)
throw new SecurityException("Unable to create temporary file");
throw se;
}
}
return f;
}
public static File createTempFile(String prefix, String suffix) throws IOException
{
return createTempFile(prefix, suffix, null);
}
/**
*
* @param path

View File

@ -64,6 +64,7 @@ import org.compiere.process.ClientProcess;
import org.compiere.process.ProcessCall;
import org.compiere.process.ProcessInfo;
import org.compiere.process.ProcessInfoParameter;
import org.compiere.tools.FileUtil;
import org.compiere.util.CLogger;
import org.compiere.util.DB;
import org.compiere.util.Env;
@ -394,7 +395,15 @@ public class ReportStarter implements ProcessCall, ClientProcess
printerName = printFormat.getPrinterName();
}
}
if (pi.getAD_Process_ID()>0) {
MProcess process = new MProcess(Env.getCtx(), processInfo.getAD_Process_ID(), processInfo.getTransactionName());
Language language = printFormat.getLanguage();
String processFileNamePattern = printFormat.get_Translation("FileNamePattern", language.getAD_Language());
if (process !=null && !Util.isEmpty(processFileNamePattern)) {
String filename=FileUtil.parseTitle(Env.getCtx(), processFileNamePattern, pi.getTable_ID(), Record_ID, 0, trxName);
pi.setTitle(filename);
}
}
params.put(CURRENT_LANG, currLang.getAD_Language());
params.put(JRParameter.REPORT_LOCALE, currLang.getLocale());
params.put(COLUMN_LOOKUP, new ColumnLookup(currLang));
@ -443,6 +452,7 @@ public class ReportStarter implements ProcessCall, ClientProcess
params.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);
JRBaseFiller filler = JRFiller.createFiller(jasperReportContext, jasperReport);
JasperPrint jasperPrint = filler.fill(params, conn);
jasperPrint.setName(pi.getTitle());
recordCounts = filler.getVariableValue(JRVariable.REPORT_COUNT);
if (!processInfo.isExport())

View File

@ -64,6 +64,7 @@ import org.compiere.model.MProcessPara;
import org.compiere.model.MSysConfig;
import org.compiere.print.ReportEngine;
import org.compiere.process.ProcessInfo;
import org.compiere.tools.FileUtil;
import org.compiere.util.CLogger;
import org.compiere.util.DB;
import org.compiere.util.DisplayType;
@ -888,7 +889,7 @@ public class DashboardController implements EventListener<Event> {
public AMedia generateReport(int AD_Process_ID, String parameters) throws Exception {
ReportEngine re = runReport(AD_Process_ID, parameters);
File file = File.createTempFile(re.getName(), ".html");
File file = FileUtil.createTempFile(re.getName(), ".html");
re.createHTML(file, false, AEnv.getLanguage(Env.getCtx()), new HTMLExtension(Executions.getCurrent().getContextPath(), "rp",
SessionManager.getAppDesktop().getComponent().getUuid()));
return new AMedia(re.getName(), "html", "text/html", file, false);

View File

@ -275,7 +275,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
if (prefix.length() < 3)
prefix += "_".repeat(3-prefix.length());
if (log.isLoggable(Level.FINE)) log.log(Level.FINE, "Path="+path + " Prefix="+prefix);
File file = File.createTempFile(prefix, "."+PDF_FILE_EXT, new File(path));
File file = FileUtil.createTempFile(prefix, "."+PDF_FILE_EXT, new File(path));
m_reportEngine.createPDF(file);
return new AMedia(file.getName(), PDF_FILE_EXT, PDF_MIME_TYPE, file, true);
} catch (Exception e) {
@ -293,7 +293,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
if (prefix.length() < 3)
prefix += "_".repeat(3-prefix.length());
if (log.isLoggable(Level.FINE)) log.log(Level.FINE, "Path="+path + " Prefix="+prefix);
File file = File.createTempFile(prefix, "."+HTML_FILE_EXT, new File(path));
File file = FileUtil.createTempFile(prefix, "."+HTML_FILE_EXT, new File(path));
String contextPath = Executions.getCurrent().getContextPath();
m_reportEngine.createHTML(file, false, m_reportEngine.getPrintFormat().getLanguage(), new HTMLExtension(contextPath, "rp", getUuid()));
return new AMedia(file.getName(), HTML_FILE_EXT, HTML_MIME_TYPE, file, false);
@ -312,7 +312,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
if (prefix.length() < 3)
prefix += "_".repeat(3-prefix.length());
if (log.isLoggable(Level.FINE)) log.log(Level.FINE, "Path="+path + " Prefix="+prefix);
File file = File.createTempFile(prefix, "."+EXCEL_FILE_EXT, new File(path));
File file = FileUtil.createTempFile(prefix, "."+EXCEL_FILE_EXT, new File(path));
m_reportEngine.createXLS(file, m_reportEngine.getPrintFormat().getLanguage());
return new AMedia(file.getName(), EXCEL_FILE_EXT, EXCEL_MIME_TYPE, file, true);
} catch (Exception e) {
@ -331,7 +331,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
{
log.log(Level.FINE, "Path="+path + " Prefix="+prefix);
}
File file = File.createTempFile(prefix, "."+CSV_FILE_EXT, new File(path));
File file = FileUtil.createTempFile(prefix, "."+CSV_FILE_EXT, new File(path));
m_reportEngine.createCSV(file, ',', AEnv.getLanguage(Env.getCtx()));
return new AMedia(file.getName(), CSV_FILE_EXT, CSV_MIME_TYPE, file, false);
} catch (Exception e) {
@ -350,7 +350,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
{
log.log(Level.FINE, "Path=" + path + " Prefix=" + prefix);
}
File file = File.createTempFile(prefix, "."+EXCEL_XML_FILE_EXT, new File(path));
File file = FileUtil.createTempFile(prefix, "."+EXCEL_XML_FILE_EXT, new File(path));
m_reportEngine.createXLSX(file, m_reportEngine.getPrintFormat().getLanguage());
return new AMedia(file.getName(), EXCEL_XML_FILE_EXT, EXCEL_XML_MIME_TYPE, file, true);
} catch (Exception e) {