diff --git a/org.adempiere.base.callout/src/org/adempiere/base/callout/TableIDCallout.java b/org.adempiere.base.callout/src/org/adempiere/base/callout/TableIDCallout.java index d39914f596..4e3317bbee 100644 --- a/org.adempiere.base.callout/src/org/adempiere/base/callout/TableIDCallout.java +++ b/org.adempiere.base.callout/src/org/adempiere/base/callout/TableIDCallout.java @@ -47,6 +47,10 @@ public class TableIDCallout implements IColumnCallout { @Override public String start(Properties ctx, int WindowNo, GridTab mTab, GridField mField, Object value, Object oldValue) { + // do not trigger change if the table didn't change + if (oldValue != null && value != null && oldValue.equals(value)) + return null; + GridField recordId = mTab.getField("Record_ID"); if (recordId != null) { mTab.setValue(recordId, null); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WRecordIDDialog.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WRecordIDDialog.java index 6af88b304d..b67c14b87e 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WRecordIDDialog.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WRecordIDDialog.java @@ -168,7 +168,7 @@ public class WRecordIDDialog extends Window implements EventListener, Val parentTextBox.setReadonly(true); MTable parentTable = MTable.get(editor.getGridField().getGridTab().getAD_Table_ID()); Serializable parentRecordId; - if (parentTable.isUUIDKeyTable()) + if (! parentTable.isIDKeyTable()) parentRecordId = (Serializable) editor.getGridField().getGridTab().getValue(PO.getUUIDColumnName(parentTable.getTableName())); else parentRecordId = editor.getGridField().getGridTab().getRecord_ID();