details: https://code.openbravo.com/erp/devel/pi/rev/e98c64d54d97
changeset: 21919:e98c64d54d97
user: Javier Etxarri <javier.echarri <at> openbravo.com>
date: Wed Feb 05 01:47:44 2014 +0100
summary: Fixes issue 25661: BOM's are not setting fine the tax rate in
exploded lines
diffstat:
src-db/database/model/functions/M_EXPLODEBOMNOTSTOCK.xml | 15 ++++++++----
src-db/database/model/functions/M_INVEXPLODEBOMNOTSTOCK.xml | 15 +++++++++---
2 files changed, 21 insertions(+), 9 deletions(-)
diffs (97 lines):
diff -r da579e3e0ea1 -r e98c64d54d97
src-db/database/model/functions/M_EXPLODEBOMNOTSTOCK.xml
--- a/src-db/database/model/functions/M_EXPLODEBOMNOTSTOCK.xml Tue Feb 04
23:46:37 2014 +0100
+++ b/src-db/database/model/functions/M_EXPLODEBOMNOTSTOCK.xml Wed Feb 05
01:47:44 2014 +0100
@@ -30,6 +30,7 @@
v_PriceList_ID VARCHAR2(32);
v_PriceList_Version_ID VARCHAR2(32);
v_Record_ID VARCHAR2(32);
+ v_C_Tax_ID VARCHAR2(32) ;
TYPE RECORD IS REF CURSOR;
Cur_Parameter RECORD;
Cur_MPriceListVersion RECORD;
@@ -90,14 +91,14 @@
v_PriceList_Version_ID:=Cur_MPriceListVersion.PriceList_Version_ID;
EXIT;
END LOOP;
-
-- Replace Lines
v_ResultStr:='Inserting lines';
FOR CUR_BOM_Line IN
- (SELECT *
- FROM C_ORDERLINE l
+ (SELECT l.*,o.M_Warehouse_ID,o.C_BPartner_Location_ID,o.issotrx
+ FROM C_ORDERLINE l,c_order o
WHERE l.C_Orderline_ID=v_Record_ID
- AND IsActive='Y'
+ AND l.c_order_id=o.c_order_id
+ AND l.IsActive='Y'
AND EXISTS
(SELECT *
FROM M_PRODUCT p
@@ -119,6 +120,10 @@
ORDER BY Line
)
LOOP
+ v_C_Tax_ID:=C_Gettax(CUR_BOM.M_ProductBOM_ID,
CUR_BOM_Line.dateordered,
+ CUR_BOM_Line.AD_Org_ID, CUR_BOM_Line.M_Warehouse_ID,
CUR_BOM_Line.C_BPartner_Location_ID,
+ CUR_BOM_Line.C_BPartner_Location_ID, null, CUR_BOM_Line.issotrx) ;
+
v_Line:=v_Line + 1;
INSERT
INTO C_ORDERLINE
@@ -149,7 +154,7 @@
M_BOM_PriceList(CUR_BOM.M_ProductBOM_ID, v_PriceList_Version_ID),
M_Get_Offers_Price(CUR_BOM_Line.DateOrdered, v_CBPartner_ID,
CUR_BOM.M_ProductBOM_ID, M_BOM_PriceStd(CUR_BOM.M_ProductBOM_ID,
v_PriceList_Version_ID), CUR_BOM_Line.QtyInvoiced*CUR_BOM.BOMQty,
v_PriceList_ID), M_BOM_PriceLimit(CUR_BOM.M_ProductBOM_ID,
v_PriceList_Version_ID),
M_Get_Offers_Price(CUR_BOM_Line.DateOrdered, v_CBPartner_ID,
CUR_BOM.M_ProductBOM_ID, M_BOM_PriceStd(CUR_BOM.M_ProductBOM_ID,
v_PriceList_Version_ID), CUR_BOM_Line.QtyInvoiced*CUR_BOM.BOMQty,
v_PriceList_ID) * CUR_BOM_Line.QtyOrdered*CUR_BOM.BOMQty, CUR_BOM_Line.Discount,
- CUR_BOM_Line.FreightAmt, CUR_BOM_Line.C_Charge_ID,
CUR_BOM_Line.ChargeAmt, CUR_BOM_Line.C_Tax_ID,
+ CUR_BOM_Line.FreightAmt, CUR_BOM_Line.C_Charge_ID,
CUR_BOM_Line.ChargeAmt, coalesce(v_C_Tax_ID,CUR_BOM_Line.c_tax_id),
CUR_BOM_Line.QuantityOrder, CUR_BOM_Line.M_Product_UOM_ID,
M_BOM_PriceStd(CUR_BOM.M_ProductBOM_ID, v_PriceList_Version_ID),
CUR_BOM_Line.c_project_id, CUR_BOM_Line.a_asset_id,
CUR_BOM_Line.c_costcenter_id,
CUR_BOM_Line.user1_id, CUR_BOM_Line.user2_id, v_Record_ID
diff -r da579e3e0ea1 -r e98c64d54d97
src-db/database/model/functions/M_INVEXPLODEBOMNOTSTOCK.xml
--- a/src-db/database/model/functions/M_INVEXPLODEBOMNOTSTOCK.xml Tue Feb
04 23:46:37 2014 +0100
+++ b/src-db/database/model/functions/M_INVEXPLODEBOMNOTSTOCK.xml Wed Feb
05 01:47:44 2014 +0100
@@ -30,6 +30,7 @@
v_PriceList_ID VARCHAR2(32);
v_PriceList_Version_ID VARCHAR2(32);
v_Record_ID VARCHAR2(32);
+ v_C_Tax_ID VARCHAR2(32) ;
TYPE RECORD IS REF CURSOR;
Cur_Parameter RECORD;
Cur_MPriceListVersion RECORD;
@@ -105,10 +106,11 @@
v_ResultStr:='Inserting lines';
FOR CUR_BOM_Line IN
- (SELECT *
- FROM C_INVOICELINE l
+ (SELECT l.*,i.dateinvoiced,i.C_BPartner_Location_ID,i.issotrx
+ FROM C_INVOICELINE l, c_invoice i
WHERE l.C_invoiceline_ID=v_Record_ID
- AND IsActive='Y'
+ AND l.c_invoice_id = i.c_invoice_id
+ AND l.IsActive='Y'
AND EXISTS
(SELECT *
FROM M_PRODUCT p
@@ -166,6 +168,11 @@
END IF;
END IF;
END IF;
+
+ v_C_Tax_ID:=C_Gettax(CUR_BOM.M_ProductBOM_ID,
CUR_BOM_Line.dateinvoiced,
+ CUR_BOM_Line.AD_Org_ID, null, CUR_BOM_Line.C_BPartner_Location_ID,
+ CUR_BOM_Line.C_BPartner_Location_ID, null, CUR_BOM_Line.issotrx) ;
+
INSERT INTO C_INVOICELINE
(
@@ -189,7 +196,7 @@
M_Get_Offers_Price(v_DateInvoiced, v_CBPartner_ID,
CUR_BOM.M_ProductBOM_ID, M_BOM_PriceStd(CUR_BOM.M_ProductBOM_ID,
v_PriceList_Version_ID),CUR_BOM_Line.QtyInvoiced*CUR_BOM.BOMQty,
v_PriceList_ID),
M_BOM_PriceLimit(CUR_BOM.M_ProductBOM_ID, v_PriceList_Version_ID),
M_Get_Offers_Price(v_DateInvoiced, v_CBPartner_ID,
CUR_BOM.M_ProductBOM_ID, M_BOM_PriceStd(CUR_BOM.M_ProductBOM_ID,
v_PriceList_Version_ID),CUR_BOM_Line.QtyInvoiced*CUR_BOM.BOMQty,
v_PriceList_ID) * CUR_BOM_Line.QtyInvoiced*CUR_BOM.BOMQty,
CUR_BOM_Line.C_Charge_ID, CUR_BOM_Line.ChargeAmt,
- CUR_BOM_Line.C_Tax_ID, M_BOM_PriceStd(CUR_BOM.M_ProductBOM_ID,
v_PriceList_Version_ID),
+ coalesce(v_C_Tax_ID,CUR_BOM_Line.c_tax_id),
M_BOM_PriceStd(CUR_BOM.M_ProductBOM_ID, v_PriceList_Version_ID),
v_isdeferred_inv, v_defplantype_inv, v_periodnumber_inv,
v_period_inv,
CUR_BOM_Line.c_bpartner_id, CUR_BOM_Line.c_project_id,
CUR_BOM_Line.c_projectline_id, CUR_BOM_Line.a_asset_id,
CUR_BOM_Line.user1_id, CUR_BOM_Line.user2_id,v_Record_ID
------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits