Attached Files | patch_completo_30041.diff [^] (72,745 bytes) 2015-06-04 16:14 [Show Content] [Hide Content]diff -r 87dcf1f61d9d src-db/database/model/modifiedTables/C_ORDER.xml
--- a/src-db/database/model/modifiedTables/C_ORDER.xml Wed Jun 03 09:25:48 2015 +0200
+++ b/src-db/database/model/modifiedTables/C_ORDER.xml Thu Jun 04 16:14:02 2015 +0200
@@ -29,6 +29,10 @@
<default/>
<onCreateDefault/>
</column>
+ <column name="EM_OBPOS_ISDELETED" primaryKey="false" required="true" type="CHAR" size="1" autoIncrement="false">
+ <default><![CDATA[N]]></default>
+ <onCreateDefault><![CDATA['N']]></onCreateDefault>
+ </column>
<foreign-key foreignTable="OBPOS_APPLICATIONS" name="EM_OBPOS_APP_ID">
<reference local="EM_OBPOS_APPLICATIONS_ID" foreign="OBPOS_APPLICATIONS_ID"/>
</foreign-key>
@@ -44,5 +48,6 @@
<index name="EM_OBPOS_ORDERDATE" unique="false">
<index-column name="DATEORDERED"/>
</index>
+ <check name="EM_OBPOS_ISDELETED_CHECK"><![CDATA[EM_OBPOS_ISDELETED IN ('Y', 'N')]]></check>
</table>
</database>
diff -r 87dcf1f61d9d src-db/database/model/modifiedTables/C_ORDERLINE.xml
--- a/src-db/database/model/modifiedTables/C_ORDERLINE.xml Wed Jun 03 09:25:48 2015 +0200
+++ b/src-db/database/model/modifiedTables/C_ORDERLINE.xml Thu Jun 04 16:14:02 2015 +0200
@@ -1,6 +1,14 @@
<?xml version="1.0"?>
<database name="MODIFIED TABLE C_ORDERLINE">
<table name="C_ORDERLINE" primaryKey="C_ORDERLINE_KEY">
+ <column name="EM_OBPOS_ISDELETED" primaryKey="false" required="true" type="CHAR" size="1" autoIncrement="false">
+ <default><![CDATA[N]]></default>
+ <onCreateDefault><![CDATA['N']]></onCreateDefault>
+ </column>
+ <column name="EM_OBPOS_QTYDELETED" primaryKey="false" required="false" type="DECIMAL" autoIncrement="false">
+ <default/>
+ <onCreateDefault/>
+ </column>
<index name="EM_OBPOS_DELIVEREDQTY" unique="false">
<index-column name="C_ORDER_ID"/>
<index-column name="QTYDELIVERED"/>
@@ -9,5 +17,6 @@
<index-column name="C_ORDER_ID"/>
<index-column name="QTYORDERED"/>
</index>
+ <check name="EM_OBPOS_ISDELETED_CHECK"><![CDATA[EM_OBPOS_ISDELETED IN ('Y', 'N')]]></check>
</table>
</database>
diff -r 87dcf1f61d9d src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml Wed Jun 03 09:25:48 2015 +0200
+++ b/src-db/database/sourcedata/AD_COLUMN.xml Thu Jun 04 16:14:02 2015 +0200
@@ -63,7 +63,7 @@
<!--019DB9004A0C4843876A001C7F65C3EC--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
<!--019DB9004A0C4843876A001C7F65C3EC--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
<!--019DB9004A0C4843876A001C7F65C3EC--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
-<!--019DB9004A0C4843876A001C7F65C3EC--> <POSITION><![CDATA[88]]></POSITION>
+<!--019DB9004A0C4843876A001C7F65C3EC--> <POSITION><![CDATA[89]]></POSITION>
<!--019DB9004A0C4843876A001C7F65C3EC--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
<!--019DB9004A0C4843876A001C7F65C3EC--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
<!--019DB9004A0C4843876A001C7F65C3EC--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
@@ -1490,6 +1490,40 @@
<!--1C92DB4E98CB49ED9D6B67F8D7737DE8--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
<!--1C92DB4E98CB49ED9D6B67F8D7737DE8--></AD_COLUMN>
+<!--1CA15CA09A33480C8374070E2B904D70--><AD_COLUMN>
+<!--1CA15CA09A33480C8374070E2B904D70--> <AD_COLUMN_ID><![CDATA[1CA15CA09A33480C8374070E2B904D70]]></AD_COLUMN_ID>
+<!--1CA15CA09A33480C8374070E2B904D70--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--1CA15CA09A33480C8374070E2B904D70--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--1CA15CA09A33480C8374070E2B904D70--> <NAME><![CDATA[em_obpos_isDeleted]]></NAME>
+<!--1CA15CA09A33480C8374070E2B904D70--> <COLUMNNAME><![CDATA[EM_Obpos_Isdeleted]]></COLUMNNAME>
+<!--1CA15CA09A33480C8374070E2B904D70--> <AD_TABLE_ID><![CDATA[259]]></AD_TABLE_ID>
+<!--1CA15CA09A33480C8374070E2B904D70--> <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID>
+<!--1CA15CA09A33480C8374070E2B904D70--> <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH>
+<!--1CA15CA09A33480C8374070E2B904D70--> <DEFAULTVALUE><![CDATA[N]]></DEFAULTVALUE>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISKEY><![CDATA[N]]></ISKEY>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--1CA15CA09A33480C8374070E2B904D70--> <SEQNO><![CDATA[730]]></SEQNO>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--1CA15CA09A33480C8374070E2B904D70--> <AD_ELEMENT_ID><![CDATA[85311A4FB6C14AC59ABDBEF5EF712EF9]]></AD_ELEMENT_ID>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--1CA15CA09A33480C8374070E2B904D70--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--1CA15CA09A33480C8374070E2B904D70--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--1CA15CA09A33480C8374070E2B904D70--> <POSITION><![CDATA[94]]></POSITION>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--1CA15CA09A33480C8374070E2B904D70--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--1CA15CA09A33480C8374070E2B904D70--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--1CA15CA09A33480C8374070E2B904D70--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--1CA15CA09A33480C8374070E2B904D70--></AD_COLUMN>
+
<!--1D2A657E7EC6449592461B3AFF3E82AC--><AD_COLUMN>
<!--1D2A657E7EC6449592461B3AFF3E82AC--> <AD_COLUMN_ID><![CDATA[1D2A657E7EC6449592461B3AFF3E82AC]]></AD_COLUMN_ID>
<!--1D2A657E7EC6449592461B3AFF3E82AC--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -3308,7 +3342,7 @@
<!--509E99434A834A52B2B5914B483DFCCE--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
<!--509E99434A834A52B2B5914B483DFCCE--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
<!--509E99434A834A52B2B5914B483DFCCE--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
-<!--509E99434A834A52B2B5914B483DFCCE--> <POSITION><![CDATA[89]]></POSITION>
+<!--509E99434A834A52B2B5914B483DFCCE--> <POSITION><![CDATA[90]]></POSITION>
<!--509E99434A834A52B2B5914B483DFCCE--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
<!--509E99434A834A52B2B5914B483DFCCE--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
<!--509E99434A834A52B2B5914B483DFCCE--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
@@ -4117,7 +4151,7 @@
<!--66406AFAB96F42BDBB4E5ED8C541DD2F--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
<!--66406AFAB96F42BDBB4E5ED8C541DD2F--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
<!--66406AFAB96F42BDBB4E5ED8C541DD2F--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
-<!--66406AFAB96F42BDBB4E5ED8C541DD2F--> <POSITION><![CDATA[90]]></POSITION>
+<!--66406AFAB96F42BDBB4E5ED8C541DD2F--> <POSITION><![CDATA[92]]></POSITION>
<!--66406AFAB96F42BDBB4E5ED8C541DD2F--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
<!--66406AFAB96F42BDBB4E5ED8C541DD2F--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
<!--66406AFAB96F42BDBB4E5ED8C541DD2F--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
@@ -4484,6 +4518,39 @@
<!--6E57665F77324B6097F953BD4ED9F392--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
<!--6E57665F77324B6097F953BD4ED9F392--></AD_COLUMN>
+<!--6FBEFE33D22840FCB66E88F6F167F563--><AD_COLUMN>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <AD_COLUMN_ID><![CDATA[6FBEFE33D22840FCB66E88F6F167F563]]></AD_COLUMN_ID>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <NAME><![CDATA[EM_Obpos_QtyDeleted]]></NAME>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <COLUMNNAME><![CDATA[EM_Obpos_Qtydeleted]]></COLUMNNAME>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <AD_TABLE_ID><![CDATA[260]]></AD_TABLE_ID>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <AD_REFERENCE_ID><![CDATA[29]]></AD_REFERENCE_ID>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <FIELDLENGTH><![CDATA[2]]></FIELDLENGTH>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISKEY><![CDATA[N]]></ISKEY>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <SEQNO><![CDATA[224]]></SEQNO>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <AD_ELEMENT_ID><![CDATA[6A1DA6DF767046138EAAA6A7E72E7B97]]></AD_ELEMENT_ID>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <POSITION><![CDATA[69]]></POSITION>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--6FBEFE33D22840FCB66E88F6F167F563--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--6FBEFE33D22840FCB66E88F6F167F563--></AD_COLUMN>
+
<!--7049558C53FA467CA95B85002146375F--><AD_COLUMN>
<!--7049558C53FA467CA95B85002146375F--> <AD_COLUMN_ID><![CDATA[7049558C53FA467CA95B85002146375F]]></AD_COLUMN_ID>
<!--7049558C53FA467CA95B85002146375F--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -5646,7 +5713,7 @@
<!--93F5667B9B9E46B6B296494FFDF239D4--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
<!--93F5667B9B9E46B6B296494FFDF239D4--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
<!--93F5667B9B9E46B6B296494FFDF239D4--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
-<!--93F5667B9B9E46B6B296494FFDF239D4--> <POSITION><![CDATA[87]]></POSITION>
+<!--93F5667B9B9E46B6B296494FFDF239D4--> <POSITION><![CDATA[88]]></POSITION>
<!--93F5667B9B9E46B6B296494FFDF239D4--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
<!--93F5667B9B9E46B6B296494FFDF239D4--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
<!--93F5667B9B9E46B6B296494FFDF239D4--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
@@ -6742,6 +6809,7 @@
<!--AE12B7BEB2AA47A3BE1163F106EE15AE--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
<!--AE12B7BEB2AA47A3BE1163F106EE15AE--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
<!--AE12B7BEB2AA47A3BE1163F106EE15AE--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--AE12B7BEB2AA47A3BE1163F106EE15AE--> <POSITION><![CDATA[93]]></POSITION>
<!--AE12B7BEB2AA47A3BE1163F106EE15AE--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
<!--AE12B7BEB2AA47A3BE1163F106EE15AE--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
<!--AE12B7BEB2AA47A3BE1163F106EE15AE--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
@@ -8193,7 +8261,7 @@
<!--D553035730FF4333A2F7C2A463F8B190--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
<!--D553035730FF4333A2F7C2A463F8B190--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
<!--D553035730FF4333A2F7C2A463F8B190--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
-<!--D553035730FF4333A2F7C2A463F8B190--> <POSITION><![CDATA[88]]></POSITION>
+<!--D553035730FF4333A2F7C2A463F8B190--> <POSITION><![CDATA[91]]></POSITION>
<!--D553035730FF4333A2F7C2A463F8B190--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
<!--D553035730FF4333A2F7C2A463F8B190--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
<!--D553035730FF4333A2F7C2A463F8B190--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
@@ -9020,6 +9088,40 @@
<!--E4C3F95A4B5A4B0ABA5730745EE88CC2--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
<!--E4C3F95A4B5A4B0ABA5730745EE88CC2--></AD_COLUMN>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--><AD_COLUMN>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <AD_COLUMN_ID><![CDATA[E4EE550BD2EC4CA19E0DE242A35BFAE8]]></AD_COLUMN_ID>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <NAME><![CDATA[EM_Obpos_IsDeleted]]></NAME>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <COLUMNNAME><![CDATA[EM_Obpos_Isdeleted]]></COLUMNNAME>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <AD_TABLE_ID><![CDATA[260]]></AD_TABLE_ID>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <DEFAULTVALUE><![CDATA[N]]></DEFAULTVALUE>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISKEY><![CDATA[N]]></ISKEY>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISUPDATEABLE><![CDATA[N]]></ISUPDATEABLE>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <SEQNO><![CDATA[214]]></SEQNO>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <AD_ELEMENT_ID><![CDATA[85311A4FB6C14AC59ABDBEF5EF712EF9]]></AD_ELEMENT_ID>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <POSITION><![CDATA[68]]></POSITION>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--E4EE550BD2EC4CA19E0DE242A35BFAE8--></AD_COLUMN>
+
<!--E6A18CAF2E324242A1A3DFC4755FC49C--><AD_COLUMN>
<!--E6A18CAF2E324242A1A3DFC4755FC49C--> <AD_COLUMN_ID><![CDATA[E6A18CAF2E324242A1A3DFC4755FC49C]]></AD_COLUMN_ID>
<!--E6A18CAF2E324242A1A3DFC4755FC49C--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 87dcf1f61d9d src-db/database/sourcedata/AD_ELEMENT.xml
--- a/src-db/database/sourcedata/AD_ELEMENT.xml Wed Jun 03 09:25:48 2015 +0200
+++ b/src-db/database/sourcedata/AD_ELEMENT.xml Thu Jun 04 16:14:02 2015 +0200
@@ -645,6 +645,18 @@
<!--6722815581AD468BAFAB517BB2AC2003--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
<!--6722815581AD468BAFAB517BB2AC2003--></AD_ELEMENT>
+<!--6A1DA6DF767046138EAAA6A7E72E7B97--><AD_ELEMENT>
+<!--6A1DA6DF767046138EAAA6A7E72E7B97--> <AD_ELEMENT_ID><![CDATA[6A1DA6DF767046138EAAA6A7E72E7B97]]></AD_ELEMENT_ID>
+<!--6A1DA6DF767046138EAAA6A7E72E7B97--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--6A1DA6DF767046138EAAA6A7E72E7B97--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--6A1DA6DF767046138EAAA6A7E72E7B97--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--6A1DA6DF767046138EAAA6A7E72E7B97--> <COLUMNNAME><![CDATA[EM_Obpos_Qtydeleted]]></COLUMNNAME>
+<!--6A1DA6DF767046138EAAA6A7E72E7B97--> <NAME><![CDATA[Quantity Deleted]]></NAME>
+<!--6A1DA6DF767046138EAAA6A7E72E7B97--> <PRINTNAME><![CDATA[Quantity Deleted]]></PRINTNAME>
+<!--6A1DA6DF767046138EAAA6A7E72E7B97--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--6A1DA6DF767046138EAAA6A7E72E7B97--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--6A1DA6DF767046138EAAA6A7E72E7B97--></AD_ELEMENT>
+
<!--6C7C3521C10D4DEBAB4450F2E44AC299--><AD_ELEMENT>
<!--6C7C3521C10D4DEBAB4450F2E44AC299--> <AD_ELEMENT_ID><![CDATA[6C7C3521C10D4DEBAB4450F2E44AC299]]></AD_ELEMENT_ID>
<!--6C7C3521C10D4DEBAB4450F2E44AC299--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -933,6 +945,18 @@
<!--8430BB8113094DA3975CF8257E3B62F1--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
<!--8430BB8113094DA3975CF8257E3B62F1--></AD_ELEMENT>
+<!--85311A4FB6C14AC59ABDBEF5EF712EF9--><AD_ELEMENT>
+<!--85311A4FB6C14AC59ABDBEF5EF712EF9--> <AD_ELEMENT_ID><![CDATA[85311A4FB6C14AC59ABDBEF5EF712EF9]]></AD_ELEMENT_ID>
+<!--85311A4FB6C14AC59ABDBEF5EF712EF9--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--85311A4FB6C14AC59ABDBEF5EF712EF9--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--85311A4FB6C14AC59ABDBEF5EF712EF9--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--85311A4FB6C14AC59ABDBEF5EF712EF9--> <COLUMNNAME><![CDATA[EM_Obpos_Isdeleted]]></COLUMNNAME>
+<!--85311A4FB6C14AC59ABDBEF5EF712EF9--> <NAME><![CDATA[Deleted]]></NAME>
+<!--85311A4FB6C14AC59ABDBEF5EF712EF9--> <PRINTNAME><![CDATA[Deleted]]></PRINTNAME>
+<!--85311A4FB6C14AC59ABDBEF5EF712EF9--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--85311A4FB6C14AC59ABDBEF5EF712EF9--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--85311A4FB6C14AC59ABDBEF5EF712EF9--></AD_ELEMENT>
+
<!--86400A5A48164C0D9668D3377F40137E--><AD_ELEMENT>
<!--86400A5A48164C0D9668D3377F40137E--> <AD_ELEMENT_ID><![CDATA[86400A5A48164C0D9668D3377F40137E]]></AD_ELEMENT_ID>
<!--86400A5A48164C0D9668D3377F40137E--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 87dcf1f61d9d src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml Wed Jun 03 09:25:48 2015 +0200
+++ b/src-db/database/sourcedata/AD_FIELD.xml Thu Jun 04 16:14:02 2015 +0200
@@ -1756,6 +1756,33 @@
<!--3B30D8CB3CE94B81948A565A2C719DF2--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--3B30D8CB3CE94B81948A565A2C719DF2--></AD_FIELD>
+<!--3BC406477F5043B3807EA3E678036B82--><AD_FIELD>
+<!--3BC406477F5043B3807EA3E678036B82--> <AD_FIELD_ID><![CDATA[3BC406477F5043B3807EA3E678036B82]]></AD_FIELD_ID>
+<!--3BC406477F5043B3807EA3E678036B82--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--3BC406477F5043B3807EA3E678036B82--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--3BC406477F5043B3807EA3E678036B82--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--3BC406477F5043B3807EA3E678036B82--> <NAME><![CDATA[Quantity Deleted]]></NAME>
+<!--3BC406477F5043B3807EA3E678036B82--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--3BC406477F5043B3807EA3E678036B82--> <AD_TAB_ID><![CDATA[187]]></AD_TAB_ID>
+<!--3BC406477F5043B3807EA3E678036B82--> <AD_COLUMN_ID><![CDATA[6FBEFE33D22840FCB66E88F6F167F563]]></AD_COLUMN_ID>
+<!--3BC406477F5043B3807EA3E678036B82--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--3BC406477F5043B3807EA3E678036B82--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--3BC406477F5043B3807EA3E678036B82--> <DISPLAYLOGIC><![CDATA[@EM_Obpos_Qtydeleted@!'']]></DISPLAYLOGIC>
+<!--3BC406477F5043B3807EA3E678036B82--> <DISPLAYLENGTH><![CDATA[2]]></DISPLAYLENGTH>
+<!--3BC406477F5043B3807EA3E678036B82--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--3BC406477F5043B3807EA3E678036B82--> <SEQNO><![CDATA[35]]></SEQNO>
+<!--3BC406477F5043B3807EA3E678036B82--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--3BC406477F5043B3807EA3E678036B82--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--3BC406477F5043B3807EA3E678036B82--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--3BC406477F5043B3807EA3E678036B82--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--3BC406477F5043B3807EA3E678036B82--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--3BC406477F5043B3807EA3E678036B82--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--3BC406477F5043B3807EA3E678036B82--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--3BC406477F5043B3807EA3E678036B82--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--3BC406477F5043B3807EA3E678036B82--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--3BC406477F5043B3807EA3E678036B82--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--3BC406477F5043B3807EA3E678036B82--></AD_FIELD>
+
<!--3DC639A08B0E434F8727F0BF480C4CA5--><AD_FIELD>
<!--3DC639A08B0E434F8727F0BF480C4CA5--> <AD_FIELD_ID><![CDATA[3DC639A08B0E434F8727F0BF480C4CA5]]></AD_FIELD_ID>
<!--3DC639A08B0E434F8727F0BF480C4CA5--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -4139,6 +4166,32 @@
<!--A06E81945010460191C6DC9364392EC5--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--A06E81945010460191C6DC9364392EC5--></AD_FIELD>
+<!--A0889D9FD1D94CCB93646A37913A5481--><AD_FIELD>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <AD_FIELD_ID><![CDATA[A0889D9FD1D94CCB93646A37913A5481]]></AD_FIELD_ID>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <NAME><![CDATA[Deleted]]></NAME>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <AD_TAB_ID><![CDATA[187]]></AD_TAB_ID>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <AD_COLUMN_ID><![CDATA[E4EE550BD2EC4CA19E0DE242A35BFAE8]]></AD_COLUMN_ID>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <SEQNO><![CDATA[114]]></SEQNO>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--A0889D9FD1D94CCB93646A37913A5481--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--A0889D9FD1D94CCB93646A37913A5481--></AD_FIELD>
+
<!--A0D6BD04FAB24472B53450AA128C81D7--><AD_FIELD>
<!--A0D6BD04FAB24472B53450AA128C81D7--> <AD_FIELD_ID><![CDATA[A0D6BD04FAB24472B53450AA128C81D7]]></AD_FIELD_ID>
<!--A0D6BD04FAB24472B53450AA128C81D7--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -4340,6 +4393,32 @@
<!--A9FC9FC0D8FE4595BE2290F1D1A3C789--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--A9FC9FC0D8FE4595BE2290F1D1A3C789--></AD_FIELD>
+<!--AB983F87885841AEAB248AF7561B299C--><AD_FIELD>
+<!--AB983F87885841AEAB248AF7561B299C--> <AD_FIELD_ID><![CDATA[AB983F87885841AEAB248AF7561B299C]]></AD_FIELD_ID>
+<!--AB983F87885841AEAB248AF7561B299C--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--AB983F87885841AEAB248AF7561B299C--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--AB983F87885841AEAB248AF7561B299C--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--AB983F87885841AEAB248AF7561B299C--> <NAME><![CDATA[Deleted]]></NAME>
+<!--AB983F87885841AEAB248AF7561B299C--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--AB983F87885841AEAB248AF7561B299C--> <AD_TAB_ID><![CDATA[186]]></AD_TAB_ID>
+<!--AB983F87885841AEAB248AF7561B299C--> <AD_COLUMN_ID><![CDATA[1CA15CA09A33480C8374070E2B904D70]]></AD_COLUMN_ID>
+<!--AB983F87885841AEAB248AF7561B299C--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--AB983F87885841AEAB248AF7561B299C--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--AB983F87885841AEAB248AF7561B299C--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
+<!--AB983F87885841AEAB248AF7561B299C--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--AB983F87885841AEAB248AF7561B299C--> <SEQNO><![CDATA[2160]]></SEQNO>
+<!--AB983F87885841AEAB248AF7561B299C--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--AB983F87885841AEAB248AF7561B299C--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--AB983F87885841AEAB248AF7561B299C--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--AB983F87885841AEAB248AF7561B299C--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--AB983F87885841AEAB248AF7561B299C--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--AB983F87885841AEAB248AF7561B299C--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--AB983F87885841AEAB248AF7561B299C--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--AB983F87885841AEAB248AF7561B299C--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--AB983F87885841AEAB248AF7561B299C--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--AB983F87885841AEAB248AF7561B299C--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--AB983F87885841AEAB248AF7561B299C--></AD_FIELD>
+
<!--AC70B793316A4C9B868D901EA3899237--><AD_FIELD>
<!--AC70B793316A4C9B868D901EA3899237--> <AD_FIELD_ID><![CDATA[AC70B793316A4C9B868D901EA3899237]]></AD_FIELD_ID>
<!--AC70B793316A4C9B868D901EA3899237--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 87dcf1f61d9d src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml Wed Jun 03 09:25:48 2015 +0200
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml Thu Jun 04 16:14:02 2015 +0200
@@ -1146,7 +1146,7 @@
<!--353E2EBF2E294C8DBD7547F6DE075A98--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
<!--353E2EBF2E294C8DBD7547F6DE075A98--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
<!--353E2EBF2E294C8DBD7547F6DE075A98--> <VALUE><![CDATA[OBPOS_approval.removereceipts]]></VALUE>
-<!--353E2EBF2E294C8DBD7547F6DE075A98--> <MSGTEXT><![CDATA[Removing these receipts needs management approval.]]></MSGTEXT>
+<!--353E2EBF2E294C8DBD7547F6DE075A98--> <MSGTEXT><![CDATA[Removing this receipt needs management approval.]]></MSGTEXT>
<!--353E2EBF2E294C8DBD7547F6DE075A98--> <MSGTYPE><![CDATA[I]]></MSGTYPE>
<!--353E2EBF2E294C8DBD7547F6DE075A98--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
<!--353E2EBF2E294C8DBD7547F6DE075A98--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
@@ -1818,7 +1818,7 @@
<!--4E0BA69B7BB1418EBC73F831B4026C43--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
<!--4E0BA69B7BB1418EBC73F831B4026C43--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
<!--4E0BA69B7BB1418EBC73F831B4026C43--> <VALUE><![CDATA[OBPOS_approval.cashupremovereceipts]]></VALUE>
-<!--4E0BA69B7BB1418EBC73F831B4026C43--> <MSGTEXT><![CDATA[Removing these receipts needs management approval.]]></MSGTEXT>
+<!--4E0BA69B7BB1418EBC73F831B4026C43--> <MSGTEXT><![CDATA[Removing these receipts need management approval.]]></MSGTEXT>
<!--4E0BA69B7BB1418EBC73F831B4026C43--> <MSGTYPE><![CDATA[I]]></MSGTYPE>
<!--4E0BA69B7BB1418EBC73F831B4026C43--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
<!--4E0BA69B7BB1418EBC73F831B4026C43--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
diff -r 87dcf1f61d9d src-db/database/sourcedata/AD_PREFERENCE.xml
--- a/src-db/database/sourcedata/AD_PREFERENCE.xml Wed Jun 03 09:25:48 2015 +0200
+++ b/src-db/database/sourcedata/AD_PREFERENCE.xml Thu Jun 04 16:14:02 2015 +0200
@@ -77,6 +77,17 @@
<!--14B3257F4C0F40B98712341F6492988A--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
<!--14B3257F4C0F40B98712341F6492988A--></AD_PREFERENCE>
+<!--155D5B41652A4129A390BB395B32B29A--><AD_PREFERENCE>
+<!--155D5B41652A4129A390BB395B32B29A--> <AD_PREFERENCE_ID><![CDATA[155D5B41652A4129A390BB395B32B29A]]></AD_PREFERENCE_ID>
+<!--155D5B41652A4129A390BB395B32B29A--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--155D5B41652A4129A390BB395B32B29A--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--155D5B41652A4129A390BB395B32B29A--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--155D5B41652A4129A390BB395B32B29A--> <VALUE><![CDATA[Y]]></VALUE>
+<!--155D5B41652A4129A390BB395B32B29A--> <PROPERTY><![CDATA[OBPOS_remove_ticket]]></PROPERTY>
+<!--155D5B41652A4129A390BB395B32B29A--> <ISPROPERTYLIST><![CDATA[Y]]></ISPROPERTYLIST>
+<!--155D5B41652A4129A390BB395B32B29A--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--155D5B41652A4129A390BB395B32B29A--></AD_PREFERENCE>
+
<!--16D197BA16AB45899C7003E4698420CE--><AD_PREFERENCE>
<!--16D197BA16AB45899C7003E4698420CE--> <AD_PREFERENCE_ID><![CDATA[16D197BA16AB45899C7003E4698420CE]]></AD_PREFERENCE_ID>
<!--16D197BA16AB45899C7003E4698420CE--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 87dcf1f61d9d src-db/database/sourcedata/AD_REF_LIST.xml
--- a/src-db/database/sourcedata/AD_REF_LIST.xml Wed Jun 03 09:25:48 2015 +0200
+++ b/src-db/database/sourcedata/AD_REF_LIST.xml Thu Jun 04 16:14:02 2015 +0200
@@ -112,6 +112,17 @@
<!--1C47151F141F4DD1AF1A18E85F15F4A4--> <SEQNO><![CDATA[10]]></SEQNO>
<!--1C47151F141F4DD1AF1A18E85F15F4A4--></AD_REF_LIST>
+<!--1E62E5FDAAF24C5DB8878B8E0786C47D--><AD_REF_LIST>
+<!--1E62E5FDAAF24C5DB8878B8E0786C47D--> <AD_REF_LIST_ID><![CDATA[1E62E5FDAAF24C5DB8878B8E0786C47D]]></AD_REF_LIST_ID>
+<!--1E62E5FDAAF24C5DB8878B8E0786C47D--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--1E62E5FDAAF24C5DB8878B8E0786C47D--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--1E62E5FDAAF24C5DB8878B8E0786C47D--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--1E62E5FDAAF24C5DB8878B8E0786C47D--> <VALUE><![CDATA[OBPOS_remove_ticket]]></VALUE>
+<!--1E62E5FDAAF24C5DB8878B8E0786C47D--> <NAME><![CDATA[Web POS Save Removed Tickets]]></NAME>
+<!--1E62E5FDAAF24C5DB8878B8E0786C47D--> <AD_REFERENCE_ID><![CDATA[A26BA480E2014707B47257024C3CBFF7]]></AD_REFERENCE_ID>
+<!--1E62E5FDAAF24C5DB8878B8E0786C47D--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--1E62E5FDAAF24C5DB8878B8E0786C47D--></AD_REF_LIST>
+
<!--2076E11B7C3D44CFA6C32EF1A3475EAC--><AD_REF_LIST>
<!--2076E11B7C3D44CFA6C32EF1A3475EAC--> <AD_REF_LIST_ID><![CDATA[2076E11B7C3D44CFA6C32EF1A3475EAC]]></AD_REF_LIST_ID>
<!--2076E11B7C3D44CFA6C32EF1A3475EAC--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 87dcf1f61d9d src-test/org/openbravo/retail/posterminal/OBBaseRetailTest.java
--- a/src-test/org/openbravo/retail/posterminal/OBBaseRetailTest.java Wed Jun 03 09:25:48 2015 +0200
+++ b/src-test/org/openbravo/retail/posterminal/OBBaseRetailTest.java Thu Jun 04 16:14:02 2015 +0200
@@ -22,7 +22,6 @@
import org.openbravo.base.secureApp.VariablesSecureApp;
import org.openbravo.client.kernel.RequestContext;
import org.openbravo.dal.core.OBContext;
-import org.openbravo.test.base.OBBaseTest;
/**
* Base unit test for retail
diff -r 87dcf1f61d9d src-test/org/openbravo/retail/posterminal/POSOrderCashupPerformanceTest.java
--- a/src-test/org/openbravo/retail/posterminal/POSOrderCashupPerformanceTest.java Wed Jun 03 09:25:48 2015 +0200
+++ b/src-test/org/openbravo/retail/posterminal/POSOrderCashupPerformanceTest.java Thu Jun 04 16:14:02 2015 +0200
@@ -23,6 +23,12 @@
import org.openbravo.model.common.invoice.Invoice;
import org.openbravo.model.common.order.Order;
import org.openbravo.model.materialmgmt.transaction.ShipmentInOut;
+import org.openbravo.retail.posterminal.CashCloseProcessor;
+import org.openbravo.retail.posterminal.OBBaseRetailTest;
+import org.openbravo.retail.posterminal.OBPOSAppCashup;
+import org.openbravo.retail.posterminal.OBPOSApplications;
+import org.openbravo.retail.posterminal.OrderLoader;
+import org.openbravo.retail.posterminal.ProcessCashClose;
/**
* A testcase of testing performance of order loading and cashups.
diff -r 87dcf1f61d9d src-test/org/openbravo/retail/posterminal/deleteTickets/DeleteTickets.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src-test/org/openbravo/retail/posterminal/deleteTickets/DeleteTickets.java Thu Jun 04 16:14:02 2015 +0200
@@ -0,0 +1,162 @@
+/*
+ ************************************************************************************
+ * Copyright (C) 2014 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.
+ ************************************************************************************
+ */
+package org.openbravo.retail.posterminal.deleteTickets;
+
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import javax.enterprise.inject.Instance;
+
+import org.apache.commons.io.IOUtils;
+import org.codehaus.jettison.json.JSONException;
+import org.codehaus.jettison.json.JSONObject;
+import org.junit.Assert;
+import org.junit.Test;
+import org.openbravo.dal.core.OBContext;
+import org.openbravo.dal.service.OBDal;
+import org.openbravo.data.UtilSql;
+import org.openbravo.database.ConnectionProvider;
+import org.openbravo.erpCommon.utility.SequenceIdData;
+import org.openbravo.model.common.invoice.Invoice;
+import org.openbravo.model.common.order.Order;
+import org.openbravo.model.materialmgmt.transaction.ShipmentInOut;
+import org.openbravo.retail.posterminal.OBBaseRetailTest;
+import org.openbravo.retail.posterminal.OrderLoader;
+import org.openbravo.retail.posterminal.ProcessCashClose;
+
+/**
+ * A testcase of testing performance of order loading and cashups.
+ *
+ * This testcase uses several json files (see same package). The json has been captured/printed in
+ * the saveRecord methods of the {@link OrderLoader} and the {@link ProcessCashClose}. The json was
+ * manually changed by replacing the order id and cashup id in the json files with the variables:
+ * $orderId and $cashupId. Note the order json has both an order id as well as a cashup id.
+ *
+ * @author mtaal
+ */
+public class DeleteTickets extends OBBaseRetailTest {
+
+ @Test
+ public void orderLoaderCreatingDelTickets() throws Exception {
+
+ String standardOrder = IOUtils.toString(this.getClass()
+ .getResourceAsStream("del_order_wt.json"));
+ String standarOrderWDiscounts = IOUtils.toString(this.getClass().getResourceAsStream(
+ "del_order_wt_wdis.json"));
+ String standardOrderWTaxes = IOUtils.toString(this.getClass().getResourceAsStream(
+ "del_order_wout.json"));
+ String standarOrderWDiscountsWTaxes = IOUtils.toString(this.getClass().getResourceAsStream(
+ "del_order_wout_wdis.json"));
+
+ // warmup
+ loadOneOrder(standardOrder);
+ loadOneOrder(standarOrderWDiscounts);
+ loadOneOrder(standardOrderWTaxes);
+ loadOneOrder(standarOrderWDiscountsWTaxes);
+
+ // Get documentno's of the orders
+ ArrayList<String> documentno = new ArrayList<String>();
+ documentno.add(getDocumentno(standardOrder));
+ documentno.add(getDocumentno(standardOrder));
+ documentno.add(getDocumentno(standardOrder));
+ documentno.add(getDocumentno(standardOrder));
+
+ final String sql = "select o.em_obpos_isdeleted headerDeleted, "
+ + "ol.em_obpos_isdeleted lineDeleted, ol.em_obpos_qtydeleted, "
+ + "o.grandtotal, o.totallines, o.docstatus, amtoffer "
+ + "from c_order o, c_orderline ol left join (select sum(amtoffer) amtoffer,olo.c_orderline_id "
+ + "from c_orderline_offer olo group by olo.c_orderline_id) as offer on ol.c_orderline_id = offer.c_orderline_id "
+ + "where o.c_order_id = ol.c_order_id "
+ + "and documentno = 'DocumentToBeReplaced' order by o.created desc limit 1";
+
+ ConnectionProvider connectionProvider = getConnectionProvider();
+ PreparedStatement st;
+ ResultSet result;
+ String query;
+ HashMap<String, String> queryResult = null;
+ for (String document : documentno) {
+ query = sql.replace("DocumentToBeReplaced", document);
+ st = connectionProvider.getPreparedStatement(query);
+ result = st.executeQuery();
+ if (result.next()) {
+ queryResult = getResult(result);
+ }
+ verifyResult(queryResult);
+ result.close();
+ }
+
+ }
+
+ private void verifyResult(HashMap<String, String> queryResult) {
+ Assert.assertEquals("Y", queryResult.get("headerDeleted"));
+ Assert.assertEquals("Y", queryResult.get("lineDeleted"));
+ Assert.assertEquals("1", queryResult.get("em_obpos_qtydeleted"));
+ Assert.assertEquals("0", queryResult.get("grandtotal"));
+ Assert.assertEquals("0", queryResult.get("totallines"));
+ Assert.assertEquals("CL", queryResult.get("docstatus"));
+ if (!queryResult.get("amtoffer").isEmpty()) {
+ Assert.assertEquals("0", queryResult.get("amtoffer"));
+ }
+ }
+
+ private HashMap<String, String> getResult(ResultSet result) {
+ HashMap<String, String> arrayResult = new HashMap<String, String>();
+ try {
+ arrayResult.put("headerDeleted", UtilSql.getValue(result, "headerDeleted"));
+ arrayResult.put("lineDeleted", UtilSql.getValue(result, "lineDeleted"));
+ arrayResult.put("em_obpos_qtydeleted", UtilSql.getValue(result, "em_obpos_qtydeleted"));
+ arrayResult.put("grandtotal", UtilSql.getValue(result, "grandtotal"));
+ arrayResult.put("totallines", UtilSql.getValue(result, "totallines"));
+ arrayResult.put("docstatus", UtilSql.getValue(result, "docstatus"));
+ arrayResult.put("amtoffer", UtilSql.getValue(result, "amtoffer"));
+ } catch (SQLException e) {
+ }
+ return arrayResult;
+ }
+
+ private String getDocumentno(String order) {
+ JSONObject orderJS = null;
+ String result = null;
+ try {
+ orderJS = new JSONObject(order);
+ result = ((String) orderJS.get("documentNo")).replace("\\", "");
+ } catch (JSONException e) {
+
+ }
+ return result;
+ }
+
+ private String getUUID() {
+ return SequenceIdData.getUUID();
+ }
+
+ private void loadOneOrder(String orderJson) throws Exception {
+ OBContext.setAdminMode(true);
+ try {
+ String orderJsonToLoad = orderJson.replace("$orderId", getUUID());
+ getOrderLoader().saveRecord(new JSONObject(orderJsonToLoad));
+ OBDal.getInstance().commitAndClose();
+ } finally {
+ OBContext.restorePreviousMode();
+ }
+ }
+
+ protected OrderLoader getOrderLoader() {
+ // override execute hooks as we Weld test environment needs to be updated to support
+ // dependency injected hooks
+ return new OrderLoader() {
+ protected void executeHooks(Instance<? extends Object> hooks, JSONObject jsonorder,
+ Order order, ShipmentInOut shipment, Invoice invoice) throws Exception {
+ }
+ };
+ }
+}
diff -r 87dcf1f61d9d src-test/org/openbravo/retail/posterminal/deleteTickets/del_order_wout.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src-test/org/openbravo/retail/posterminal/deleteTickets/del_order_wout.json Thu Jun 04 16:14:02 2015 +0200
@@ -0,0 +1,1 @@
+{"hasbeenpaid":"Y","isbeingprocessed":"N","id":"5B1EEC0957CA3C2DE6F414BE83650019","client":"39363B0921BB4293B48383844325E84C","organization":"B5DE96143D6642228E3B9DEC69886A47","createdBy":"B8D524AE26F245A0B8FA4407CCB78ED7","updatedBy":"B8D524AE26F245A0B8FA4407CCB78ED7","documentType":"1D252C36D16F4EF0A32CE4FC24F14759","orderType":0,"generateInvoice":false,"isQuotation":false,"oldId":null,"priceList":"8A22922DD19F4EB2984F3E487558F88F","priceIncludesTax":false,"currency":"102","currency$_identifier":"EUR","session":"30D39C32CDB65E584A5738CE52CDA22D","warehouse":"0B3E1D8D0FCB44FB81EA1A3FF158B086","salesRepresentative":"B8D524AE26F245A0B8FA4407CCB78ED7","salesRepresentative$_identifier":"Posets Store User","posTerminal":"7AEE148E334346C6A1783822A1306BB3","posTerminal$_identifier":"PS POS Terminal","orderDate":"2015-05-29T11:00:17.179Z","creationDate":"2015-05-29T11:00:38.093Z","documentnoPrefix":"PS1","quotationnoPrefix":-1,"documentnoSuffix":12,"quotationnoSuffix":-1,"documentNo":"PS1\/0000012","bp":{"id":"4CB3519D76E4404A9D2BE36A5D8AC3EE","organization":"B5DE96143D6642228E3B9DEC69886A47","searchKey":"PS\/C0001","_identifier":"PS Customer","name":"PS Customer","firstName":"PS Customer","lastName":null,"description":null,"taxID":null,"taxCategory":null,"paymentMethod":"45A202BF44884F05B8A1BF741E2063B6","paymentTerms":"D8955F8808A54C63BBF478A6843D834D","priceList ":"undefined","invoiceTerms":"I","locId":"9D9B26422C6546929FBA69F7742D231C","locName":"Plaza Mayor 1","postalCode":null,"cityName":"Cádiz","countryName":"Spain","contactId":"2567059790B54460AD7D8AFED2E23A71","phone":null,"email":null,"businessPartnerCategory":"B1DD8B371643421C987EF1D5B358D5E9","businessPartnerCategory_name":"Customer","creditLimit":0,"creditUsed":0,"taxExempt":false,"customerBlocking":false,"salesOrderBlocking":true,"undefined":"PS Customer###Plaza Mayor 1###","_idx":3},"lines":[{"product":{"id":"AC79520FEB4743B3AAA379BF70B9B7DA","searchkey":"WVG\/B0017","uPCEAN":"2112345000046","uOM":"100","uOMsymbol":"Ud ","productCategory":"0C20B3F7AB234915B2239FCD8BE10CD1","taxCategory":"FF80818123B7FC160123B804AB88000B","description":"Disposable body warmers.","obposScale":false,"groupProduct":true,"stocked":true,"showstock":false,"isGeneric":false,"generic_product_id":null,"brand":"C7B171B9289C4677829A13D7FAACE4F6","characteristicDescription":"Object: First-Aid, Price: < 20€, Use: High Mountaineering & Expeditions, Hiking & Trekking, Weight: Under 1Kg","showchdesc":true,"bestseller":false,"ispack":false,"listPrice":3.6,"standardPrice":3.6,"priceLimit":3.6,"cost":0,"algorithm":"S","_identifier":"Adhesive body warmers","undefined":"WVG\/B0017###2112345000046###Adhesive body warmers###","_idx":0,"originalStandardPrice":3.6},"productidentifier":null,"uOM":"100","qty":1,"price":3.6,"priceList":3.6,"gross":4.36,"net":3.6,"description":"","id":"98530149E65E265C58892029605C4E94","priceIncludesTax":false,"warehouse":{"id":"0B3E1D8D0FCB44FB81EA1A3FF158B086","warehousename":"Posets Store Warehouse"},"promotions":[],"grossListPrice":3.6,"promotionCandidates":null,"promotionMessages":[],"noDiscountCandidates":true,"linerate":1.21,"tax":"5235D8E99A2749EFA17A5C92A52AEFC6","pricenet":3.6,"fullgross":{"ind":1,"form":0,"mant":[4,3,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"exp":-21},"discountedGross":4.36,"discountedNet":3.6,"taxAmount":0.76,"discountedNetPrice":{"ind":1,"form":0,"mant":[3,6],"exp":-1},"taxLines":{"5235D8E99A2749EFA17A5C92A52AEFC6":{"name":"Entregas IVA 21%","rate":21,"net":3.6,"amount":0.76}},"obposQtyDeleted":1,"obposIsDeleted":true}],"payments":[],"payment":0,"change":0,"qty":1,"gross":4.36,"net":3.6,"taxes":{"5235D8E99A2749EFA17A5C92A52AEFC6":{"name":"Entregas IVA 21%","rate":21,"net":3.6,"amount":0.76}},"description":"","print":true,"sendEmail":false,"isPaid":false,"paidOnCredit":false,"isLayaway":false,"isEditable":true,"openDrawer":false,"totalamount":null,"approvals":[],"isNewReceipt":false,"cloningReceipt":false,"obposIsDeleted":true,"timezoneOffset":-120,"created":1432897238093,"obposCreatedabsolute":"2015-05-29 13:00:38.093","obposAppCashup":"FB789FDD77F1C762D5DA0035F85D5521"}
\ No newline at end of file
diff -r 87dcf1f61d9d src-test/org/openbravo/retail/posterminal/deleteTickets/del_order_wout_wdis.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src-test/org/openbravo/retail/posterminal/deleteTickets/del_order_wout_wdis.json Thu Jun 04 16:14:02 2015 +0200
@@ -0,0 +1,1 @@
+{"hasbeenpaid":"Y","isbeingprocessed":"N","id":"817A4A6FE07004CC505E766D60906AE1","client":"39363B0921BB4293B48383844325E84C","organization":"B5DE96143D6642228E3B9DEC69886A47","createdBy":"B8D524AE26F245A0B8FA4407CCB78ED7","updatedBy":"B8D524AE26F245A0B8FA4407CCB78ED7","documentType":"1D252C36D16F4EF0A32CE4FC24F14759","orderType":0,"generateInvoice":false,"isQuotation":false,"oldId":null,"priceList":"8A22922DD19F4EB2984F3E487558F88F","priceIncludesTax":false,"currency":"102","currency$_identifier":"EUR","session":"30D39C32CDB65E584A5738CE52CDA22D","warehouse":"0B3E1D8D0FCB44FB81EA1A3FF158B086","salesRepresentative":"B8D524AE26F245A0B8FA4407CCB78ED7","salesRepresentative$_identifier":"Posets Store User","posTerminal":"7AEE148E334346C6A1783822A1306BB3","posTerminal$_identifier":"PS POS Terminal","orderDate":"2015-05-29T11:00:38.167Z","creationDate":"2015-05-29T11:01:11.399Z","documentnoPrefix":"PS1","quotationnoPrefix":-1,"documentnoSuffix":13,"quotationnoSuffix":-1,"documentNo":"PS1\/0000013","bp":{"id":"4CB3519D76E4404A9D2BE36A5D8AC3EE","organization":"B5DE96143D6642228E3B9DEC69886A47","searchKey":"PS\/C0001","_identifier":"PS Customer","name":"PS Customer","firstName":"PS Customer","lastName":null,"description":null,"taxID":null,"taxCategory":null,"paymentMethod":"45A202BF44884F05B8A1BF741E2063B6","paymentTerms":"D8955F8808A54C63BBF478A6843D834D","priceList ":"undefined","invoiceTerms":"I","locId":"9D9B26422C6546929FBA69F7742D231C","locName":"Plaza Mayor 1","postalCode":null,"cityName":"Cádiz","countryName":"Spain","contactId":"2567059790B54460AD7D8AFED2E23A71","phone":null,"email":null,"businessPartnerCategory":"B1DD8B371643421C987EF1D5B358D5E9","businessPartnerCategory_name":"Customer","creditLimit":0,"creditUsed":0,"taxExempt":false,"customerBlocking":false,"salesOrderBlocking":true,"undefined":"PS Customer###Plaza Mayor 1###","_idx":3},"lines":[{"product":{"id":"AC79520FEB4743B3AAA379BF70B9B7DA","searchkey":"WVG\/B0017","uPCEAN":"2112345000046","uOM":"100","uOMsymbol":"Ud ","productCategory":"0C20B3F7AB234915B2239FCD8BE10CD1","taxCategory":"FF80818123B7FC160123B804AB88000B","description":"Disposable body warmers.","obposScale":false,"groupProduct":true,"stocked":true,"showstock":false,"isGeneric":false,"generic_product_id":null,"brand":"C7B171B9289C4677829A13D7FAACE4F6","characteristicDescription":"Object: First-Aid, Price: < 20€, Use: High Mountaineering & Expeditions, Hiking & Trekking, Weight: Under 1Kg","showchdesc":true,"bestseller":false,"ispack":false,"listPrice":3.6,"standardPrice":3.6,"priceLimit":3.6,"cost":0,"algorithm":"S","_identifier":"Adhesive body warmers","undefined":"WVG\/B0017###2112345000046###Adhesive body warmers###","_idx":0,"originalStandardPrice":3.6},"productidentifier":null,"uOM":"100","qty":1,"price":3.6,"priceList":3.6,"gross":4.36,"net":3.6,"description":"","id":"105078C92D1FF39BFE77780A35DBF1CF","priceIncludesTax":false,"warehouse":{"id":"0B3E1D8D0FCB44FB81EA1A3FF158B086","warehousename":"Posets Store Warehouse"},"promotions":[{"identifier":"disc_5_ var_perc - 5 %","name":"disc_5_ var_perc","ruleId":"08C2C89DB15443478B659A8645828F63","amt":0.18,"fullAmt":0.18,"discountType":"20E4EC27397344309A2185097392D964","priority":null,"manual":true,"userAmt":5,"lastApplied":true,"obdiscQtyoffer":1,"qtyOffer":1,"displayedTotalAmount":0.18,"percentage":5,"applyNext":true,"qtyOfferReserved":0,"_idx":-1,"pendingQtyOffer":1}],"grossListPrice":3.6,"promotionCandidates":null,"promotionMessages":[],"linerate":1.21,"tax":"5235D8E99A2749EFA17A5C92A52AEFC6","pricenet":3.6,"fullgross":{"ind":1,"form":0,"mant":[4,3,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"exp":-21},"discountedGross":4.14,"discountedNet":3.42,"taxAmount":0.72,"discountedNetPrice":{"ind":1,"form":0,"mant":[3,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"exp":-20},"taxLines":{"5235D8E99A2749EFA17A5C92A52AEFC6":{"name":"Entregas IVA 21%","rate":21,"net":3.42,"amount":0.72}},"discountedLinePrice":3.42,"obposQtyDeleted":1,"obposIsDeleted":true}],"payments":[],"payment":0,"change":0,"qty":1,"gross":4.14,"net":3.42,"taxes":{"5235D8E99A2749EFA17A5C92A52AEFC6":{"name":"Entregas IVA 21%","rate":21,"net":3.42,"amount":0.72}},"description":"","print":true,"sendEmail":false,"isPaid":false,"paidOnCredit":false,"isLayaway":false,"isEditable":true,"openDrawer":false,"totalamount":null,"approvals":[],"isNewReceipt":false,"cloningReceipt":false,"obposIsDeleted":true,"timezoneOffset":-120,"created":1432897271399,"obposCreatedabsolute":"2015-05-29 13:01:11.399","obposAppCashup":"FB789FDD77F1C762D5DA0035F85D5521"}
\ No newline at end of file
diff -r 87dcf1f61d9d src-test/org/openbravo/retail/posterminal/deleteTickets/del_order_wt.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src-test/org/openbravo/retail/posterminal/deleteTickets/del_order_wt.json Thu Jun 04 16:14:02 2015 +0200
@@ -0,0 +1,1 @@
+{"hasbeenpaid":"Y","isbeingprocessed":"N","id":"3CA875E75E99B87658C84DFE20AD5C99","client":"39363B0921BB4293B48383844325E84C","organization":"D270A5AC50874F8BA67A88EE977F8E3B","createdBy":"3073EDF96A3C42CC86C7069E379522D2","updatedBy":"3073EDF96A3C42CC86C7069E379522D2","documentType":"511A9371A0F74195AA3F6D66C722729D","orderType":0,"generateInvoice":false,"isQuotation":false,"oldId":null,"priceList":"496CF965DF9744D2A41248392D1DE407","priceIncludesTax":true,"currency":"102","currency$_identifier":"EUR","session":"64A4A19F0E53FC501A1F74B490AE8891","warehouse":"CE7AB151695342FF879938F837F12E6E","salesRepresentative":"3073EDF96A3C42CC86C7069E379522D2","salesRepresentative$_identifier":"Vall Blanca Store User","posTerminal":"9104513C2D0741D4850AE8493998A7C8","posTerminal$_identifier":"VBS POS Terminal","orderDate":"2015-05-29T10:57:41.158Z","creationDate":"2015-05-29T10:57:53.987Z","documentnoPrefix":"VBS1","quotationnoPrefix":-1,"documentnoSuffix":168,"quotationnoSuffix":-1,"documentNo":"VBS1\/0000168","bp":{"id":"ABD91C9D3BC94175B876FBBE9CACA008","organization":"D270A5AC50874F8BA67A88EE977F8E3B","searchKey":"VBS\/C0001","_identifier":"VBS Customer","name":"VBS Customer","firstName":"VBS Customer","lastName":null,"description":null,"taxID":null,"taxCategory":null,"paymentMethod":"45A202BF44884F05B8A1BF741E2063B6","paymentTerms":"D8955F8808A54C63BBF478A6843D834D","priceList ":"undefined","invoiceTerms":"I","locId":"2AA7EADDF7EC405899262DDA3E572436","locName":"Pau Claris 138 1-1","postalCode":"08009","cityName":"Barcelona","countryName":"Spain","contactId":"032576220FC44B0DA80145B3265E4D9A","phone":null,"email":null,"businessPartnerCategory":"B1DD8B371643421C987EF1D5B358D5E9","businessPartnerCategory_name":"Customer","creditLimit":0,"creditUsed":0,"taxExempt":false,"customerBlocking":false,"salesOrderBlocking":true,"undefined":"VBS Customer###Pau Claris 138 1-1###","_idx":4},"lines":[{"product":{"id":"934E7D7587EC4C7A9E9FF58F0382D450","searchkey":"WVG\/M0019","uPCEAN":null,"uOM":"100","uOMsymbol":"Ud ","productCategory":"A847E22D540249C1A47BBD8788C7465A","taxCategory":"FF80818123B7FC160123B804AB88000B","description":"Avalanche transceiver.","obposScale":false,"groupProduct":true,"stocked":true,"showstock":false,"isGeneric":false,"generic_product_id":null,"brand":"BC122628815941E99BB0EE7342F4B9BE","characteristicDescription":"Price: 100€ - 200€, Use: High Mountaineering & Expeditions, Ski Touring, Range: 40m, Battery Life: 250h max, Object: Avalanche Safety","showchdesc":true,"bestseller":true,"ispack":false,"listPrice":150.5,"standardPrice":150.5,"priceLimit":150.5,"cost":0,"algorithm":"S","_identifier":"Avalanche transceiver","undefined":"WVG\/M0019###Avalanche transceiver###","_idx":5,"originalStandardPrice":150.5},"productidentifier":null,"uOM":"100","qty":1,"price":150.5,"priceList":150.5,"gross":150.5,"net":124.38,"description":"","id":"3B4CA34550589992C544E87B771FDB7C","priceIncludesTax":true,"warehouse":{"id":"A154EC30A296479BB078B0AFFD74CA22","warehousename":"Vall Blanca Store Warehouse"},"promotions":[],"grossListPrice":150.5,"promotionCandidates":[],"promotionMessages":[],"noDiscountCandidates":true,"linerate":1.21,"tax":"5235D8E99A2749EFA17A5C92A52AEFC6","taxAmount":26.12,"pricenet":124.38,"discountedNet":124.38,"taxLines":{"5235D8E99A2749EFA17A5C92A52AEFC6":{"name":"Entregas IVA 21%","rate":21,"net":124.38,"amount":26.12}},"obposQtyDeleted":1,"obposIsDeleted":true}],"payments":[],"payment":0,"change":0,"qty":1,"gross":150.5,"net":124.38,"taxes":{"5235D8E99A2749EFA17A5C92A52AEFC6":{"name":"Entregas IVA 21%","rate":21,"net":124.38,"amount":26.12}},"description":"","print":true,"sendEmail":false,"isPaid":false,"paidOnCredit":false,"isLayaway":false,"isEditable":true,"openDrawer":false,"totalamount":null,"approvals":[{"approvalType":"OBPOS_approval.deleteLine","userContact":"3073EDF96A3C42CC86C7069E379522D2","created":1432897068205}],"isNewReceipt":false,"cloningReceipt":false,"obposIsDeleted":true,"timezoneOffset":-120,"created":1432897073987,"obposCreatedabsolute":"2015-05-29 12:57:53.987","obposAppCashup":"B5DE06E7FF4BB52EA64F0DC10CECD68F"}
\ No newline at end of file
diff -r 87dcf1f61d9d src-test/org/openbravo/retail/posterminal/deleteTickets/del_order_wt_wdis.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src-test/org/openbravo/retail/posterminal/deleteTickets/del_order_wt_wdis.json Thu Jun 04 16:14:02 2015 +0200
@@ -0,0 +1,1 @@
+{"hasbeenpaid":"Y","isbeingprocessed":"N","id":"0445938F1EC177CDC788285AB6E116E0","client":"39363B0921BB4293B48383844325E84C","organization":"D270A5AC50874F8BA67A88EE977F8E3B","createdBy":"3073EDF96A3C42CC86C7069E379522D2","updatedBy":"3073EDF96A3C42CC86C7069E379522D2","documentType":"511A9371A0F74195AA3F6D66C722729D","orderType":0,"generateInvoice":false,"isQuotation":false,"oldId":null,"priceList":"496CF965DF9744D2A41248392D1DE407","priceIncludesTax":true,"currency":"102","currency$_identifier":"EUR","session":"64A4A19F0E53FC501A1F74B490AE8891","warehouse":"CE7AB151695342FF879938F837F12E6E","salesRepresentative":"3073EDF96A3C42CC86C7069E379522D2","salesRepresentative$_identifier":"Vall Blanca Store User","posTerminal":"9104513C2D0741D4850AE8493998A7C8","posTerminal$_identifier":"VBS POS Terminal","orderDate":"2015-05-29T10:57:54.059Z","creationDate":"2015-05-29T10:59:04.426Z","documentnoPrefix":"VBS1","quotationnoPrefix":-1,"documentnoSuffix":169,"quotationnoSuffix":-1,"documentNo":"VBS1\/0000169","bp":{"id":"ABD91C9D3BC94175B876FBBE9CACA008","organization":"D270A5AC50874F8BA67A88EE977F8E3B","searchKey":"VBS\/C0001","_identifier":"VBS Customer","name":"VBS Customer","firstName":"VBS Customer","lastName":null,"description":null,"taxID":null,"taxCategory":null,"paymentMethod":"45A202BF44884F05B8A1BF741E2063B6","paymentTerms":"D8955F8808A54C63BBF478A6843D834D","priceList ":"undefined","invoiceTerms":"I","locId":"2AA7EADDF7EC405899262DDA3E572436","locName":"Pau Claris 138 1-1","postalCode":"08009","cityName":"Barcelona","countryName":"Spain","contactId":"032576220FC44B0DA80145B3265E4D9A","phone":null,"email":null,"businessPartnerCategory":"B1DD8B371643421C987EF1D5B358D5E9","businessPartnerCategory_name":"Customer","creditLimit":0,"creditUsed":0,"taxExempt":false,"customerBlocking":false,"salesOrderBlocking":true,"undefined":"VBS Customer###Pau Claris 138 1-1###","_idx":4},"lines":[{"product":{"id":"934E7D7587EC4C7A9E9FF58F0382D450","searchkey":"WVG\/M0019","uPCEAN":null,"uOM":"100","uOMsymbol":"Ud ","productCategory":"A847E22D540249C1A47BBD8788C7465A","taxCategory":"FF80818123B7FC160123B804AB88000B","description":"Avalanche transceiver.","obposScale":false,"groupProduct":true,"stocked":true,"showstock":false,"isGeneric":false,"generic_product_id":null,"brand":"BC122628815941E99BB0EE7342F4B9BE","characteristicDescription":"Price: 100€ - 200€, Use: High Mountaineering & Expeditions, Ski Touring, Range: 40m, Battery Life: 250h max, Object: Avalanche Safety","showchdesc":true,"bestseller":true,"ispack":false,"listPrice":150.5,"standardPrice":150.5,"priceLimit":150.5,"cost":0,"algorithm":"S","_identifier":"Avalanche transceiver","undefined":"WVG\/M0019###Avalanche transceiver###","_idx":5,"originalStandardPrice":150.5},"productidentifier":null,"uOM":"100","qty":2,"price":150.5,"priceList":150.5,"gross":301,"net":248.76,"description":"","id":"58A11294E81D4D1A16CD797C6AD0BB08","priceIncludesTax":true,"warehouse":{"id":"A154EC30A296479BB078B0AFFD74CA22","warehousename":"Vall Blanca Store Warehouse"},"promotions":[{"identifier":"disc_5_ var_perc - 5 %","name":"disc_5_ var_perc","ruleId":"08C2C89DB15443478B659A8645828F63","amt":15.04,"fullAmt":15.04,"discountType":"20E4EC27397344309A2185097392D964","priority":null,"manual":true,"userAmt":5,"lastApplied":true,"obdiscQtyoffer":2,"qtyOffer":2,"displayedTotalAmount":15.04,"percentage":5,"applyNext":true,"qtyOfferReserved":0,"_idx":-1,"pendingQtyOffer":2}],"grossListPrice":150.5,"promotionCandidates":null,"promotionMessages":[],"linerate":1.21,"tax":"5235D8E99A2749EFA17A5C92A52AEFC6","taxAmount":52.24,"pricenet":124.38,"discountedNet":236.33,"taxLines":{"5235D8E99A2749EFA17A5C92A52AEFC6":{"name":"Entregas IVA 21%","rate":21,"net":236.33,"amount":49.63}},"discountedLinePrice":142.98,"obposQtyDeleted":2,"obposIsDeleted":true}],"payments":[],"payment":0,"change":0,"qty":2,"gross":285.96,"net":236.33,"taxes":{"5235D8E99A2749EFA17A5C92A52AEFC6":{"name":"Entregas IVA 21%","rate":21,"net":236.33,"amount":49.63}},"description":"","print":true,"sendEmail":false,"isPaid":false,"paidOnCredit":false,"isLayaway":false,"isEditable":true,"openDrawer":false,"totalamount":null,"approvals":[],"isNewReceipt":false,"cloningReceipt":false,"obposIsDeleted":true,"timezoneOffset":-120,"created":1432897144426,"obposCreatedabsolute":"2015-05-29 12:59:04.426","obposAppCashup":"B5DE06E7FF4BB52EA64F0DC10CECD68F"}
\ No newline at end of file
diff -r 87dcf1f61d9d src/org/openbravo/retail/posterminal/OrderLoader.java
--- a/src/org/openbravo/retail/posterminal/OrderLoader.java Wed Jun 03 09:25:48 2015 +0200
+++ b/src/org/openbravo/retail/posterminal/OrderLoader.java Thu Jun 04 16:14:02 2015 +0200
@@ -138,6 +138,7 @@
@Override
public JSONObject saveRecord(JSONObject jsonorder) throws Exception {
+ boolean isDeleted = false;
documentNoHandlers.set(new ArrayList<OrderLoader.DocumentNoHandler>());
try {
executeHooks(orderPreProcesses, jsonorder, null, null, null);
@@ -181,11 +182,14 @@
}
t1 = System.currentTimeMillis();
+ // Getting if the order is deleted or not
+ isDeleted = jsonorder.has("obposIsDeleted") && jsonorder.getBoolean("obposIsDeleted");
// An invoice will be automatically created if:
// - The order is not a layaway and is not completely paid (ie. it's paid on credit)
// - Or, the order is a normal order or a fully paid layaway, and has the "generateInvoice"
// flag
wasPaidOnCredit = !isQuotation
+ && !isDeleted
&& !notpaidLayaway
&& Math.abs(jsonorder.getDouble("payment")) < Math.abs(new Double(jsonorder
.getDouble("gross")));
@@ -197,7 +201,8 @@
|| (!isQuotation && !notpaidLayaway && (jsonorder.has("generateInvoice") && jsonorder
.getBoolean("generateInvoice")));
}
- createShipment = !isQuotation && !notpaidLayaway;
+
+ createShipment = !isQuotation && !notpaidLayaway && !isDeleted;
if (jsonorder.has("generateShipment")) {
createShipment &= jsonorder.getBoolean("generateShipment");
createInvoice &= jsonorder.getBoolean("generateShipment");
@@ -313,7 +318,7 @@
long t4 = System.currentTimeMillis();
- if (!isQuotation) {
+ if (!isQuotation && !isDeleted) {
// Payment
JSONObject paymentResponse = handlePayments(jsonorder, order, invoice, wasPaidOnCredit);
if (paymentResponse != null) {
@@ -1031,9 +1036,12 @@
orderline.setActive(true);
orderline.setSalesOrder(order);
+ if (jsonOrderLine.has("obposIsDeleted") && jsonOrderLine.getBoolean("obposIsDeleted")) {
+ orderline.setObposQtyDeleted(orderline.getOrderedQuantity());
+ orderline.setOrderedQuantity(BigDecimal.ZERO);
+ }
orderline.setLineNetAmount(BigDecimal.valueOf(jsonOrderLine.getDouble("net")).setScale(
stdPrecision, RoundingMode.HALF_UP));
-
if (createShipment) {
// shipment is created, so all is delivered
orderline.setDeliveredQuantity(orderline.getOrderedQuantity());
@@ -1127,6 +1135,10 @@
order.setSalesTransaction(true);
if (jsonorder.getBoolean("isQuotation")) {
order.setDocumentStatus("UE");
+ } else if (jsonorder.has("obposIsDeleted") && jsonorder.getBoolean("obposIsDeleted")) {
+ order.setDocumentStatus("CL");
+ order.setGrandTotalAmount(BigDecimal.ZERO);
+ order.setSummedLineAmount(BigDecimal.ZERO);
} else {
order.setDocumentStatus("CO");
}
diff -r 87dcf1f61d9d web/org.openbravo.retail.posterminal/js/closecash/view/tabpendingreceipts.js
--- a/web/org.openbravo.retail.posterminal/js/closecash/view/tabpendingreceipts.js Wed Jun 03 09:25:48 2015 +0200
+++ b/web/org.openbravo.retail.posterminal/js/closecash/view/tabpendingreceipts.js Thu Jun 04 16:14:02 2015 +0200
@@ -163,13 +163,34 @@
OB.UTIL.Approval.requestApproval(
this.model, 'OBPOS_approval.cashupremovereceipts', function (approved, supervisor, approvalType) {
if (approved) {
- // approved so remove the entry
- OB.Dal.remove(model, function () {
- me.collection.remove(model);
- }, OB.UTIL.showError);
+ if (OB.MobileApp.model.hasPermission('OBPOS_remove_ticket', true)) {
+ me.markOrderAsDeleted(model);
+ } else {
+ // approved so remove the entry
+ OB.Dal.remove(model, function () {
+ me.collection.remove(model);
+ }, OB.UTIL.showError);
+ }
}
});
},
+ markOrderAsDeleted: function (model) {
+ var me = this;
+ var creationDate = model.get('creationDate') || new Date();
+ model.set('creationDate', creationDate);
+ model.set('timezoneOffset', creationDate.getTimezoneOffset());
+ model.set('created', creationDate.getTime());
+ model.set('obposCreatedabsolute', OB.I18N.formatDateISO(creationDate));
+ model.set('obposIsDeleted', true);
+ for (i = 0; i < model.get('lines').length; i++) {
+ model.get('lines').at(i).set('obposIsDeleted', true);
+ }
+ model.calculateGross();
+ model.set('hasbeenpaid', 'Y');
+ model.save();
+ OB.MobileApp.model.updateDocumentSequenceWhenOrderSaved(model.get('documentnoSuffix'), model.get('quotationnoSuffix'));
+ me.collection.remove(model);
+ },
voidAllPendingReceipts: function (inSender, inEvent) {
var me = this;
OB.UTIL.showConfirmation.display(OB.I18N.getLabel('OBPOS_ConfirmDeletion'), OB.I18N.getLabel('OBPOS_cannotBeUndone'), [{
@@ -186,9 +207,13 @@
var me = this;
function removeOneModel(collection, model) {
- OB.Dal.remove(model, function () {
- collection.remove(model);
- }, OB.UTIL.showError);
+ if (OB.MobileApp.model.hasPermission('OBPOS_remove_ticket', true)) {
+ me.markOrderAsDeleted(model);
+ } else {
+ OB.Dal.remove(model, function () {
+ collection.remove(model);
+ }, OB.UTIL.showError);
+ }
}
OB.UTIL.Approval.requestApproval(
diff -r 87dcf1f61d9d web/org.openbravo.retail.posterminal/js/login/model/login-model.js
--- a/web/org.openbravo.retail.posterminal/js/login/model/login-model.js Wed Jun 03 09:25:48 2015 +0200
+++ b/web/org.openbravo.retail.posterminal/js/login/model/login-model.js Thu Jun 04 16:14:02 2015 +0200
@@ -712,20 +712,60 @@
if (OB.POS.hwserver !== undefined) {
OB.POS.hwserver.print(new OB.DS.HWResource(OB.OBPOSPointOfSale.Print.GoodByeTemplate), {});
}
- this.cleanSessionInfo();
+ if (!OB.MobileApp.model.attributes.permissions || !OB.MobileApp.model.hasPermission('OBPOS_remove_ticket', true)) {
+ this.cleanSessionInfo();
+ }
},
postCloseSession: function (session) {
- //All pending to be paid orders will be removed on logout
- OB.Dal.removeAll(OB.Model.Order, {
- 'session': session.get('id'),
- 'hasbeenpaid': 'N'
- }, function () {
- OB.MobileApp.model.triggerLogout();
- }, function () {
+ var criteria = {},
+ model;
+ var me = this;
+
+ function success(collection) {
+ var j;
+ if (collection.length > 0) {
+ for (j = 0; j < collection.length; j++) {
+ model = collection.models[j];
+ var creationDate = new Date();
+ model.set('creationDate', creationDate);
+ model.set('timezoneOffset', creationDate.getTimezoneOffset());
+ model.set('created', creationDate.getTime());
+ model.set('obposCreatedabsolute', OB.I18N.formatDateISO(creationDate));
+ model.set('obposIsDeleted', true);
+ for (i = 0; i < model.get('lines').length; i++) {
+ model.get('lines').at(i).set('obposIsDeleted', true);
+ }
+ model.calculateGross();
+ model.set('hasbeenpaid', 'Y');
+ model.save(function () {
+ me.cleanSessionInfo();
+ OB.MobileApp.model.triggerLogout();
+ });
+ }
+ } else {
+ me.cleanSessionInfo();
+ OB.MobileApp.model.triggerLogout();
+ }
+ }
+
+ function error() {
OB.error("postCloseSession", arguments);
OB.MobileApp.model.triggerLogout();
- });
+ }
+ //All pending to be paid orders will be removed on logout
+ if (OB.MobileApp.model.hasPermission('OBPOS_remove_ticket', true)) {
+ criteria.session = session.get('id');
+ criteria.hasbeenpaid = 'N';
+ OB.Dal.find(OB.Model.Order, criteria, success, error);
+ } else {
+ OB.Dal.removeAll(OB.Model.Order, {
+ 'session': session.get('id'),
+ 'hasbeenpaid': 'N'
+ }, function () {
+ OB.MobileApp.model.triggerLogout();
+ }, error);
+ }
this.set('currentView', {
name: 'order',
params: null
diff -r 87dcf1f61d9d web/org.openbravo.retail.posterminal/js/model/order.js
--- a/web/org.openbravo.retail.posterminal/js/model/order.js Wed Jun 03 09:25:48 2015 +0200
+++ b/web/org.openbravo.retail.posterminal/js/model/order.js Thu Jun 04 16:14:02 2015 +0200
@@ -311,7 +311,7 @@
}
},
- save: function () {
+ save: function (callback) {
var undoCopy;
if (this.attributes.json) {
@@ -320,8 +320,11 @@
undoCopy = this.get('undo');
this.unset('undo');
this.set('json', JSON.stringify(this.toJSON()));
+ if (callback == undefined || !callback instanceof Function) {
+ callback = function () {};
+ }
if (!OB.MobileApp.model.get('preventOrderSave')) {
- OB.Dal.save(this, function () {}, function () {
+ OB.Dal.save(this, callback, function () {
OB.error(arguments);
});
}
diff -r 87dcf1f61d9d web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js Wed Jun 03 09:25:48 2015 +0200
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/pointofsale.js Thu Jun 04 16:14:02 2015 +0200
@@ -361,11 +361,28 @@
deleteCurrentOrder: function (inSender, inEvent) {
function removeOrder(context) {
var isPaidQuotation = (context.model.get('order').has('isQuotation') && context.model.get('order').get('isQuotation') && context.model.get('order').has('hasbeenpaid') && context.model.get('order').get('hasbeenpaid') === 'Y');
- if (context.model.get('order').get('id') && !isPaidQuotation) {
- context.model.get('orderList').saveCurrent();
- OB.Dal.remove(context.model.get('orderList').current, null, null);
+ var receipt = context.model.get('order');
+ if (receipt.get('id') && !isPaidQuotation && receipt.get('lines') && receipt.get('lines').length > 0) {
+ if (OB.MobileApp.model.hasPermission('OBPOS_remove_ticket', true)) {
+ receipt.set('obposIsDeleted', true);
+ for (i = 0; i < receipt.get('lines').length; i++) {
+ receipt.get('lines').at(i).set('obposIsDeleted', true);
+ }
+ receipt.calculateGross();
+ receipt.save();
+ receipt.trigger('closed', {
+ callback: function () {
+ context.model.get('orderList').deleteCurrent();
+ context.model.get('orderList').synchronizeCurrentOrder();
+ }
+ });
+ } else {
+ context.model.get('orderList').saveCurrent();
+ OB.Dal.remove(context.model.get('orderList').current, null, null);
+ }
+ } else {
+ context.model.get('orderList').deleteCurrent();
}
- context.model.get('orderList').deleteCurrent();
}
if (inEvent && inEvent.notSavedOrder === true) {
diff -r 87dcf1f61d9d web/org.openbravo.retail.posterminal/js/pointofsale/view/toolbar-left.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/view/toolbar-left.js Wed Jun 03 09:25:48 2015 +0200
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/view/toolbar-left.js Thu Jun 04 16:14:02 2015 +0200
@@ -128,16 +128,23 @@
if (me.hasClass('paidticket')) {
me.doDeleteOrder();
} else {
- OB.UTIL.Approval.requestApproval(
- this.model, 'OBPOS_approval.removereceipts', function (approved, supervisor, approvalType) {
- if (approved) {
- me.doShowPopup({
- popup: 'modalConfirmReceiptDelete'
- });
- }
- });
+ if (OB.MobileApp.model.hasPermission('OBPOS_approval.removereceipts', true)) {
+ //Show the pop up to delete or not
+ me.doShowPopup({
+ popup: 'modalConfirmReceiptDelete'
+ });
+ } else {
+ OB.UTIL.Approval.requestApproval(
+ this.model, 'OBPOS_approval.removereceipts', function (approved, supervisor, approvalType) {
+ if (approved) {
+ //Delete the order without the popup
+ me.doDeleteOrder({
+ notSavedOrder: true
+ });
+ }
+ });
+ }
}
-
},
init: function (model) {
this.model = model;
diff -r 87dcf1f61d9d web/org.openbravo.retail.posterminal/js/utils/cashUpReportUtils.js
--- a/web/org.openbravo.retail.posterminal/js/utils/cashUpReportUtils.js Wed Jun 03 09:25:48 2015 +0200
+++ b/web/org.openbravo.retail.posterminal/js/utils/cashUpReportUtils.js Thu Jun 04 16:14:02 2015 +0200
@@ -47,8 +47,9 @@
function updateCashUpInfo(cashUp, receipt, j, callback, tx) {
var cashuptaxes, order, orderType, gross, i, taxOrderType, taxAmount, auxPay;
- if (j < receipt.length) {
+ if (j < receipt.length && !receipt[j].has('obposIsDeleted')) {
order = receipt[j];
+
orderType = order.get('orderType');
if (cashUp.length !== 0) {
_.each(order.get('lines').models, function (line) {
automated_30041.diff [^] (17,163 bytes) 2015-06-05 08:58 [Show Content] [Hide Content]diff -r 7da92b3ab859 -r 94daa988d589 src-test/org/openbravo/test/mobile/common/selenium/javascript/TestId.java
--- a/src-test/org/openbravo/test/mobile/common/selenium/javascript/TestId.java Fri May 22 18:25:44 2015 +0200
+++ b/src-test/org/openbravo/test/mobile/common/selenium/javascript/TestId.java Fri Jun 05 08:57:02 2015 +0200
@@ -400,6 +400,9 @@
LABEL_CASHUP_STEP3_TITLE("listPaymentMethods_control6"), //
LABEL_CASHUP_STEP4_TITLE("cashToKeep_cashtokeepheader"), //
LABEL_CASHUP_STEP5_TITLE("postPrintClose_control5"), //
+ BUTTON_CASHUP_DELETE_ORDER("pendingReceiptList_row1_buttonVoid", EnyoKind.BUTTON), //
+ BUTTON_CASHUP_DELETE_ALL_ORDER("listPendingReceipts_btnDeleteAll", EnyoKind.BUTTON), //
+ BUTTON_CASHUP_DELETE_ORDER_YES("confirmationPopup_btnYes, delete", EnyoKind.BUTTON), //
// Step 2
BUTTON_CASHUP_COUNTCASH_010("paymentsList_row4_qtyplus", EnyoKind.BUTTON), //
BUTTON_CASHUP_COUNTCASH_020("paymentsList_row5_qtyplus", EnyoKind.BUTTON), //
diff -r 7da92b3ab859 -r 94daa988d589 src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/deleteTicket/DeleteTicket.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/deleteTicket/DeleteTicket.java Fri Jun 05 08:57:02 2015 +0200
@@ -0,0 +1,376 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo Public License
+ * Version 1.0 (the "License"), being the Mozilla Public License
+ * Version 1.1 with a permitted attribution clause; you may not use this
+ * file except in compliance with the License. You may obtain a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo S.L.U.
+ * All portions are Copyright (C) 2015 Openbravo S.L.U.
+ * All Rights Reserved.
+ * Contributor(s):
+ ************************************************************************
+ *
+ *
+ */
+
+package org.openbravo.test.mobile.retail.pack.selenium.tests.deleteTicket;
+
+import static org.junit.Assert.assertEquals;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import org.junit.Test;
+import org.openbravo.test.mobile.common.selenium.database.DatabaseHelperSelect;
+import org.openbravo.test.mobile.common.selenium.javascript.TestId;
+import org.openbravo.test.mobile.common.selenium.terminals.WebPOSTerminalHelper;
+import org.openbravo.test.mobile.common.selenium.utils.Constants;
+import org.openbravo.test.mobile.common.selenium.utils.Utils;
+
+public class DeleteTicket extends WebPOSTerminalHelper {
+
+ @Test
+ public void test() {
+ // Create a ticket without discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BESTSELLERS);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ String documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_DELETERECEIPT);
+ tap(TestId.BUTTON_DELETERECEIPT_CONFIRM);
+ verifyDelete(documentno);
+
+ // Create a ticket with discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BESTSELLERS);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_RECEIPTDISCOUNTS);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_CHECKAPPLYALL);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_APPLY);
+ documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_DELETERECEIPT);
+ tap(TestId.BUTTON_DELETERECEIPT_CONFIRM);
+ verifyDelete(documentno);
+
+ String VBSUri = Utils.getCurrentHref();
+ String PSUri = VBSUri.replace(getTerminal(), "PS-1");
+
+ // navigate to PS
+ Utils.navigate(PSUri, false);
+ login("demouser");
+ // Create a ticket without discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BACKPACKSANDTRAVEL);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_DELETERECEIPT);
+ tap(TestId.BUTTON_DELETERECEIPT_CONFIRM);
+ Utils.pause(2000);
+ verifyDelete(documentno);
+
+ // Create a ticket with discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BACKPACKSANDTRAVEL);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_RECEIPTDISCOUNTS);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_CHECKAPPLYALL);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_APPLY);
+ documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_DELETERECEIPT);
+ tap(TestId.BUTTON_DELETERECEIPT_CONFIRM);
+ Utils.pause(2000);
+ verifyDelete(documentno);
+
+ VBSUri = Utils.getCurrentHref();
+ PSUri = VBSUri.replace("PS-1", "VBS1001");
+ Utils.navigate(PSUri, false);
+ login("vallblanca");
+ }
+
+ // It is the same case of test1 but this time instead of pressing delete ticket button the test is
+ // going to delete the ticket using delete button in window cash up
+ @Test
+ public void test2() {
+ // Create a ticket without discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BESTSELLERS);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ String documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_CASHUP);
+ tap(TestId.BUTTON_CASHUP_DELETE_ORDER);
+ tap(TestId.BUTTON_CASHUP_DELETE_ORDER_YES);
+ tap(TestId.BUTTON_CASHMANAGEMENT_CANCEL);
+ verifyDelete(documentno);
+
+ // // Create a ticket with discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BESTSELLERS);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_RECEIPTDISCOUNTS);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_CHECKAPPLYALL);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_APPLY);
+ documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_CASHUP);
+ tap(TestId.BUTTON_CASHUP_DELETE_ORDER);
+ verify(TestId.LABEL_POPUP_TITLE, "Confirm Deletion");
+ tap(TestId.BUTTON_CASHUP_DELETE_ORDER_YES);
+ tap(TestId.BUTTON_CASHMANAGEMENT_CANCEL);
+ verifyDelete(documentno);
+ String VBSUri = Utils.getCurrentHref();
+ String PSUri = VBSUri.replace(getTerminal(), "PS-1");
+
+ // navigate to PS
+ Utils.navigate(PSUri, false);
+ login("demouser");
+ // Create a ticket without discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BACKPACKSANDTRAVEL);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_CASHUP);
+ tap(TestId.BUTTON_CASHUP_DELETE_ORDER);
+ tap(TestId.BUTTON_CASHUP_DELETE_ORDER_YES);
+ tap(TestId.BUTTON_CASHMANAGEMENT_CANCEL);
+ verifyDelete(documentno);
+
+ // Create a ticket with discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BACKPACKSANDTRAVEL);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_RECEIPTDISCOUNTS);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_CHECKAPPLYALL);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_APPLY);
+ documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_CASHUP);
+ tap(TestId.BUTTON_CASHUP_DELETE_ORDER);
+ verify(TestId.LABEL_POPUP_TITLE, "Confirm Deletion");
+ tap(TestId.BUTTON_CASHUP_DELETE_ORDER_YES);
+ tap(TestId.BUTTON_CASHMANAGEMENT_CANCEL);
+ verifyDelete(documentno);
+
+ VBSUri = Utils.getCurrentHref();
+ PSUri = VBSUri.replace("PS-1", "VBS1001");
+ Utils.navigate(PSUri, false);
+ login("vallblanca");
+ }
+
+ // It is the same case of test1 but this time instead of pressing delete ticket button the test is
+ // going to delete the ticket using delete all button in window cash up
+ @Test
+ public void test3() {
+ // Create a ticket without discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BESTSELLERS);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ String documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_CASHUP);
+ tap(TestId.BUTTON_CASHUP_DELETE_ALL_ORDER);
+ tap(TestId.BUTTON_CASHUP_DELETE_ORDER_YES);
+ tap(TestId.BUTTON_CASHMANAGEMENT_CANCEL);
+ verifyDelete(documentno);
+
+ // Create a ticket with discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BESTSELLERS);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_RECEIPTDISCOUNTS);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_CHECKAPPLYALL);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_APPLY);
+ documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_CASHUP);
+ tap(TestId.BUTTON_CASHUP_DELETE_ALL_ORDER);
+ verify(TestId.LABEL_POPUP_TITLE, "Confirm Deletion");
+ tap(TestId.BUTTON_CASHUP_DELETE_ORDER_YES);
+ tap(TestId.BUTTON_CASHMANAGEMENT_CANCEL);
+ verifyDelete(documentno);
+ String VBSUri = Utils.getCurrentHref();
+ String PSUri = VBSUri.replace(getTerminal(), "PS-1");
+
+ // navigate to PS
+ Utils.navigate(PSUri, false);
+ login("demouser");
+ // Create a ticket without discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BACKPACKSANDTRAVEL);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_CASHUP);
+ tap(TestId.BUTTON_CASHUP_DELETE_ALL_ORDER);
+ tap(TestId.BUTTON_CASHUP_DELETE_ORDER_YES);
+ tap(TestId.BUTTON_CASHMANAGEMENT_CANCEL);
+ verifyDelete(documentno);
+
+ // Create a ticket with discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BACKPACKSANDTRAVEL);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_RECEIPTDISCOUNTS);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_CHECKAPPLYALL);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_APPLY);
+ documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_CASHUP);
+ tap(TestId.BUTTON_CASHUP_DELETE_ALL_ORDER);
+ verify(TestId.LABEL_POPUP_TITLE, "Confirm Deletion");
+ tap(TestId.BUTTON_CASHUP_DELETE_ORDER_YES);
+ tap(TestId.BUTTON_CASHMANAGEMENT_CANCEL);
+ verifyDelete(documentno);
+
+ VBSUri = Utils.getCurrentHref();
+ PSUri = VBSUri.replace("PS-1", "VBS1001");
+ Utils.navigate(PSUri, false);
+ login("vallblanca");
+ }
+
+ // It is the same case of test1 but this time instead of pressing delete ticket button the test is
+ // going to logout from Web POS
+ @Test
+ public void test4() {
+ // Create a ticket without discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BESTSELLERS);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ String documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_ONLINE);
+ tap(TestId.BUTTON_ENDSESSION);
+ tap(TestId.BUTTON_LOGOUT);
+ login("vallblanca");
+ verifyDelete(documentno);
+
+ // Create a ticket with discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BESTSELLERS);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ tap(TestId.BUTTON_PRODUCT_BESTSELLERS_AVALANCHETRANSCEIVER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_RECEIPTDISCOUNTS);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_CHECKAPPLYALL);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_APPLY);
+ documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_ONLINE);
+ tap(TestId.BUTTON_ENDSESSION);
+ tap(TestId.BUTTON_LOGOUT);
+ login("vallblanca");
+ verifyDelete(documentno);
+ String VBSUri = Utils.getCurrentHref();
+ String PSUri = VBSUri.replace(getTerminal(), "PS-1");
+
+ // navigate to PS
+ Utils.navigate(PSUri, false);
+ login("demouser");
+ // Create a ticket without discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BACKPACKSANDTRAVEL);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_ONLINE);
+ tap(TestId.BUTTON_ENDSESSION);
+ tap(TestId.BUTTON_LOGOUT);
+ login("demouser");
+ verifyDelete(documentno);
+
+ // Create a ticket with discounts and delete
+ tap(TestId.BUTTON_BROWSE);
+ tap(TestId.BUTTON_CATEGORY_BACKPACKSANDTRAVEL);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ tap(TestId.BUTTON_PRODUCT_BACKPACKSANDTRAVEL_ADHESIVEBODYWARNMERS);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_RECEIPTDISCOUNTS);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_CHECKAPPLYALL);
+ tap(TestId.BUTTON_RECEIPTDISCOUNTS_APPLY);
+ documentno = get(TestId.LABEL_DOCUMENTNUMBER);
+ tap(TestId.BUTTON_MENU);
+ tap(TestId.BUTTON_MENU_ONLINE);
+ tap(TestId.BUTTON_ENDSESSION);
+ tap(TestId.BUTTON_LOGOUT);
+ login("demouser");
+ verifyDelete(documentno);
+
+ VBSUri = Utils.getCurrentHref();
+ PSUri = VBSUri.replace("PS-1", "VBS1001");
+ Utils.navigate(PSUri, false);
+ login("vallblanca");
+ }
+
+ private void verifyDelete(final String documentNo) {
+
+ String[] documentNoWithoutTime = documentNo.split(".*- ");
+ final String sql = "select o.em_obpos_isdeleted headerDeleted, "
+ + "ol.em_obpos_isdeleted lineDeleted, ol.em_obpos_qtydeleted, "
+ + "o.grandtotal, o.totallines, o.docstatus, amtoffer "
+ + "from c_order o, c_orderline ol left join (select sum(amtoffer) amtoffer,olo.c_orderline_id "
+ + "from c_orderline_offer olo group by olo.c_orderline_id) as offer on ol.c_orderline_id = offer.c_orderline_id "
+ + "where o.c_order_id = ol.c_order_id " + "and documentno = '"
+ + documentNoWithoutTime[1].trim() + "'";
+
+ new DatabaseHelperSelect() {
+ @Override
+ protected void yieldResultSet(final ResultSet rs) throws SQLException {
+ logger.info("Verifying deleted ticket in the backend");
+ final String header = rs.getString("headerDeleted");
+ final String line = rs.getString("lineDeleted");
+ final String qtyDeleted = rs.getString("em_obpos_qtydeleted");
+ final String totlaLines = rs.getString("totallines");
+ final String grandTotal = rs.getString("grandtotal");
+ final String docstatus = rs.getString("docstatus");
+ final String amtOffer = rs.getString("amtoffer");
+
+ assertEquals("Y", header);
+ assertEquals("Y", line);
+ assertEquals("2", qtyDeleted);
+ assertEquals("0", totlaLines);
+ assertEquals("0", grandTotal);
+ assertEquals("CL", docstatus);
+ if (amtOffer != null) {
+ assertEquals("0", amtOffer);
+ }
+ }
+ }.execute(sql, 1);
+ }
+
+ private void login(final String newUsername) {
+ TestId.LABEL_LOGIN_OPENBRAVOMOBILE.enyoNode().waitUntilIsReady();
+ Utils.pause(Constants.WAIT_AFTERWEBPOSLOGO);
+ write(TestId.FIELD_LOGIN_USERNAME, newUsername);
+ write(TestId.FIELD_LOGIN_PASSWORD, "openbravo");
+ tap(TestId.BUTTON_LOGIN);
+ Utils.pause(Constants.WAIT_AFTERSUCCESSFULLOGIN);
+ TestId.TABLE_PRODUCTS.enyoNode().waitUntilIsReady();
+ }
+}
fields_30041.diff [^] (17,449 bytes) 2015-06-12 12:16 [Show Content] [Hide Content]diff -r 3c27410d2a21 src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml Fri Jun 12 11:46:59 2015 +0200
+++ b/src-db/database/sourcedata/AD_FIELD.xml Fri Jun 12 12:15:26 2015 +0200
@@ -1041,6 +1041,33 @@
<!--2371E813B0804E02A9C3061C9B08FFF2--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--2371E813B0804E02A9C3061C9B08FFF2--></AD_FIELD>
+<!--23FF82B63F084702A53D94C330470760--><AD_FIELD>
+<!--23FF82B63F084702A53D94C330470760--> <AD_FIELD_ID><![CDATA[23FF82B63F084702A53D94C330470760]]></AD_FIELD_ID>
+<!--23FF82B63F084702A53D94C330470760--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--23FF82B63F084702A53D94C330470760--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--23FF82B63F084702A53D94C330470760--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--23FF82B63F084702A53D94C330470760--> <NAME><![CDATA[Quantity Deleted]]></NAME>
+<!--23FF82B63F084702A53D94C330470760--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--23FF82B63F084702A53D94C330470760--> <AD_TAB_ID><![CDATA[AF4090093D471431E040007F010048A5]]></AD_TAB_ID>
+<!--23FF82B63F084702A53D94C330470760--> <AD_COLUMN_ID><![CDATA[6FBEFE33D22840FCB66E88F6F167F563]]></AD_COLUMN_ID>
+<!--23FF82B63F084702A53D94C330470760--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--23FF82B63F084702A53D94C330470760--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--23FF82B63F084702A53D94C330470760--> <DISPLAYLOGIC><![CDATA[@EM_Obpos_Qtydeleted@!'']]></DISPLAYLOGIC>
+<!--23FF82B63F084702A53D94C330470760--> <DISPLAYLENGTH><![CDATA[2]]></DISPLAYLENGTH>
+<!--23FF82B63F084702A53D94C330470760--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--23FF82B63F084702A53D94C330470760--> <SEQNO><![CDATA[35]]></SEQNO>
+<!--23FF82B63F084702A53D94C330470760--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--23FF82B63F084702A53D94C330470760--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--23FF82B63F084702A53D94C330470760--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--23FF82B63F084702A53D94C330470760--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--23FF82B63F084702A53D94C330470760--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--23FF82B63F084702A53D94C330470760--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--23FF82B63F084702A53D94C330470760--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--23FF82B63F084702A53D94C330470760--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--23FF82B63F084702A53D94C330470760--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--23FF82B63F084702A53D94C330470760--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--23FF82B63F084702A53D94C330470760--></AD_FIELD>
+
<!--26223E2CE62E457EBEC8AA800B365361--><AD_FIELD>
<!--26223E2CE62E457EBEC8AA800B365361--> <AD_FIELD_ID><![CDATA[26223E2CE62E457EBEC8AA800B365361]]></AD_FIELD_ID>
<!--26223E2CE62E457EBEC8AA800B365361--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -1727,6 +1754,32 @@
<!--3B30D8CB3CE94B81948A565A2C719DF2--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--3B30D8CB3CE94B81948A565A2C719DF2--></AD_FIELD>
+<!--3BA094366BB64394AED31A96095D77D9--><AD_FIELD>
+<!--3BA094366BB64394AED31A96095D77D9--> <AD_FIELD_ID><![CDATA[3BA094366BB64394AED31A96095D77D9]]></AD_FIELD_ID>
+<!--3BA094366BB64394AED31A96095D77D9--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--3BA094366BB64394AED31A96095D77D9--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--3BA094366BB64394AED31A96095D77D9--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--3BA094366BB64394AED31A96095D77D9--> <NAME><![CDATA[Deleted]]></NAME>
+<!--3BA094366BB64394AED31A96095D77D9--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--3BA094366BB64394AED31A96095D77D9--> <AD_TAB_ID><![CDATA[F87F1EB7EB404F1F916EBAFAD1A0A334]]></AD_TAB_ID>
+<!--3BA094366BB64394AED31A96095D77D9--> <AD_COLUMN_ID><![CDATA[1CA15CA09A33480C8374070E2B904D70]]></AD_COLUMN_ID>
+<!--3BA094366BB64394AED31A96095D77D9--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--3BA094366BB64394AED31A96095D77D9--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--3BA094366BB64394AED31A96095D77D9--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
+<!--3BA094366BB64394AED31A96095D77D9--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--3BA094366BB64394AED31A96095D77D9--> <SEQNO><![CDATA[327]]></SEQNO>
+<!--3BA094366BB64394AED31A96095D77D9--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--3BA094366BB64394AED31A96095D77D9--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--3BA094366BB64394AED31A96095D77D9--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--3BA094366BB64394AED31A96095D77D9--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--3BA094366BB64394AED31A96095D77D9--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--3BA094366BB64394AED31A96095D77D9--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--3BA094366BB64394AED31A96095D77D9--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--3BA094366BB64394AED31A96095D77D9--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--3BA094366BB64394AED31A96095D77D9--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--3BA094366BB64394AED31A96095D77D9--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--3BA094366BB64394AED31A96095D77D9--></AD_FIELD>
+
<!--3BC406477F5043B3807EA3E678036B82--><AD_FIELD>
<!--3BC406477F5043B3807EA3E678036B82--> <AD_FIELD_ID><![CDATA[3BC406477F5043B3807EA3E678036B82]]></AD_FIELD_ID>
<!--3BC406477F5043B3807EA3E678036B82--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -2199,6 +2252,33 @@
<!--49C20B545A65400E9B36E0BC9AC843F1--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--49C20B545A65400E9B36E0BC9AC843F1--></AD_FIELD>
+<!--4A809F8A950346A194AAE1C0E20047C1--><AD_FIELD>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <AD_FIELD_ID><![CDATA[4A809F8A950346A194AAE1C0E20047C1]]></AD_FIELD_ID>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <NAME><![CDATA[Deleted]]></NAME>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <AD_TAB_ID><![CDATA[AF4090093CFF1431E040007F010048A5]]></AD_TAB_ID>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <AD_COLUMN_ID><![CDATA[1CA15CA09A33480C8374070E2B904D70]]></AD_COLUMN_ID>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <AD_FIELDGROUP_ID><![CDATA[402880E72F1C15A5012F1C7AA98B00E8]]></AD_FIELDGROUP_ID>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <SEQNO><![CDATA[2420]]></SEQNO>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--4A809F8A950346A194AAE1C0E20047C1--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--4A809F8A950346A194AAE1C0E20047C1--></AD_FIELD>
+
<!--4AA12E27A0F74E48B4604A9847B05B7F--><AD_FIELD>
<!--4AA12E27A0F74E48B4604A9847B05B7F--> <AD_FIELD_ID><![CDATA[4AA12E27A0F74E48B4604A9847B05B7F]]></AD_FIELD_ID>
<!--4AA12E27A0F74E48B4604A9847B05B7F--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -2926,6 +3006,32 @@
<!--660BECBB9C84477E97BA22DF79EAE083--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--660BECBB9C84477E97BA22DF79EAE083--></AD_FIELD>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--><AD_FIELD>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <AD_FIELD_ID><![CDATA[66D3F9C432E74A65ABEE7795D385FEF2]]></AD_FIELD_ID>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <NAME><![CDATA[Deleted]]></NAME>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <AD_TAB_ID><![CDATA[AF4090093D471431E040007F010048A5]]></AD_TAB_ID>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <AD_COLUMN_ID><![CDATA[E4EE550BD2EC4CA19E0DE242A35BFAE8]]></AD_COLUMN_ID>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <SEQNO><![CDATA[120]]></SEQNO>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--66D3F9C432E74A65ABEE7795D385FEF2--></AD_FIELD>
+
<!--670321E0DF7D493C81AAA80899CA7D3E--><AD_FIELD>
<!--670321E0DF7D493C81AAA80899CA7D3E--> <AD_FIELD_ID><![CDATA[670321E0DF7D493C81AAA80899CA7D3E]]></AD_FIELD_ID>
<!--670321E0DF7D493C81AAA80899CA7D3E--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -4374,10 +4480,11 @@
<!--AB983F87885841AEAB248AF7561B299C--> <AD_TAB_ID><![CDATA[186]]></AD_TAB_ID>
<!--AB983F87885841AEAB248AF7561B299C--> <AD_COLUMN_ID><![CDATA[1CA15CA09A33480C8374070E2B904D70]]></AD_COLUMN_ID>
<!--AB983F87885841AEAB248AF7561B299C--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--AB983F87885841AEAB248AF7561B299C--> <AD_FIELDGROUP_ID><![CDATA[402880E72F1C15A5012F1C7AA98B00E8]]></AD_FIELDGROUP_ID>
<!--AB983F87885841AEAB248AF7561B299C--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
<!--AB983F87885841AEAB248AF7561B299C--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
<!--AB983F87885841AEAB248AF7561B299C--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
-<!--AB983F87885841AEAB248AF7561B299C--> <SEQNO><![CDATA[2160]]></SEQNO>
+<!--AB983F87885841AEAB248AF7561B299C--> <SEQNO><![CDATA[460]]></SEQNO>
<!--AB983F87885841AEAB248AF7561B299C--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
<!--AB983F87885841AEAB248AF7561B299C--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
<!--AB983F87885841AEAB248AF7561B299C--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
@@ -4673,6 +4780,32 @@
<!--B6F060C4E5584D59BAA52B4ACA409427--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--B6F060C4E5584D59BAA52B4ACA409427--></AD_FIELD>
+<!--B740863ED00C49658DAC50AC7CF27423--><AD_FIELD>
+<!--B740863ED00C49658DAC50AC7CF27423--> <AD_FIELD_ID><![CDATA[B740863ED00C49658DAC50AC7CF27423]]></AD_FIELD_ID>
+<!--B740863ED00C49658DAC50AC7CF27423--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--B740863ED00C49658DAC50AC7CF27423--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--B740863ED00C49658DAC50AC7CF27423--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--B740863ED00C49658DAC50AC7CF27423--> <NAME><![CDATA[Deleted]]></NAME>
+<!--B740863ED00C49658DAC50AC7CF27423--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--B740863ED00C49658DAC50AC7CF27423--> <AD_TAB_ID><![CDATA[E2F36B4352DA4CA8BE324DC428BEE358]]></AD_TAB_ID>
+<!--B740863ED00C49658DAC50AC7CF27423--> <AD_COLUMN_ID><![CDATA[E4EE550BD2EC4CA19E0DE242A35BFAE8]]></AD_COLUMN_ID>
+<!--B740863ED00C49658DAC50AC7CF27423--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--B740863ED00C49658DAC50AC7CF27423--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--B740863ED00C49658DAC50AC7CF27423--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
+<!--B740863ED00C49658DAC50AC7CF27423--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--B740863ED00C49658DAC50AC7CF27423--> <SEQNO><![CDATA[115]]></SEQNO>
+<!--B740863ED00C49658DAC50AC7CF27423--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--B740863ED00C49658DAC50AC7CF27423--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--B740863ED00C49658DAC50AC7CF27423--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--B740863ED00C49658DAC50AC7CF27423--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--B740863ED00C49658DAC50AC7CF27423--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--B740863ED00C49658DAC50AC7CF27423--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--B740863ED00C49658DAC50AC7CF27423--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--B740863ED00C49658DAC50AC7CF27423--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--B740863ED00C49658DAC50AC7CF27423--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--B740863ED00C49658DAC50AC7CF27423--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--B740863ED00C49658DAC50AC7CF27423--></AD_FIELD>
+
<!--B90773AC17054606AFF816101C688686--><AD_FIELD>
<!--B90773AC17054606AFF816101C688686--> <AD_FIELD_ID><![CDATA[B90773AC17054606AFF816101C688686]]></AD_FIELD_ID>
<!--B90773AC17054606AFF816101C688686--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -6002,6 +6135,33 @@
<!--EBAD6CA5B5EA45DC942B264C4F95E92A--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--EBAD6CA5B5EA45DC942B264C4F95E92A--></AD_FIELD>
+<!--ED778C4C04904D12A5FEA889C5CF320C--><AD_FIELD>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <AD_FIELD_ID><![CDATA[ED778C4C04904D12A5FEA889C5CF320C]]></AD_FIELD_ID>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <NAME><![CDATA[Quantity Deleted]]></NAME>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <AD_TAB_ID><![CDATA[E2F36B4352DA4CA8BE324DC428BEE358]]></AD_TAB_ID>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <AD_COLUMN_ID><![CDATA[6FBEFE33D22840FCB66E88F6F167F563]]></AD_COLUMN_ID>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <DISPLAYLOGIC><![CDATA[@EM_Obpos_Qtydeleted@!'']]></DISPLAYLOGIC>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <DISPLAYLENGTH><![CDATA[2]]></DISPLAYLENGTH>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <SEQNO><![CDATA[35]]></SEQNO>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--ED778C4C04904D12A5FEA889C5CF320C--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--ED778C4C04904D12A5FEA889C5CF320C--></AD_FIELD>
+
<!--EDF11717370D4789B89D06C6F01B9B96--><AD_FIELD>
<!--EDF11717370D4789B89D06C6F01B9B96--> <AD_FIELD_ID><![CDATA[EDF11717370D4789B89D06C6F01B9B96]]></AD_FIELD_ID>
<!--EDF11717370D4789B89D06C6F01B9B96--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
|