Attached Files | 48735.diff [^] (13,797 bytes) 2022-03-08 02:44 [Show Content] [Hide Content]diff --git a/src-db/database/model/modifiedTables/C_ORDER.xml b/src-db/database/model/modifiedTables/C_ORDER.xml
index 8e47fc7e6..91f388e8e 100644
--- a/src-db/database/model/modifiedTables/C_ORDER.xml
+++ b/src-db/database/model/modifiedTables/C_ORDER.xml
@@ -61,6 +61,10 @@
<default/>
<onCreateDefault/>
</column>
+ <column name="EM_OBPOS_SKIP_TAX_CALCULATION" primaryKey="false" required="false" type="CHAR" size="1" autoIncrement="false">
+ <default/>
+ <onCreateDefault/>
+ </column>
<foreign-key foreignTable="OBPOS_APPLICATIONS" name="EM_OBPOS_APP_ID">
<reference local="EM_OBPOS_APPLICATIONS_ID" foreign="OBPOS_APPLICATIONS_ID"/>
</foreign-key>
@@ -92,5 +96,6 @@
</index>
<check name="EM_OBPOS_ISDELETED_CHECK"><![CDATA[EM_OBPOS_ISDELETED IN ('Y', 'N')]]></check>
<check name="EM_OBPOS_ISLAYAWAY_CHK"><![CDATA[EM_OBPOS_ISLAYAWAY IN ('Y', 'N')]]></check>
+ <check name="EM_OBPOS_SKIPTAX_CHECK"><![CDATA[EM_OBPOS_SKIP_TAX_CALCULATION IN ('Y', 'N')]]></check>
</table>
</database>
diff --git a/src-db/database/sourcedata/AD_COLUMN.xml b/src-db/database/sourcedata/AD_COLUMN.xml
index eaea7a83b..20b06dca2 100644
--- a/src-db/database/sourcedata/AD_COLUMN.xml
+++ b/src-db/database/sourcedata/AD_COLUMN.xml
@@ -6771,6 +6771,43 @@ If selected, there is no need of identification of the customer (i.e. Informatio
<!--301A46EC338A44649B72A78611934A9F--> <IS_CHILD_PROPERTY_IN_PARENT><![CDATA[N]]></IS_CHILD_PROPERTY_IN_PARENT>
<!--301A46EC338A44649B72A78611934A9F--></AD_COLUMN>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--><AD_COLUMN>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <AD_COLUMN_ID><![CDATA[30E25B1B2E0E4B0893D7D0AFEEE79E2C]]></AD_COLUMN_ID>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <NAME><![CDATA[EM_Obpos_Skip_Tax_Calculation]]></NAME>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <COLUMNNAME><![CDATA[EM_Obpos_Skip_Tax_Calculation]]></COLUMNNAME>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <AD_TABLE_ID><![CDATA[259]]></AD_TABLE_ID>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISKEY><![CDATA[N]]></ISKEY>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <SEQNO><![CDATA[1060]]></SEQNO>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <AD_ELEMENT_ID><![CDATA[AB3A30F78DFF46EBA4C8366FCA4750A3]]></AD_ELEMENT_ID>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <POSITION><![CDATA[138]]></POSITION>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--> <IS_CHILD_PROPERTY_IN_PARENT><![CDATA[N]]></IS_CHILD_PROPERTY_IN_PARENT>
+<!--30E25B1B2E0E4B0893D7D0AFEEE79E2C--></AD_COLUMN>
+
<!--30E940123060479C9593F8334BAF00CF--><AD_COLUMN>
<!--30E940123060479C9593F8334BAF00CF--> <AD_COLUMN_ID><![CDATA[30E940123060479C9593F8334BAF00CF]]></AD_COLUMN_ID>
<!--30E940123060479C9593F8334BAF00CF--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/AD_ELEMENT.xml b/src-db/database/sourcedata/AD_ELEMENT.xml
index 8c2981a89..3a46f16fb 100644
--- a/src-db/database/sourcedata/AD_ELEMENT.xml
+++ b/src-db/database/sourcedata/AD_ELEMENT.xml
@@ -2912,6 +2912,18 @@ In case this value is not set, it will be defaulted to the one defined in Openbr
<!--AAF292AF649C49EDAED6C5C09D966B25--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
<!--AAF292AF649C49EDAED6C5C09D966B25--></AD_ELEMENT>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3--><AD_ELEMENT>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3--> <AD_ELEMENT_ID><![CDATA[AB3A30F78DFF46EBA4C8366FCA4750A3]]></AD_ELEMENT_ID>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3--> <COLUMNNAME><![CDATA[EM_Obpos_Skip_Tax_Calculation]]></COLUMNNAME>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3--> <NAME><![CDATA[EM_Obpos_Skip_Tax_Calculation]]></NAME>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3--> <PRINTNAME><![CDATA[EM_Obpos_Skip_Tax_Calculation]]></PRINTNAME>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--AB3A30F78DFF46EBA4C8366FCA4750A3--></AD_ELEMENT>
+
<!--ACCF96BD281342889927E7451CD0ACB4--><AD_ELEMENT>
<!--ACCF96BD281342889927E7451CD0ACB4--> <AD_ELEMENT_ID><![CDATA[ACCF96BD281342889927E7451CD0ACB4]]></AD_ELEMENT_ID>
<!--ACCF96BD281342889927E7451CD0ACB4--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src/org/openbravo/retail/posterminal/PaidReceiptProperties.java b/src/org/openbravo/retail/posterminal/PaidReceiptProperties.java
index 84670e4b2..788a7ee57 100644
--- a/src/org/openbravo/retail/posterminal/PaidReceiptProperties.java
+++ b/src/org/openbravo/retail/posterminal/PaidReceiptProperties.java
@@ -73,6 +73,7 @@ public class PaidReceiptProperties extends ModelExtension {
add(new HQLProperty("ord.invoiceTerms", "invoiceTerms"));
add(new HQLProperty("ord.externalBusinessPartnerReference",
"externalBusinessPartnerReference"));
+ add(new HQLProperty("ord.obposSkipTaxCalculation", "skipTaxCalculation"));
}
};
diff --git a/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/TicketUtils.js b/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/TicketUtils.js
index e68d360d0..228c3a1ea 100644
--- a/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/TicketUtils.js
+++ b/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/TicketUtils.js
@@ -537,19 +537,21 @@
}
// set the tax calculation result into the ticket
- this.ticket.grossAmount = taxesResult.grossAmount;
- this.ticket.netAmount = taxesResult.netAmount;
- this.ticket.taxes = taxesResult.taxes;
- taxesResult.lines.forEach(taxLine => {
- const line = this.ticket.lines.find(l => l.id === taxLine.id);
- line.grossUnitAmount = taxLine.grossUnitAmount;
- line.netUnitAmount = taxLine.netUnitAmount;
- line.grossUnitPrice = taxLine.grossUnitPrice;
- line.netUnitPrice = taxLine.netUnitPrice;
- line.taxRate = taxLine.taxRate;
- line.tax = taxLine.tax;
- line.taxes = taxLine.taxes;
- });
+ if (!this.ticket.skipTaxCalculation) {
+ this.ticket.grossAmount = taxesResult.grossAmount;
+ this.ticket.netAmount = taxesResult.netAmount;
+ this.ticket.taxes = taxesResult.taxes;
+ taxesResult.lines.forEach(taxLine => {
+ const line = this.ticket.lines.find(l => l.id === taxLine.id);
+ line.grossUnitAmount = taxLine.grossUnitAmount;
+ line.netUnitAmount = taxLine.netUnitAmount;
+ line.grossUnitPrice = taxLine.grossUnitPrice;
+ line.netUnitPrice = taxLine.netUnitPrice;
+ line.taxRate = taxLine.taxRate;
+ line.tax = taxLine.tax;
+ line.taxes = taxLine.taxes;
+ });
+ }
}
setTotalQuantity(qtyScale) {
@@ -824,6 +826,7 @@
calculateTotals(ticket, payload) {
const handler = new TicketHandler(ticket);
handler.calculateTotals(payload);
+
return handler.getTicket();
},
@@ -1087,6 +1090,7 @@
paidPartiallyOnCredit: false,
paidOnCredit: false,
isLayaway: false,
+ skipTaxCalculation: false,
isPartiallyDelivered: false,
isEditable: true,
openDrawer: false,
diff --git a/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/actions/ReturnBlindTicket.js b/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/actions/ReturnBlindTicket.js
index 5d34b425b..5ac0f4fef 100644
--- a/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/actions/ReturnBlindTicket.js
+++ b/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/actions/ReturnBlindTicket.js
@@ -25,6 +25,7 @@
...payload,
isSale: false
});
+ newTicket.skipTaxCalculation = false;
return newTicket;
}
diff --git a/web/org.openbravo.retail.posterminal/js/components/renderorderline.js b/web/org.openbravo.retail.posterminal/js/components/renderorderline.js
index ebfcf13e0..bb9dc6297 100644
--- a/web/org.openbravo.retail.posterminal/js/components/renderorderline.js
+++ b/web/org.openbravo.retail.posterminal/js/components/renderorderline.js
@@ -610,6 +610,9 @@ enyo.kind({
this.$.totaltax.setContent(
OB.I18N.formatCurrency(this.model.get('amount'))
);
+ if (this.model.get('hidden')) {
+ this.parent.hide();
+ }
}
});
diff --git a/web/org.openbravo.retail.posterminal/js/model/order.js b/web/org.openbravo.retail.posterminal/js/model/order.js
index 5cb507244..00a6b1766 100644
--- a/web/org.openbravo.retail.posterminal/js/model/order.js
+++ b/web/org.openbravo.retail.posterminal/js/model/order.js
@@ -537,6 +537,7 @@
this.set('sendEmail', attributes.sendEmail);
this.set('isPaid', attributes.isPaid);
this.set('isLayaway', attributes.isLayaway);
+ this.set('skipTaxCalculation', attributes.skipTaxCalculation);
this.set('isEditable', attributes.isEditable);
this.set('openDrawer', attributes.openDrawer);
this.set('isBeingDiscounted', false);
@@ -1671,6 +1672,7 @@
this.set('paidPartiallyOnCredit', false);
this.set('paidOnCredit', false);
this.set('isLayaway', false);
+ this.set('skipTaxCalculation', false);
this.set('isEditable', true);
this.set('openDrawer', false);
this.set('totalamount', null);
@@ -1717,6 +1719,7 @@
this.set('paidPartiallyOnCredit', _order.get('paidPartiallyOnCredit'));
this.set('paidOnCredit', _order.get('paidOnCredit'));
this.set('isLayaway', _order.get('isLayaway'));
+ this.set('skipTaxCalculation', _order.get('skipTaxCalculation'));
this.set('isPartiallyDelivered', _order.get('isPartiallyDelivered'));
this.set('isModified', _order.get('isModified'));
this.set('payment', _order.get('payment'));
@@ -5685,6 +5688,7 @@
});
}
me.set('isLayaway', false);
+ me.set('skipTaxCalculation', false);
me.get('lines').each(function(line) {
idMap[line.get('id')] = OB.UTIL.get_UUID();
@@ -5957,6 +5961,7 @@
me.set('cancelLayaway', true);
me.set('fromLayaway', me.get('isLayaway'));
me.set('isLayaway', false);
+ me.set('skipTaxCalculation', false);
me.set('isPaid', false);
// Set the order type
context.doShowDivText({
@@ -8397,6 +8402,7 @@
this.set('isLayaway', false);
this.set('orderType', 2);
}
+ this.set('skipTaxCalculation', false);
this.unset('skipApplyPromotions');
this.save(callback);
},
diff --git a/web/org.openbravo.retail.posterminal/js/utils/ticketListUtils.js b/web/org.openbravo.retail.posterminal/js/utils/ticketListUtils.js
index 3ca40ae73..bed16b063 100644
--- a/web/org.openbravo.retail.posterminal/js/utils/ticketListUtils.js
+++ b/web/org.openbravo.retail.posterminal/js/utils/ticketListUtils.js
@@ -359,6 +359,7 @@
order.set('paidOnCredit', false);
order.set('session', OB.MobileApp.model.get('session'));
order.set('skipApplyPromotions', true);
+ order.set('skipTaxCalculation', false);
if (model.isQuotation) {
order.set('isQuotation', true);
order.set('oldId', model.orderid);
|