diff --git a/migration/i9/oracle/202112291927_IDEMPIERE-5132.sql b/migration/i9/oracle/202112291927_IDEMPIERE-5132.sql new file mode 100644 index 0000000000..467ca6496d --- /dev/null +++ b/migration/i9/oracle/202112291927_IDEMPIERE-5132.sql @@ -0,0 +1,19 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- IDEMPIERE-5132 Enable filling Purchase Order in Material Receipt +-- Dec 29, 2021, 7:26:07 PM CET +UPDATE AD_Field SET DisplayLogic=NULL, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, ReadOnlyLogic='@C_Order_ID@!0', IsToolbarButton=NULL,Updated=TO_DATE('2021-12-29 19:26:07','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3490 +; + +-- Dec 30, 2021, 11:44:51 AM CET +UPDATE AD_Field SET IsReadOnly='N', AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-12-30 11:44:51','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3490 +; + +-- Dec 30, 2021, 12:12:11 PM CET +UPDATE AD_Field SET DisplayLogic=NULL, IsReadOnly='N', AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, ReadOnlyLogic='@C_OrderLine_ID@!0', IsToolbarButton=NULL,Updated=TO_DATE('2021-12-30 12:12:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3521 +; + +SELECT register_migration_script('202112291927_IDEMPIERE-5132.sql') FROM dual +; + diff --git a/migration/i9/postgresql/202112291927_IDEMPIERE-5132.sql b/migration/i9/postgresql/202112291927_IDEMPIERE-5132.sql new file mode 100644 index 0000000000..824b7e20c1 --- /dev/null +++ b/migration/i9/postgresql/202112291927_IDEMPIERE-5132.sql @@ -0,0 +1,16 @@ +-- IDEMPIERE-5132 Enable filling Purchase Order in Material Receipt +-- Dec 29, 2021, 7:26:07 PM CET +UPDATE AD_Field SET DisplayLogic=NULL, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, ReadOnlyLogic='@C_Order_ID@!0', IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-12-29 19:26:07','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3490 +; + +-- Dec 30, 2021, 11:44:51 AM CET +UPDATE AD_Field SET IsReadOnly='N', AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-12-30 11:44:51','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3490 +; + +-- Dec 30, 2021, 12:12:11 PM CET +UPDATE AD_Field SET DisplayLogic=NULL, IsReadOnly='N', AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, ReadOnlyLogic='@C_OrderLine_ID@!0', IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-12-30 12:12:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3521 +; + +SELECT register_migration_script('202112291927_IDEMPIERE-5132.sql') FROM dual +; + diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WCreateFromShipmentUI.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WCreateFromShipmentUI.java index c34d1c2c62..948cc1cf25 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WCreateFromShipmentUI.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WCreateFromShipmentUI.java @@ -232,53 +232,12 @@ public class WCreateFromShipmentUI extends CreateFromShipment implements EventLi if (m_actionActive) return; m_actionActive = true; - /* - // Order - if (e.getTarget().equals(orderField)) - { - ListItem li = orderField.getSelectedItem(); - int C_Order_ID = 0; - if (li != null && li.getValue() != null) - C_Order_ID = ((Integer) li.getValue()).intValue(); - // set Invoice, RMA and Shipment to Null - rmaField.setSelectedIndex(-1); - //shipmentField.setSelectedIndex(-1); - loadOrder(C_Order_ID, true); - } - // Shipment - else if (e.getTarget().equals(invoiceField)) - { - ListItem li = shipmentField.getSelectedItem(); - int M_InOut_ID = 0; - if (li != null && li.getValue() != null) - M_InOut_ID = ((Integer) li.getValue()).intValue(); - // set Order, RMA and Invoice to Null - orderField.setSelectedIndex(-1); - rmaField.setSelectedIndex(-1); - loadShipment(M_InOut_ID); - } - // RMA - else if (e.getTarget().equals(rmaField)) - { - ListItem li = rmaField.getSelectedItem(); - int M_RMA_ID = 0; - if (li != null && li.getValue() != null) - M_RMA_ID = ((Integer) li.getValue()).intValue(); - // set Order and Invoice to Null - orderField.setSelectedIndex(-1); - //shipmentField.setSelectedIndex(-1); - loadRMA(M_RMA_ID); - } - m_actionActive = false; - */ - + // Order if (e.getTarget().equals(orderField)) { KeyNamePair pp = orderField.getSelectedItem().toKeyNamePair(); - if (pp == null || pp.getKey() == 0) - ; - else + if (pp != null && pp.getKey() > 0) { int C_Order_ID = pp.getKey(); // set Invoice and Shipment to Null @@ -291,9 +250,7 @@ public class WCreateFromShipmentUI extends CreateFromShipment implements EventLi else if (e.getTarget().equals(invoiceField)) { KeyNamePair pp = invoiceField.getSelectedItem().toKeyNamePair(); - if (pp == null || pp.getKey() == 0) - ; - else + if (pp != null && pp.getKey() > 0) { int C_Invoice_ID = pp.getKey(); // set Order and Shipment to Null @@ -306,9 +263,7 @@ public class WCreateFromShipmentUI extends CreateFromShipment implements EventLi else if (e.getTarget().equals(rmaField)) { KeyNamePair pp = rmaField.getSelectedItem().toKeyNamePair(); - if (pp == null || pp.getKey() == 0) - ; - else + if (pp != null && pp.getKey() > 0) { int M_RMA_ID = pp.getKey(); // set Order and Shipment to Null @@ -460,7 +415,17 @@ public class WCreateFromShipmentUI extends CreateFromShipment implements EventLi for(KeyNamePair knp : list) orderField.addItem(knp); - orderField.setSelectedIndex(0); + int C_Order_ID = Env.getContextAsInt(Env.getCtx(), p_WindowNo, "C_Order_ID"); + if (C_Order_ID > 0) { + orderField.setValue(Integer.valueOf(C_Order_ID)); + if (orderField.getSelectedItem() != null) { // in case the order is not in the list, f.e. the BP was changed + KeyNamePair knpo = orderField.getSelectedItem().toKeyNamePair(); + if (knpo != null && knpo.getKey() > 0) + loadOrder(knpo.getKey(), false, locatorField.getValue()!=null?((Integer)locatorField.getValue()).intValue():0); + } + } else { + orderField.setSelectedIndex(0); + } orderField.addActionListener(this); initBPDetails(C_BPartner_ID);