diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/CompositeADTabbox.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/CompositeADTabbox.java index ea3dcbb805..aee6b86eaf 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/CompositeADTabbox.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/CompositeADTabbox.java @@ -151,6 +151,7 @@ public class CompositeADTabbox extends AbstractADTabbox showLastError(); } tabPanel.getGridTab().dataRefreshAll(true, true); + tabPanel.getGridTab().refreshParentTabs(); } else if (DetailPane.ON_DELETE_EVENT.equals(event.getName())) { onDelete(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/DetailPane.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/DetailPane.java index a8a3b55f17..cab2439adc 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/DetailPane.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/DetailPane.java @@ -710,7 +710,7 @@ public class DetailPane extends Panel implements EventListener, IdSpace { } else if (BTN_EDIT_ID.equals(btn.getId())) { btn.setDisabled(false); } else if (BTN_SAVE_ID.equals(btn.getId())) { - btn.setDisabled(false); + btn.setDisabled(!adtab.needSave(true, false)); } if (windowRestrictList.contains(btn.getId())) { btn.setVisible(false);