Attached Files | Screenshot from 2015-09-22 14:51:19.png [^] (122,220 bytes) 2015-09-22 15:07

Screenshot from 2015-09-22 14:46:46.png [^] (100,482 bytes) 2015-09-22 15:07

30888.diff [^] (29,324 bytes) 2015-10-06 15:02 [Show Content] [Hide Content]# HG changeset patch
# User Unai Martirena <unai.martirena@openbravo.com>
# Date 1444136405 -7200
# Tue Oct 06 15:00:05 2015 +0200
# Node ID 1422f7f1d22b87339a763dbea90c0ed07e31d6ce
# Parent e40ddaa9dda9e38f816de1cdfe2e08a3e18db2d2
Fixes bug 30888: Added a template for Closed Invoices
diff --git a/src-db/database/model/modifiedTables/AD_ORG.xml b/src-db/database/model/modifiedTables/AD_ORG.xml
--- a/src-db/database/model/modifiedTables/AD_ORG.xml
+++ b/src-db/database/model/modifiedTables/AD_ORG.xml
@@ -65,9 +65,16 @@
<default/>
<onCreateDefault/>
</column>
+ <column name="EM_OBPOS_CLO_INV_TEMPLATE_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false">
+ <default/>
+ <onCreateDefault/>
+ </column>
<foreign-key foreignTable="OBPOS_PRINT_TEMPLATE" name="EM_OBPOS_ORG_CASHUPTEMP">
<reference local="EM_OBPOS_CASHUP_TEMPLATE_ID" foreign="OBPOS_PRINT_TEMPLATE_ID"/>
</foreign-key>
+ <foreign-key foreignTable="OBPOS_PRINT_TEMPLATE" name="EM_OBPOS_ORG_CLOINVTEMP">
+ <reference local="EM_OBPOS_CLO_INV_TEMPLATE_ID" foreign="OBPOS_PRINT_TEMPLATE_ID"/>
+ </foreign-key>
<foreign-key foreignTable="OBPOS_PRINT_TEMPLATE" name="EM_OBPOS_ORG_CLOSERCPTEMP">
<reference local="EM_OBPOS_CLOSEDRECEIPT_TEM_ID" foreign="OBPOS_PRINT_TEMPLATE_ID"/>
</foreign-key>
diff --git a/src-db/database/sourcedata/AD_COLUMN.xml b/src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml
+++ b/src-db/database/sourcedata/AD_COLUMN.xml
@@ -6347,6 +6347,43 @@
<!--6FCA5A9343194387984738CD0693B3F1--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
<!--6FCA5A9343194387984738CD0693B3F1--></AD_COLUMN>
+<!--6FD6A1AB45D9475CA239281E008F4283--><AD_COLUMN>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <AD_COLUMN_ID><![CDATA[6FD6A1AB45D9475CA239281E008F4283]]></AD_COLUMN_ID>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <NAME><![CDATA[EM_Obpos_Clo_Inv_Template_ID]]></NAME>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <DESCRIPTION><![CDATA[Closed Invoice Template]]></DESCRIPTION>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <HELP><![CDATA[Template to be used in WebPOS when closed invoice is printed.]]></HELP>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <COLUMNNAME><![CDATA[EM_Obpos_Clo_Inv_Template_ID]]></COLUMNNAME>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <AD_TABLE_ID><![CDATA[155]]></AD_TABLE_ID>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <AD_REFERENCE_ID><![CDATA[18]]></AD_REFERENCE_ID>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <AD_REFERENCE_VALUE_ID><![CDATA[BDA324CB4B8847C3A1D2318E978BA08A]]></AD_REFERENCE_VALUE_ID>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <AD_VAL_RULE_ID><![CDATA[83A7F6B232FC4EC9AB81B87FD6740F78]]></AD_VAL_RULE_ID>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISKEY><![CDATA[N]]></ISKEY>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <SEQNO><![CDATA[401]]></SEQNO>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <AD_ELEMENT_ID><![CDATA[4A685996DE4A4DE19594600A67403B55]]></AD_ELEMENT_ID>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <POSITION><![CDATA[55]]></POSITION>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--6FD6A1AB45D9475CA239281E008F4283--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--6FD6A1AB45D9475CA239281E008F4283--></AD_COLUMN>
+
<!--7049558C53FA467CA95B85002146375F--><AD_COLUMN>
<!--7049558C53FA467CA95B85002146375F--> <AD_COLUMN_ID><![CDATA[7049558C53FA467CA95B85002146375F]]></AD_COLUMN_ID>
<!--7049558C53FA467CA95B85002146375F--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/AD_ELEMENT.xml b/src-db/database/sourcedata/AD_ELEMENT.xml
--- a/src-db/database/sourcedata/AD_ELEMENT.xml
+++ b/src-db/database/sourcedata/AD_ELEMENT.xml
@@ -561,6 +561,20 @@
<!--49DC2557C5EC497A9395F1F3D69280D0--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
<!--49DC2557C5EC497A9395F1F3D69280D0--></AD_ELEMENT>
+<!--4A685996DE4A4DE19594600A67403B55--><AD_ELEMENT>
+<!--4A685996DE4A4DE19594600A67403B55--> <AD_ELEMENT_ID><![CDATA[4A685996DE4A4DE19594600A67403B55]]></AD_ELEMENT_ID>
+<!--4A685996DE4A4DE19594600A67403B55--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--4A685996DE4A4DE19594600A67403B55--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--4A685996DE4A4DE19594600A67403B55--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--4A685996DE4A4DE19594600A67403B55--> <COLUMNNAME><![CDATA[EM_Obpos_Clo_Inv_Template_ID]]></COLUMNNAME>
+<!--4A685996DE4A4DE19594600A67403B55--> <NAME><![CDATA[Closed Invoice Template]]></NAME>
+<!--4A685996DE4A4DE19594600A67403B55--> <PRINTNAME><![CDATA[Closed Invoice Template]]></PRINTNAME>
+<!--4A685996DE4A4DE19594600A67403B55--> <DESCRIPTION><![CDATA[Closed Invoice Template]]></DESCRIPTION>
+<!--4A685996DE4A4DE19594600A67403B55--> <HELP><![CDATA[Template to be used in WebPOS when closed invoice is printed.]]></HELP>
+<!--4A685996DE4A4DE19594600A67403B55--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--4A685996DE4A4DE19594600A67403B55--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--4A685996DE4A4DE19594600A67403B55--></AD_ELEMENT>
+
<!--4AED8A4CE763499894142AB6EBA1438D--><AD_ELEMENT>
<!--4AED8A4CE763499894142AB6EBA1438D--> <AD_ELEMENT_ID><![CDATA[4AED8A4CE763499894142AB6EBA1438D]]></AD_ELEMENT_ID>
<!--4AED8A4CE763499894142AB6EBA1438D--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/AD_FIELD.xml b/src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml
+++ b/src-db/database/sourcedata/AD_FIELD.xml
@@ -87,6 +87,36 @@
<!--00BF273D2E3A4308B0ED31A46BD4AC52--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--00BF273D2E3A4308B0ED31A46BD4AC52--></AD_FIELD>
+<!--01139B0CDAD64554A6C23A1085C72AF5--><AD_FIELD>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <AD_FIELD_ID><![CDATA[01139B0CDAD64554A6C23A1085C72AF5]]></AD_FIELD_ID>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <NAME><![CDATA[Closed Invoice Template]]></NAME>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <DESCRIPTION><![CDATA[Closed Invoice Template]]></DESCRIPTION>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <HELP><![CDATA[Template to be used in WebPOS when closed invoice is printed.]]></HELP>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <AD_TAB_ID><![CDATA[143]]></AD_TAB_ID>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <AD_COLUMN_ID><![CDATA[6FD6A1AB45D9475CA239281E008F4283]]></AD_COLUMN_ID>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <AD_FIELDGROUP_ID><![CDATA[6E343F57D4DF4F7886963AF2AAFAFF87]]></AD_FIELDGROUP_ID>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <SEQNO><![CDATA[569]]></SEQNO>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <GRID_SEQNO><![CDATA[280]]></GRID_SEQNO>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--01139B0CDAD64554A6C23A1085C72AF5--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--01139B0CDAD64554A6C23A1085C72AF5--></AD_FIELD>
+
<!--02B9ACCD647141D79D994BE9CD53ACC6--><AD_FIELD>
<!--02B9ACCD647141D79D994BE9CD53ACC6--> <AD_FIELD_ID><![CDATA[02B9ACCD647141D79D994BE9CD53ACC6]]></AD_FIELD_ID>
<!--02B9ACCD647141D79D994BE9CD53ACC6--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/AD_MESSAGE.xml b/src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml
@@ -5931,6 +5931,18 @@
<!--D4AB908469A2466A9776E14537A371A1--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
<!--D4AB908469A2466A9776E14537A371A1--></AD_MESSAGE>
+<!--D569486B8BBF4F92AB12671329D4758A--><AD_MESSAGE>
+<!--D569486B8BBF4F92AB12671329D4758A--> <AD_MESSAGE_ID><![CDATA[D569486B8BBF4F92AB12671329D4758A]]></AD_MESSAGE_ID>
+<!--D569486B8BBF4F92AB12671329D4758A--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--D569486B8BBF4F92AB12671329D4758A--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--D569486B8BBF4F92AB12671329D4758A--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--D569486B8BBF4F92AB12671329D4758A--> <VALUE><![CDATA[OBPOS_ClosedInvoice]]></VALUE>
+<!--D569486B8BBF4F92AB12671329D4758A--> <MSGTEXT><![CDATA[Closed Invoice]]></MSGTEXT>
+<!--D569486B8BBF4F92AB12671329D4758A--> <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--D569486B8BBF4F92AB12671329D4758A--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--D569486B8BBF4F92AB12671329D4758A--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--D569486B8BBF4F92AB12671329D4758A--></AD_MESSAGE>
+
<!--D57AE7B3CC8A421BA79186DD90607BFC--><AD_MESSAGE>
<!--D57AE7B3CC8A421BA79186DD90607BFC--> <AD_MESSAGE_ID><![CDATA[D57AE7B3CC8A421BA79186DD90607BFC]]></AD_MESSAGE_ID>
<!--D57AE7B3CC8A421BA79186DD90607BFC--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/AD_REF_LIST.xml b/src-db/database/sourcedata/AD_REF_LIST.xml
--- a/src-db/database/sourcedata/AD_REF_LIST.xml
+++ b/src-db/database/sourcedata/AD_REF_LIST.xml
@@ -257,6 +257,17 @@
<!--38BBDAA851F8442F824E80451D217E5B--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
<!--38BBDAA851F8442F824E80451D217E5B--></AD_REF_LIST>
+<!--39C3978260574693AA0D14E766182CA8--><AD_REF_LIST>
+<!--39C3978260574693AA0D14E766182CA8--> <AD_REF_LIST_ID><![CDATA[39C3978260574693AA0D14E766182CA8]]></AD_REF_LIST_ID>
+<!--39C3978260574693AA0D14E766182CA8--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--39C3978260574693AA0D14E766182CA8--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--39C3978260574693AA0D14E766182CA8--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--39C3978260574693AA0D14E766182CA8--> <VALUE><![CDATA[ClosedInvoice]]></VALUE>
+<!--39C3978260574693AA0D14E766182CA8--> <NAME><![CDATA[Closed Invoice]]></NAME>
+<!--39C3978260574693AA0D14E766182CA8--> <AD_REFERENCE_ID><![CDATA[A64C98EEC3DA45A4B784A3E28B4FAC3E]]></AD_REFERENCE_ID>
+<!--39C3978260574693AA0D14E766182CA8--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--39C3978260574693AA0D14E766182CA8--></AD_REF_LIST>
+
<!--3E5BC9B9EA0041FBBA3C116AD65FF480--><AD_REF_LIST>
<!--3E5BC9B9EA0041FBBA3C116AD65FF480--> <AD_REF_LIST_ID><![CDATA[3E5BC9B9EA0041FBBA3C116AD65FF480]]></AD_REF_LIST_ID>
<!--3E5BC9B9EA0041FBBA3C116AD65FF480--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/AD_VAL_RULE.xml b/src-db/database/sourcedata/AD_VAL_RULE.xml
--- a/src-db/database/sourcedata/AD_VAL_RULE.xml
+++ b/src-db/database/sourcedata/AD_VAL_RULE.xml
@@ -125,6 +125,17 @@
<!--7E72CA2E0AC546EEB0F80920F0C36CC8--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
<!--7E72CA2E0AC546EEB0F80920F0C36CC8--></AD_VAL_RULE>
+<!--83A7F6B232FC4EC9AB81B87FD6740F78--><AD_VAL_RULE>
+<!--83A7F6B232FC4EC9AB81B87FD6740F78--> <AD_VAL_RULE_ID><![CDATA[83A7F6B232FC4EC9AB81B87FD6740F78]]></AD_VAL_RULE_ID>
+<!--83A7F6B232FC4EC9AB81B87FD6740F78--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--83A7F6B232FC4EC9AB81B87FD6740F78--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--83A7F6B232FC4EC9AB81B87FD6740F78--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--83A7F6B232FC4EC9AB81B87FD6740F78--> <NAME><![CDATA[Print Template - Closed Invoice]]></NAME>
+<!--83A7F6B232FC4EC9AB81B87FD6740F78--> <TYPE><![CDATA[S]]></TYPE>
+<!--83A7F6B232FC4EC9AB81B87FD6740F78--> <CODE><![CDATA[template_type = 'ClosedInvoice']]></CODE>
+<!--83A7F6B232FC4EC9AB81B87FD6740F78--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--83A7F6B232FC4EC9AB81B87FD6740F78--></AD_VAL_RULE>
+
<!--9A26DE9B85C44E8886DA1F284560C31F--><AD_VAL_RULE>
<!--9A26DE9B85C44E8886DA1F284560C31F--> <AD_VAL_RULE_ID><![CDATA[9A26DE9B85C44E8886DA1F284560C31F]]></AD_VAL_RULE_ID>
<!--9A26DE9B85C44E8886DA1F284560C31F--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/OBPOS_PRINT_TEMPLATE.xml b/src-db/database/sourcedata/OBPOS_PRINT_TEMPLATE.xml
--- a/src-db/database/sourcedata/OBPOS_PRINT_TEMPLATE.xml
+++ b/src-db/database/sourcedata/OBPOS_PRINT_TEMPLATE.xml
@@ -72,6 +72,18 @@
<!--7B528163D4CD4967AFEF5BC65EE0492F--> <ISPDF><![CDATA[N]]></ISPDF>
<!--7B528163D4CD4967AFEF5BC65EE0492F--></OBPOS_PRINT_TEMPLATE>
+<!--826A911B33754DE8808732EA51ACA9D8--><OBPOS_PRINT_TEMPLATE>
+<!--826A911B33754DE8808732EA51ACA9D8--> <OBPOS_PRINT_TEMPLATE_ID><![CDATA[826A911B33754DE8808732EA51ACA9D8]]></OBPOS_PRINT_TEMPLATE_ID>
+<!--826A911B33754DE8808732EA51ACA9D8--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--826A911B33754DE8808732EA51ACA9D8--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--826A911B33754DE8808732EA51ACA9D8--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--826A911B33754DE8808732EA51ACA9D8--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--826A911B33754DE8808732EA51ACA9D8--> <NAME><![CDATA[Default Closed Invoice Template]]></NAME>
+<!--826A911B33754DE8808732EA51ACA9D8--> <TEMPLATE_TYPE><![CDATA[ClosedInvoice]]></TEMPLATE_TYPE>
+<!--826A911B33754DE8808732EA51ACA9D8--> <TEMPLATE_PATH><![CDATA[res/printclosedinvoice.xml]]></TEMPLATE_PATH>
+<!--826A911B33754DE8808732EA51ACA9D8--> <ISPDF><![CDATA[N]]></ISPDF>
+<!--826A911B33754DE8808732EA51ACA9D8--></OBPOS_PRINT_TEMPLATE>
+
<!--83E706DD2568471CB54F47AC6D6A61A1--><OBPOS_PRINT_TEMPLATE>
<!--83E706DD2568471CB54F47AC6D6A61A1--> <OBPOS_PRINT_TEMPLATE_ID><![CDATA[83E706DD2568471CB54F47AC6D6A61A1]]></OBPOS_PRINT_TEMPLATE_ID>
<!--83E706DD2568471CB54F47AC6D6A61A1--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src/org/openbravo/retail/posterminal/term/TerminalProperties.java b/src/org/openbravo/retail/posterminal/term/TerminalProperties.java
--- a/src/org/openbravo/retail/posterminal/term/TerminalProperties.java
+++ b/src/org/openbravo/retail/posterminal/term/TerminalProperties.java
@@ -1,6 +1,6 @@
/*
************************************************************************************
- * Copyright (C) 2013 Openbravo S.L.U.
+ * Copyright (C) 2013-2015 Openbravo S.L.U.
* Licensed under the Openbravo Commercial License version 1.0
* You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
* or in the legal folder of this module distribution.
@@ -86,6 +86,8 @@
addTemplateProperty(Organization.PROPERTY_OBPOSCLOSEDRECEIPTTEMPLATE,
"printClosedReceiptTemplate", list);
addTemplateProperty(Organization.PROPERTY_OBPOSQUOTTEMPLATE, "printQuotationTemplate", list);
+ addTemplateProperty(Organization.PROPERTY_OBPOSCLOINVTEMPLATE, "printClosedInvoiceTemplate",
+ list);
return list;
}
diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-print.js b/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-print.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-print.js
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-print.js
@@ -79,6 +79,8 @@
extendHWResource(this.templategoodbye, "printGoodByeTemplate");
this.templatewelcome = new OB.DS.HWResource(terminal.printWelcomeTemplate || OB.OBPOSPointOfSale.Print.WelcomeTemplate);
extendHWResource(this.templatewelcome, "printWelcomeTemplate");
+ this.templateclosedinvoice = new OB.DS.HWResource(terminal.printClosedInvoiceTemplate || OB.OBPOSPointOfSale.Print.ClosedInvoiceTemplate);
+ extendHWResource(this.templateclosedinvoice, "printClosedInvoiceTemplate");
};
PrintReceipt.prototype.print = function (order, printargs) {
@@ -335,6 +337,8 @@
args.template = me.templatereturninvoice;
} else if (receipt.get('isQuotation')) {
args.template = me.templatequotation;
+ } else if (receipt.get('isPaid')) {
+ args.template = me.templateclosedinvoice;
} else {
args.template = me.templateinvoice;
}
@@ -597,4 +601,5 @@
OB.OBPOSPointOfSale.Print.GoodByeTemplate = '../org.openbravo.retail.posterminal/res/goodbye.xml';
OB.OBPOSPointOfSale.Print.WelcomeTemplate = '../org.openbravo.retail.posterminal/res/welcome.xml';
OB.OBPOSPointOfSale.Print.QuotationTemplate = '../org.openbravo.retail.posterminal/res/printquotation.xml';
+ OB.OBPOSPointOfSale.Print.ClosedInvoiceTemplate = '../org.openbravo.retail.posterminal/res/printclosedinvoice.xml';
}());
\ No newline at end of file
diff --git a/web/org.openbravo.retail.posterminal/res/printclosedinvoice.xml b/web/org.openbravo.retail.posterminal/res/printclosedinvoice.xml
new file mode 100644
--- /dev/null
+++ b/web/org.openbravo.retail.posterminal/res/printclosedinvoice.xml
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ************************************************************************************
+ * Copyright (C) 2015 Openbravo S.L.U.
+ * Licensed under the Openbravo Commercial License version 1.0
+ * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
+ * or in the legal folder of this module distribution.
+ ************************************************************************************
+-->
+
+<output>
+ <ticket>
+ <line>
+ <image>ticket-image.png</image>
+ </line>
+ <line></line>
+ <line>
+ <text align="center" length="42"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_tckheader_line1'))%></text>
+ </line>
+ <line>
+ <text align="center" length="42"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_tckheader_line2'))%></text>
+ </line>
+ <line></line>
+ <line>
+ <text align="left" length="22"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_ticket')) %></text>
+ <text><%= OB.UTIL.encodeXMLComponent(order.get('documentNo')) %></text>
+ </line>
+ <line>
+ <text align="left" length="22"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_datetime')) %></text>
+ <text><%= OB.I18N.formatDate(order.get('orderDate')) %></text>
+ <text> </text>
+ <% var time;
+ if(!OB.UTIL.isNullOrUndefined(order.get('created'))){
+ time = new Date(order.get('created'));
+ } else {
+ time = new Date();
+ }
+ %>
+ <text><%= OB.I18N.formatHour(time) %></text>
+ </line>
+ <line>
+ <text align="left" length="22"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_cashierPOS')) %></text>
+ <text><%= OB.UTIL.encodeXMLComponent(order.get('salesRepresentative'+OB.Constants.FIELDSEPARATOR + OB.Constants.IDENTIFIER)) %></text>
+ <text>, </text>
+ <text><%= OB.UTIL.encodeXMLComponent(order.get('posTerminal'+OB.Constants.FIELDSEPARATOR + OB.Constants.IDENTIFIER)) %></text>
+ </line>
+
+ <line></line>
+ <line size="1">
+ <text align ="center" length="42"><%= OB.I18N.getLabel('OBPOS_ClosedInvoice') %></text>
+ </line>
+ <line></line>
+
+ <line>
+ <text align ="left" length="21"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_LineItem'))%></text>
+ <text align ="right" length="5">#</text>
+ <text align ="right" length="8"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_LinePrice'))%></text>
+ <text align ="right" length="8"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_LineTotal'))%></text>
+ </line>
+ <line>
+ <text>------------------------------------------</text>
+ </line>
+ <%
+ var lines = order.get('lines');
+ for (var i = 0; i < lines.length; i++) {
+ line = lines.at(i);
+ %>
+ <line>
+ <text align ="left" length="21"><%= OB.UTIL.encodeXMLComponent(line.get('product').get('_identifier')) %></text>
+ <text align ="right" length="5"><%= line.printQty() %></text>
+ <text align ="right" length="8"><%= line.printPrice() %></text>
+ <%if(order.get('priceIncludesTax')){%>
+ <text align ="right" length="8"><%= line.printGross() %></text>
+ <%}else{%>
+ <text align ="right" length="8"><%= line.printNet() %></text>
+ <%}%>
+ </line>
+ <%
+ promotions = line.get('promotions');
+ if (promotions){
+ promotions.forEach(function(p) {
+ if (!p.hidden) {
+ %>
+ <line>
+ <text align="left" length="2">--</text>
+ <text align="left" length="32"><%= p.name %></text>
+ <text align="right" length="8"><%= OB.I18N.formatCurrency(-p.amt) %></text>
+ </line>
+ <%
+ }
+ });
+ }
+ }
+ if(!order.get('priceIncludesTax')){%>
+ <line>
+ <text align ="left" length="21"><%= OB.I18N.getLabel('OBPOS_LblTotalTax') %></text>
+ <text align ="right" length="5"></text>
+ <text align ="right" length="8"></text>
+ <text align ="right" length="8"><%= OB.I18N.formatCurrency(OB.DEC.sub(order.getGross() , order.getNet())) %></text>
+ </line>
+ <%}%>
+ <line></line>
+ <line size="1">
+ <text align ="left" length="25"><%=OB.I18N.getLabel('OBPOS_ReceiptTotal') + ' ' + order.get('currency' + OB.Constants.FIELDSEPARATOR + OB.Constants.IDENTIFIER) %></text>
+ <text align ="right" length="14"><%= order.printGross() %></text>
+ </line>
+ <%
+ var payments = order.get('payments');
+ for (var i = 0; i < payments.length; i++) {
+ if(payments.at(i).get('rate') && payments.at(i).get('rate')!=='1'){
+ %>
+ <line>
+ <text align="left" length="15"><%= payments.at(i).get('name') %></text>
+ <text align="right" length="12"><%= '('+OB.I18N.formatCurrency(payments.at(i).get('amount'))+' '+payments.at(i).get('isocode')+')' %></text>
+ <text align="right" length="13"><%= OB.I18N.formatCurrency(payments.at(i).get('origAmount')) %></text>
+ </line>
+ <%
+ }else {
+ %>
+ <line>
+ <text align="left" length="20"><%= payments.at(i).get('name') %></text>
+ <text align="right" length="20"><%= OB.I18N.formatCurrency(payments.at(i).get('amount')) %></text>
+ </line>
+ <%
+ }
+ if (payments.at(i).get('gatewayData')) {
+ var pinfo = payments.at(i).get('gatewayData');
+ %>
+ <line>
+ <text align="left" length="2"></text>
+ <text align="left" length="20"><%= OB.I18N.getLabel('OBPOS_PaymentTran') %></text>
+ <text align="left" length="20"><%= pinfo.transaction %></text>
+ </line>
+ <line>
+ <text align="left" length="2"></text>
+ <text align="left" length="20"><%= OB.I18N.getLabel('OBPOS_PaymentApproval') %></text>
+ <text align="left" length="20"><%= pinfo.authorization %></text>
+ </line>
+ <% if (pinfo.cardmasked) { %>
+ <line>
+ <text align="left" length="2"></text>
+ <text align="left" length="20"><%= OB.I18N.getLabel('OBPOS_PaymentAct') %></text>
+ <text align="left" length="20"><%= pinfo.cardmasked %></text>
+ </line>
+ <% } %>
+ <% if (pinfo.cardlogo) { %>
+ <line>
+ <text align="left" length="2"></text>
+ <text align="left" length="20"><%= OB.I18N.getLabel('OBPOS_PaymentLogo') %></text>
+ <text align="left" length="20"><%= pinfo.cardlogo %></text>
+ </line>
+ <% } %>
+
+ <%
+ }
+ }
+ %>
+ <line>
+ <text align="left" length="20"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_ticketChange')) %></text>
+ <text align="right" length="20"><%= OB.I18N.formatCurrency(order.get('change'))%></text>
+ </line>
+ <line></line>
+ <line size="1">
+ <% if (order.get('hasbeenpaid') === 'Y') { %>
+ <% if (order.get('paidOnCredit')){ %>
+ <text align="center" length="42"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_paidOnCredit')) %></text>
+ <% } else { %>
+ <text align="center" length="42"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_tckfooter_line1')) %></text>
+ <% } %>
+ <% } else { %>
+ <text align="center" length="42"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_tckfooter_draft')) %></text>
+ <% } %>
+ </line>
+ <line>
+ <text align="center" length="42"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_tckfooter_line2'))%></text>
+ </line>
+ <line></line>
+ <line>
+ <text align ="left" length="12"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_tck_breakdown'))%></text>
+ <text align ="left" length="12"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_tck_base'))%></text>
+ <text align ="left" length="12"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_tck_TAX'))%></text>
+ </line>
+ <line>
+ <text>------------------------------------------</text>
+ </line>
+ <%
+ var totAmount = 0;
+ var taxes = order.get('taxes');
+ for (var t in taxes) {
+ totAmount += taxes[t].amount;
+ %>
+ <line>
+ <text align ="left" length="12"><%= OB.I18N.formatRate(taxes[t].rate) %></text>
+ <text align ="left" length="12"><%= OB.I18N.formatCurrency(taxes[t].net) %></text>
+ <text align ="left" length="12"><%= OB.I18N.formatCurrency(taxes[t].amount) %></text>
+ </line>
+ <%
+ }
+ %>
+ <line>
+ <text>------------------------------------------</text>
+ </line>
+ <line>
+ <text align ="left" length="24"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_display_total'))%></text>
+ <text align ="left" length="12"><%= OB.I18N.formatCurrency(totAmount) %></text>
+ </line>
+
+ <line>
+ <barcode type="CODE128" position="left"><%= OB.UTIL.encodeXMLComponent(order.get('documentNo')) %></barcode>
+ </line>
+
+ </ticket>
+
+ <display>
+ <line>
+ <text align="left" length="10"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_display_total'))%></text>
+ <text align="right" length="10"><%= order.printGross() %></text>
+ </line>
+ <line>
+ <text align="center" length="20"><%= OB.UTIL.encodeXMLComponent(OB.I18N.getLabel('OBPOS_thankyou'))%></text>
+ </line>
+ </display>
+
+</output>
\ No newline at end of file
|