From 1c3b7c41798f20565d53f1744426ff96aebf01ee Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Wed, 9 Apr 2014 12:40:21 -0500 Subject: [PATCH] IDEMPIERE-1884 phantom shipment record create when create wrong Drop Shipment --- .../src/org/compiere/model/MInOut.java | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MInOut.java b/org.adempiere.base/src/org/compiere/model/MInOut.java index 411df8ff82..aa7b8e1c3d 100644 --- a/org.adempiere.base/src/org/compiere/model/MInOut.java +++ b/org.adempiere.base/src/org/compiere/model/MInOut.java @@ -1706,6 +1706,10 @@ public class MInOut extends X_M_InOut implements DocAction if ( isSOTrx() || !isDropShip() || getC_Order_ID() == 0 ) return null; + int linkedOrderID = new MOrder (getCtx(), getC_Order_ID(), get_TrxName()).getLink_Order_ID(); + if (linkedOrderID <= 0) + return null; + // Document Type int C_DocTypeTarget_ID = 0; MDocType[] shipmentTypes = MDocType.getOfDocBaseType(getCtx(), MDocType.DOCBASETYPE_MaterialDelivery); @@ -1720,18 +1724,12 @@ public class MInOut extends X_M_InOut implements DocAction MInOut dropShipment = copyFrom(this, getMovementDate(), getDateAcct(), C_DocTypeTarget_ID, !isSOTrx(), false, get_TrxName(), true); - int linkedOrderID = new MOrder (getCtx(), getC_Order_ID(), get_TrxName()).getLink_Order_ID(); - if (linkedOrderID != 0) - { - dropShipment.setC_Order_ID(linkedOrderID); + dropShipment.setC_Order_ID(linkedOrderID); - // get invoice id from linked order - int invID = new MOrder (getCtx(), linkedOrderID, get_TrxName()).getC_Invoice_ID(); - if ( invID != 0 ) - dropShipment.setC_Invoice_ID(invID); - } - else - return null; + // get invoice id from linked order + int invID = new MOrder (getCtx(), linkedOrderID, get_TrxName()).getC_Invoice_ID(); + if ( invID != 0 ) + dropShipment.setC_Invoice_ID(invID); dropShipment.setC_BPartner_ID(getDropShip_BPartner_ID()); dropShipment.setC_BPartner_Location_ID(getDropShip_Location_ID());