diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutInOut.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutInOut.java index 412e02f231..8ca716ff72 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutInOut.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutInOut.java @@ -525,7 +525,7 @@ public class CalloutInOut extends CalloutEngine mTab.setValue("M_Locator_ID", Integer.valueOf(M_Locator_ID)); } else - mTab.setValue("M_AttributeSetInstance_ID", null); + mTab.setValue("M_AttributeSetInstance_ID", 0); // int M_Warehouse_ID = Env.getContextAsInt(ctx, WindowNo, "M_Warehouse_ID"); boolean IsSOTrx = "Y".equals(Env.getContext(ctx, WindowNo, "IsSOTrx")); diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutInventory.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutInventory.java index 9e6d034539..0d9b8b2a9e 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutInventory.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutInventory.java @@ -60,7 +60,7 @@ public class CalloutInventory extends CalloutEngine if ("M_Product_ID".equals(mField.getColumnName())) { // product changed - remove old ASI - mTab.setValue("M_AttributeSetInstance_ID", null); + mTab.setValue("M_AttributeSetInstance_ID", 0); } // Get Book Value @@ -96,7 +96,7 @@ public class CalloutInventory extends CalloutEngine if (M_AttributeSetInstance_ID != 0) mTab.setValue(MInventoryLine.COLUMNNAME_M_AttributeSetInstance_ID, M_AttributeSetInstance_ID); else - mTab.setValue(MInventoryLine.COLUMNNAME_M_AttributeSetInstance_ID, null); + mTab.setValue(MInventoryLine.COLUMNNAME_M_AttributeSetInstance_ID, 0); } // Set QtyBook from first storage location diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutInvoice.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutInvoice.java index b22f690162..e2db5081a5 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutInvoice.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutInvoice.java @@ -325,7 +325,7 @@ public class CalloutInvoice extends CalloutEngine && Env.getContextAsInt(ctx, WindowNo, Env.TAB_INFO, "M_AttributeSetInstance_ID") != 0) mTab.setValue("M_AttributeSetInstance_ID", Env.getContextAsInt(ctx, WindowNo, Env.TAB_INFO, "M_AttributeSetInstance_ID")); else - mTab.setValue("M_AttributeSetInstance_ID", null); + mTab.setValue("M_AttributeSetInstance_ID", 0); /***** Price Calculation see also qty ****/ boolean IsSOTrx = Env.getContext(ctx, WindowNo, "IsSOTrx").equals("Y"); diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutMovement.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutMovement.java index cc2f6466bc..78f8712f23 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutMovement.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutMovement.java @@ -54,7 +54,7 @@ public class CalloutMovement extends CalloutEngine && Env.getContextAsInt(ctx, WindowNo, Env.TAB_INFO, "M_AttributeSetInstance_ID") != 0) mTab.setValue("M_AttributeSetInstance_ID", Env.getContextAsInt(ctx, WindowNo, Env.TAB_INFO, "M_AttributeSetInstance_ID")); else - mTab.setValue("M_AttributeSetInstance_ID", null); + mTab.setValue("M_AttributeSetInstance_ID", 0); checkQtyAvailable(ctx, mTab, WindowNo, M_Product_ID, null); return ""; diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutOrder.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutOrder.java index 2684da6eba..43856064c1 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutOrder.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutOrder.java @@ -759,7 +759,7 @@ public class CalloutOrder extends CalloutEngine && Env.getContextAsInt(ctx, WindowNo, Env.TAB_INFO, "M_AttributeSetInstance_ID") != 0) mTab.setValue("M_AttributeSetInstance_ID", Env.getContextAsInt(ctx, WindowNo, Env.TAB_INFO, "M_AttributeSetInstance_ID")); else - mTab.setValue("M_AttributeSetInstance_ID", null); + mTab.setValue("M_AttributeSetInstance_ID", 0); /***** Price Calculation see also qty ****/ int C_BPartner_ID = Env.getContextAsInt(ctx, WindowNo, "C_BPartner_ID"); diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutProduction.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutProduction.java index 8d686f27e6..f4d727d817 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutProduction.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutProduction.java @@ -55,7 +55,7 @@ public class CalloutProduction extends CalloutEngine } else { - mTab.setValue("M_AttributeSetInstance_ID", null); + mTab.setValue("M_AttributeSetInstance_ID", 0); } MProduct product = MProduct.get(ctx, M_Product_ID); diff --git a/org.adempiere.base/src/org/compiere/model/MOrderLine.java b/org.adempiere.base/src/org/compiere/model/MOrderLine.java index 0999811023..bbdc0946df 100644 --- a/org.adempiere.base/src/org/compiere/model/MOrderLine.java +++ b/org.adempiere.base/src/org/compiere/model/MOrderLine.java @@ -808,8 +808,10 @@ public class MOrderLine extends X_C_OrderLine // R/O Check - Product/Warehouse Change if (!newRecord - && (is_ValueChanged("M_Product_ID") || is_ValueChanged("M_Warehouse_ID") || - (!getParent().isProcessed() && is_ValueChanged(COLUMNNAME_M_AttributeSetInstance_ID)))) + && ( is_ValueChanged("M_Product_ID") + || is_ValueChanged("M_Warehouse_ID") + || ( !getParent().isProcessed() + && getM_AttributeSetInstance_ID() != get_ValueOldAsInt(COLUMNNAME_M_AttributeSetInstance_ID)))) { if (!canChangeWarehouse()) return false;