Openbravo Issue Tracking System - Retail Modules
View Issue Details
0035861Retail ModulesWeb POSpublic2017-04-27 13:262017-06-21 18:35
jorgewederago 
jorge-garcia 
urgentmajoralways
closedfixed 
5
pi 
RR17Q2.1RR17Q2.1 
marvintm
No
0035861: When applying more than 2 discounts to the same line the information about them is generated wrongly.
If you apply more than 2 discounts to the same line and finish the transaction, if you go to the ERP and check the information related to them you will see that the values are not correctly generated so the information stored in the database is not correct.
1.- In the ERP go to discounts and promotions and generate (for eg) 4 Discretionary Fixed Amount discounts.
2.- In WebPOS buy something and apply all the discounts to it.
3.- Finish the transaction
4.- Go to the ERP to the Sales order window, select the order and line and check the values in Base Gross Unit Price displayed in discounts and promotions.
The following code seems wrong since it applies twice the discounts due accumulators.

base = line.get('price');
        _.forEach(line.get('promotions') || [], function (discount) {
          var discountAmt = discount.actualAmt || discount.amt || 0;
          discount.basePrice = base;
          discount.unitDiscount = OB.DEC.div(discountAmt, line.get('qtyToApplyDisc') || line.get('qty'));
          totalDiscount = OB.DEC.add(totalDiscount, discountAmt);
          base = OB.DEC.sub(base, totalDiscount);
        }, this);
No tags attached.
blocks defect 0035858pi closed jorge-garcia When applying more than 2 discounts to the same line the information about them is generated wrongly. 
Issue History
2017-04-27 13:45marvintmTypedefect => backport
2017-04-27 13:45marvintmTarget Versionpi => RR17Q2.1
2017-06-16 09:33jorge-garciaAssigned ToRetail => jorge-garcia
2017-06-16 14:22hgbotCheckin
2017-06-16 14:22hgbotNote Added: 0097445
2017-06-16 14:22hgbotStatusscheduled => resolved
2017-06-16 14:22hgbotResolutionopen => fixed
2017-06-16 14:22hgbotFixed in SCM revision => http://code.openbravo.com/retail/backports/3.0RR17Q2.1/org.openbravo.retail.posterminal/rev/aeab86c8343c74d9ad8be9d16bd542f4729479d2 [^]
2017-06-21 18:35marvintmReview Assigned To => marvintm
2017-06-21 18:35marvintmStatusresolved => closed
2017-06-21 18:35marvintmFixed in Version => RR17Q2.1

Notes
(0097445)
hgbot   
2017-06-16 14:22   
Repository: retail/backports/3.0RR17Q2.1/org.openbravo.retail.posterminal
Changeset: aeab86c8343c74d9ad8be9d16bd542f4729479d2
Author: Jorge Garcia <jorge.garcia <at> openbravo.com>
Date: Fri Jun 16 14:03:14 2017 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR17Q2.1/org.openbravo.retail.posterminal/rev/aeab86c8343c74d9ad8be9d16bd542f4729479d2 [^]

Fixed issue 35861: When applying more than 2 discounts to the same line the
information about them is generated wrongly.

The solution is to used the discounted amount per product instead of the
discount accumulated to calculate the base price in each promotion.

---
M web/org.openbravo.retail.posterminal/js/model/order.js
---