details: https://code.openbravo.com/erp/devel/pi/rev/1669f11b74c1 changeset: 25771:1669f11b74c1 user: Alvaro Ferraz <alvaro.ferraz <at> openbravo.com> date: Wed Jan 28 14:09:37 2015 +0100 summary: Fix issue 28681: Return to Vendor Shipment pick/edit shows lines of any org
An extra condition has been added to Return to Vendor Shipment Pick/Edit Lines HQL Where Clause, in order to show only lines with warehouse belonging to natural organization's tree. Also M_RM_SHIPMENT_PICK_EDIT view has been modified to add a hack, to avoid having errors with pendingqty column when querying the view in Oracle diffstat: src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml | 2 +- src-db/database/sourcedata/AD_TAB.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diffs (21 lines): diff -r 4425f34e62c7 -r 1669f11b74c1 src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml --- a/src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml Tue Jan 27 20:28:05 2015 +0100 +++ b/src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml Wed Jan 28 14:09:37 2015 +0100 @@ -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) * (ol.qtyordered - COALESCE((SELECT sum(iol3.movementqty) AS sum FROM m_inoutline iol3 JOIN m_inout io3 ON iol3.m_inout_id = io3.m_inout_id AND io3.processed = 'Y' WHERE iol3.c_orderline_id = ol.c_orderline_id), 0)) 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 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' 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 LEFT JOIN m_locator l ON sd.m_locator_id = l.m_locator_id 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 WHERE o.docstatus = 'CO']]></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 sd.m_locator_id IS NULL THEN (-1) * ol.qtyordered ELSE COALESCE(sd.qtyonhand, 0) END AS availableqty, (-1) * (ol.qtyordered - to_number(COALESCE((SELECT to_char(sum(COALESCE(iol3.movementqty, 0))) AS sum FROM m_inoutline iol3 JOIN m_inout io3 ON iol3.m_inout_id = io3.m_inout_id AND io3.processed = 'Y' WHERE iol3.c_orderline_id = ol.c_orderline_id), '0'))) 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 FROM c_orderlin e ol JOIN c_order o ON o.c_order_id = ol.c_order_id AND o.processed = 'Y' AND o.issotrx = 'N' 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 LEFT JOIN m_locator l ON sd.m_locator_id = l.m_locator_id 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 WHERE o.docstatus = 'CO']]></view> </database> diff -r 4425f34e62c7 -r 1669f11b74c1 src-db/database/sourcedata/AD_TAB.xml --- a/src-db/database/sourcedata/AD_TAB.xml Tue Jan 27 20:28:05 2015 +0100 +++ b/src-db/database/sourcedata/AD_TAB.xml Wed Jan 28 14:09:37 2015 +0100 @@ -16857,7 +16857,7 @@ <!--9195CC43B5A4419195030A4DB17D8737--> <UIPATTERN><![CDATA[STD]]></UIPATTERN> <!--9195CC43B5A4419195030A4DB17D8737--> <HQLWHERECLAUSE><![CDATA[COALESCE(e.goodsShipment.id, @MaterialMgmtShipmentInOut.id@) = @MaterialMgmtShipmentInOut.id@ AND @MaterialMgmtShipmentInOut.businessPartner@ = e.orderLine.salesOrder.businessPartner.id -AND e.pending <> 0]]></HQLWHERECLAUSE> +AND e.pending <> 0 AND ad_org_isinnaturaltree(@MaterialMgmtShipmentInOut.organization@, e.storageBin.organization.id, @MaterialMgmtShipmentInOut.client@) = 'Y']]></HQLWHERECLAUSE> <!--9195CC43B5A4419195030A4DB17D8737--> <HQLORDERBYCLAUSE><![CDATA[obSelected DESC, rMOrderNo, product]]></HQLORDERBYCLAUSE> <!--9195CC43B5A4419195030A4DB17D8737--> <SHOWPARENTBUTTONS><![CDATA[Y]]></SHOWPARENTBUTTONS> <!--9195CC43B5A4419195030A4DB17D8737--> <DISABLE_PARENT_KEY_PROPERTY><![CDATA[N]]></DISABLE_PARENT_KEY_PROPERTY> ------------------------------------------------------------------------------ Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ Openbravo-commits mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openbravo-commits
