details: https://code.openbravo.com/erp/devel/pi/rev/7d2c288c2d47 changeset: 32832:7d2c288c2d47 user: Atul Gaware <atul.gaware <at> openbravo.com> date: Mon Apr 25 22:33:24 2016 +0530 summary: Fixes issue 32520: Wrong available quantity is shown in Return To Vendor Shipment Pick and Edit when there is not stock
If product is not stockable, available quantity will be return to vendor line quantity. Otherwise, available quantity will be calculated. diffstat: src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (9 lines): diff -r cef7dc214e61 -r 7d2c288c2d47 src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml --- a/src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml Thu Sep 28 10:53:50 2017 +0200 +++ b/src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml Mon Apr 25 22:33:24 2016 +0530 @@ -1,4 +1,4 @@ <?xml version="1.0"?> <database name="VIEW M_RM_SHIPMENT_PICK_EDIT"> - <view name="M_RM_SHIPMENT_PICK_EDIT"><![CDATA[SELECT COALESCE(sd.m_storage_detail_id, '') || ol.c_orderline_id AS m_rm_shipment_pick_edit_id, ol.ad_client_id, COALESCE(iol.ad_org_id, ol.ad_org_id) AS ad_org_id, ol.isactive, ol.createdby, ol.created, ol.updatedby, ol.updated, o.documentno AS returnorderno, ol.m_product_id, ol.m_attributesetinstance_id, ol.c_uom_id, (-1) * ol.qtyordered AS returned, (-1) * iol.movementqty AS movementqty, sd.m_locator_id, CASE WHEN sd.m_locator_id IS NULL THEN (-1) * ol.qtyordered ELSE COALESCE(sd.qtyonhand, 0) END AS availableqty, (-1) * CASE WHEN uom_pref.property IS NOT NULL AND ol.c_uom_id IS NOT NULL THEN ol.qtyordered - ol.qtydelivered ELSE m_get_converted_aumqty(ol.m_product_id, ol.qtyordered - ol.qtydelivered, ol.c_aum) END AS pendingqty, iol.m_inout_id, CASE WHEN iol.m_inout_id IS NOT NULL THEN 'Y' ELSE 'N' END AS ob_selected, ol.c_orderline_id, ol.line, iol.m_inoutline_id, p.isstocked, o.c_bpartner_id, l.ad_org_id AS locatororg, ol.c_aum, (-1) * ol.aumqty AS aumqty, ol.c_uom_id AS returneduom, (-1) * CASE WHEN uom_pref.property IS NOT NULL AND ol.c_uom_id IS NOT NULL THEN m_get_converted_aumqty(ol.m_product_id, ol.qtyordered - ol.qtydelivered, ol.c_aum) ELSE ol.qtyordered - ol.qtydelivered END AS pendingaumqty, m_get_converted_aumqty(ol.m_product_id, CASE WHEN sd.m_locator_id IS NULL THEN (-1) * ol.qtyordered ELSE COALESCE(sd.qtyonhand, 0) END, ol.c_aum) AS availableaumqty, m_get_converted_qty(ol.m_product_id, 1, ol.c_aum) AS rate FROM c_orderline ol JOIN c_order o ON o.c_order_id = ol.c_order_id AND o.processed = 'Y' AND o.issotrx = 'N' AND o.isdelivered = 'N' JOIN m_product p ON p.m_product_id = ol.m_product_id LEFT JOIN m_storage_detail sd ON sd.m_product_id = ol.m_product_id AND COALESCE(sd.m_attributesetinstance_id, '0') = COALESCE(ol.m_attributesetinstance_id, '0') AND sd.qtyonhand > 0 JOIN c_doctype dt ON o.c_doctypetarget_id = dt.c_doctype_id AND dt.isreturn = 'Y' LEFT JOIN (SELECT iol2.m_inoutline_id, iol2. m_inout_id, iol2.movementqty, iol2.c_orderline_id, iol2.ad_org_id, iol2.m_locator_id FROM m_inoutline iol2 JOIN m_inout io2 ON iol2.m_inout_id = io2.m_inout_id AND io2.processed = 'N') iol ON iol.c_orderline_id = ol.c_orderline_id AND iol.m_locator_id = sd.m_locator_id LEFT JOIN m_locator l ON sd.m_locator_id = l.m_locator_id LEFT JOIN (SELECT pref.property FROM ad_preference pref WHERE pref.property = 'UomManagement' AND to_char(pref.value) = 'Y' AND pref.ad_client_id = '0' AND pref.ad_org_id = '0' AND pref.visibleat_client_id IS NULL AND pref.visibleat_org_id IS NULL AND pref.visibleat_role_id IS NULL AND pref.ad_user_id IS NULL) uom_pref ON 1 = 1 WHERE o.docstatus = 'CO' AND ol.qtyordered <> ol.qtydelivered]]></view> + <view name="M_RM_SHIPMENT_PICK_EDIT"><![CDATA[SELECT COALESCE(sd.m_storage_detail_id, '') || ol.c_orderline_id AS m_rm_shipment_pick_edit_id, ol.ad_client_id, COALESCE(iol.ad_org_id, ol.ad_org_id) AS ad_org_id, ol.isactive, ol.createdby, ol.created, ol.updatedby, ol.updated, o.documentno AS returnorderno, ol.m_product_id, ol.m_attributesetinstance_id, ol.c_uom_id, (-1) * ol.qtyordered AS returned, (-1) * iol.movementqty AS movementqty, sd.m_locator_id, CASE WHEN p.isstocked = 'N' THEN (-1) * ol.qtyordered ELSE COALESCE(sd.qtyonhand, 0) END AS availableqty, (-1) * CASE WHEN uom_pref.property IS NOT NULL AND ol.c_uom_id IS NOT NULL THEN ol.qtyordered - ol.qtydelivered ELSE m_get_converted_aumqty(ol.m_product_id, ol.qtyordered - ol.qtydelivered, ol.c_aum) END AS pendingqty, iol.m_inout_id, CASE WHEN iol.m_inout_id IS NOT NULL THEN 'Y' ELSE 'N' END AS ob_selected, ol.c_orderline_id, ol.line, iol.m_inoutline_id, p.isstocked, o.c_bpartner_id, l.ad_org_id AS locatororg, ol.c_aum, (-1) * ol.aumqty AS aumqty, ol.c_uom_id AS returneduom, (-1) * CASE WHEN uom_pref.property IS NOT NULL AND ol.c_uom_id IS NOT NULL THEN m_get_converted_aumqty(ol.m_product_id, ol.qtyordered - ol.qtydelivered, ol.c_aum) ELSE ol.qtyordered - ol.qtydelivered END AS pendingaumqty, m_get_converted_aumqty(ol.m_product_id, CASE WHEN sd.m_locator_id IS NULL THEN (-1) * ol.qtyordered ELSE COALESCE(sd.qtyonhand, 0) END, ol.c_aum) AS availableaumqty, m_get_converted_qty(ol.m_product_id, 1, ol.c_aum) AS rate FROM c_orderline ol JOIN c_order o ON o.c_order_id = ol.c_order_id AND o.processed = 'Y' AND o.issotrx = 'N' AND o.isdelivered = 'N' JOIN m_product p ON p.m_product_id = ol.m_product_id LEFT JOIN m_storage_detail sd ON sd.m_product_id = ol.m_product_id AND COALESCE(sd.m_attributesetinstance_id, '0') = COALESCE(ol.m_attributesetinstance_id, '0') AND sd.qtyonhand > 0 JOIN c_doctype dt ON o.c_doctypetarget_id = dt.c_doctype_id AND dt.isreturn = 'Y' LEFT JOIN (SELECT iol2.m_inoutline_id, iol2.m_inou t_id, iol2.movementqty, iol2.c_orderline_id, iol2.ad_org_id, iol2.m_locator_id FROM m_inoutline iol2 JOIN m_inout io2 ON iol2.m_inout_id = io2.m_inout_id AND io2.processed = 'N') iol ON iol.c_orderline_id = ol.c_orderline_id AND iol.m_locator_id = sd.m_locator_id LEFT JOIN m_locator l ON sd.m_locator_id = l.m_locator_id LEFT JOIN (SELECT pref.property FROM ad_preference pref WHERE pref.property = 'UomManagement' AND to_char(pref.value) = 'Y' AND pref.ad_client_id = '0' AND pref.ad_org_id = '0' AND pref.visibleat_client_id IS NULL AND pref.visibleat_org_id IS NULL AND pref.visibleat_role_id IS NULL AND pref.ad_user_id IS NULL) uom_pref ON 1 = 1 WHERE o.docstatus = 'CO' AND ol.qtyordered <> ol.qtydelivered]]></view> </database> ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits