details: https://code.openbravo.com/erp/devel/pi/rev/c9d6308592b2 changeset: 28609:c9d6308592b2 user: Atul Gaware <atul.gaware <at> openbravo.com> date: Tue Feb 09 10:55:14 2016 +0530 summary: Fixes Issue 32134:Price Including taxes is not supported by the Purchasing Plan (Create Purchase Orders process)
details: https://code.openbravo.com/erp/devel/pi/rev/bdb7bfb6655e changeset: 28610:bdb7bfb6655e user: Atul Gaware <atul.gaware <at> openbravo.com> date: Mon Feb 08 22:15:23 2016 +0530 summary: Fixes Issue 32136:Wrong warehouse combo validation in the 'Create Purchase Orders popup in the Purchasing Plan window diffstat: src-db/database/model/functions/MRP_PURCHASEORDER.xml | 63 +++++++++++++++--- src-db/database/sourcedata/AD_VAL_RULE.xml | 2 +- 2 files changed, 51 insertions(+), 14 deletions(-) diffs (129 lines): diff -r 8d06deadd164 -r bdb7bfb6655e src-db/database/model/functions/MRP_PURCHASEORDER.xml --- a/src-db/database/model/functions/MRP_PURCHASEORDER.xml Wed Feb 10 22:16:11 2016 -0500 +++ b/src-db/database/model/functions/MRP_PURCHASEORDER.xml Mon Feb 08 22:15:23 2016 +0530 @@ -16,7 +16,7 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU -* All portions are Copyright (C) 2001-2007 Openbravo SLU +* All portions are Copyright (C) 2001-2016 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************/ @@ -53,6 +53,15 @@ v_ProductName NVARCHAR2(90); v_IsAPRMinstalled NUMBER; v_DefaultPaymentRule VARCHAR2(60):=null; + v_PriceListVersion_ID M_PRICELIST_VERSION.M_PRICELIST_VERSION_ID%TYPE; + v_istaxincluded CHAR(1); + v_LineNetAmt NUMBER:=0; + v_gross_unit_price NUMBER:=0; + v_stdprecision NUMBER:=0; + v_priceprecision NUMBER:=0; + v_line_gross_amount NUMBER:=0; + v_gross_price_std NUMBER:=0; + v_gross_price_list NUMBER:=0; v_Count NUMBER; @@ -191,14 +200,7 @@ AND plv.AD_Client_ID =v_Client_ID)); IF (v_count > 0) THEN - SELECT PriceList, PriceStd, - M_Get_Offers_Price(v_DateDoc,Cur_workproposal.C_BPartner_ID,Cur_workproposal.M_Product_ID,PriceStd,Cur_workproposal.QTY, Cur_workproposal.PO_PRICELIST_ID), - PriceLimit - INTO v_PriceList, v_PriceStd, v_PriceActual, v_PriceLimit - FROM M_ProductPrice - WHERE M_Product_ID = Cur_workproposal.M_Product_ID - AND M_PRICELIST_VERSION_ID = ( - SELECT min(plv.M_PriceList_Version_ID) as M_PriceList_Version_ID + SELECT min(plv.M_PriceList_Version_ID) INTO v_PriceListVersion_ID FROM M_PriceList_Version plv WHERE plv.M_PriceList_ID = Cur_workproposal.PO_PRICELIST_ID AND plv.IsActive= 'Y' @@ -210,7 +212,15 @@ AND plv.IsActive= 'Y' AND pl.M_PriceList_ID = Cur_workproposal.PO_PRICELIST_ID AND plv.ValidFrom <= v_DateDoc - AND plv.AD_Client_ID =v_Client_ID)); + AND plv.AD_Client_ID =v_Client_ID); + + SELECT PriceList, PriceStd, + M_Get_Offers_Price(v_DateDoc,Cur_workproposal.C_BPartner_ID,Cur_workproposal.M_Product_ID,PriceStd,Cur_workproposal.QTY, Cur_workproposal.PO_PRICELIST_ID), + PriceLimit + INTO v_PriceList, v_PriceStd, v_PriceActual, v_PriceLimit + FROM M_ProductPrice + WHERE M_Product_ID = Cur_workproposal.M_Product_ID + AND M_PRICELIST_VERSION_ID = v_PriceListVersion_ID; ELSE SELECT NAME INTO v_ProductName FROM M_PRODUCT @@ -220,8 +230,33 @@ RAISE_APPLICATION_ERROR(-20000, v_Message); END IF; + SELECT istaxincluded INTO v_istaxincluded + FROM M_PRICELIST + WHERE M_PRICELIST_ID = (SELECT M_PRICELIST_ID + FROM M_PRICELIST_VERSION + WHERE M_PRICELIST_VERSION_ID = v_PriceListVersion_ID); + v_TaxID := C_GetTax(Cur_workproposal.M_Product_ID, v_DateDoc, v_Org_ID, v_M_Warehouse_ID, v_BillTo_ID, v_BPartner_Location_ID, null, 'N'); + v_LineNetAmt:= v_PriceActual*Cur_workproposal.QTY; + IF (v_istaxincluded = 'Y') THEN + SELECT PricePrecision, stdprecision + INTO v_priceprecision, v_stdprecision + FROM C_CURRENCY + WHERE C_CURRENCY_ID = Cur_workproposal.C_Currency_ID; + v_gross_unit_price:= v_PriceActual; + v_gross_price_std:= v_PriceStd; + v_gross_price_list:= v_PriceList; + v_line_gross_amount:= ROUND(v_gross_unit_price * Cur_workproposal.QTY, v_stdprecision); + v_PriceActual:= C_GET_NET_PRICE_FROM_GROSS(v_TaxID, v_PriceActual, 0, v_priceprecision, 1); + v_PriceStd:= C_GET_NET_PRICE_FROM_GROSS(v_TaxID, v_PriceStd, 0, v_priceprecision, 1); + v_PriceList:= C_GET_NET_PRICE_FROM_GROSS(v_TaxID, v_PriceList, 0, v_priceprecision, 1); + v_PriceLimit:= C_GET_NET_PRICE_FROM_GROSS(v_TaxID, v_PriceLimit, 0, v_priceprecision, 1); + v_LineNetAmt:= ROUND(v_PriceActual * Cur_workproposal.QTY, v_stdprecision); + + UPDATE C_ORDER SET ISTAXINCLUDED='Y' WHERE C_ORDER_ID = v_COrder_ID; + + END IF; v_ResultStr:='Insert order line'; INSERT INTO C_OrderLine @@ -232,7 +267,8 @@ M_WAREHOUSE_ID, C_UOM_ID, QTYORDERED, C_CURRENCY_ID, PRICELIST, PRICEACTUAL, PRICELIMIT, PRICESTD, LINENETAMT, DISCOUNT, - C_TAX_ID) + C_TAX_ID, gross_unit_price, line_gross_amount, + grosspricestd, grosspricelist) VALUES (v_COrderLine_ID,v_Client_ID, v_Org_ID,'Y', now(), v_User_ID, now(), v_User_ID, @@ -240,8 +276,9 @@ Cur_workproposal.PLANNEDORDERDATE, Cur_workproposal.PLANNEDDATE, v_Description, Cur_workproposal.M_Product_ID, v_M_Warehouse_ID, Cur_workproposal.C_UOM_ID, Cur_workproposal.QTY, Cur_workproposal.C_Currency_ID, v_PriceList, v_PriceActual, v_PriceLimit, - v_PriceStd, v_PriceActual*Cur_workproposal.QTY,CASE v_PriceList WHEN 0 THEN 0 ELSE ROUND((((v_PriceList-v_PriceStd) / v_PriceList) * 100),2) END, - v_TaxID + v_PriceStd, v_LineNetAmt, CASE v_PriceList WHEN 0 THEN 0 ELSE ROUND((((v_PriceList-v_PriceStd) / v_PriceList) * 100),2) END, + v_TaxID, v_gross_unit_price, v_line_gross_amount, + v_gross_price_std, v_gross_price_list ); UPDATE MRP_RUN_PURCHASELINE diff -r 8d06deadd164 -r bdb7bfb6655e src-db/database/sourcedata/AD_VAL_RULE.xml --- a/src-db/database/sourcedata/AD_VAL_RULE.xml Wed Feb 10 22:16:11 2016 -0500 +++ b/src-db/database/sourcedata/AD_VAL_RULE.xml Mon Feb 08 22:15:23 2016 +0530 @@ -1719,7 +1719,7 @@ <!--71188F0005494DA08311B4FFB2C5A993--> <NAME><![CDATA[AD_Org child orgs any table]]></NAME> <!--71188F0005494DA08311B4FFB2C5A993--> <DESCRIPTION><![CDATA[Filters the rows to show only those in that belong to child organizations of the organization of the record.]]></DESCRIPTION> <!--71188F0005494DA08311B4FFB2C5A993--> <TYPE><![CDATA[S]]></TYPE> -<!--71188F0005494DA08311B4FFB2C5A993--> <CODE><![CDATA[AD_ISORGINCLUDED(@AD_ORG_ID@, ad_org_id, ad_client_id)<>-1]]></CODE> +<!--71188F0005494DA08311B4FFB2C5A993--> <CODE><![CDATA[AD_ISORGINCLUDED(ad_org_id, @AD_ORG_ID@, ad_client_id)<>-1]]></CODE> <!--71188F0005494DA08311B4FFB2C5A993--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> <!--71188F0005494DA08311B4FFB2C5A993--></AD_VAL_RULE> ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits