diff --git a/org.adempiere.base/src/org/compiere/model/MRecentItem.java b/org.adempiere.base/src/org/compiere/model/MRecentItem.java index b821915486..4c430bc9ad 100644 --- a/org.adempiere.base/src/org/compiere/model/MRecentItem.java +++ b/org.adempiere.base/src/org/compiere/model/MRecentItem.java @@ -171,6 +171,7 @@ public class MRecentItem extends X_AD_RecentItem implements ImmutablePOSupport if (retValue.getAD_Table_ID() == AD_Table_ID && retValue.getRecord_ID() == Record_ID && retValue.getAD_User_ID() == AD_User_ID + && retValue.getAD_Client_ID() == Env.getAD_Client_ID(ctx) && Env.getAD_Language(ctx).equals(Env.getAD_Language(retValue.getCtx())) ) { @@ -179,7 +180,7 @@ public class MRecentItem extends X_AD_RecentItem implements ImmutablePOSupport } // MRecentItem retValue = null; - String sql = "SELECT * FROM AD_RecentItem WHERE AD_Table_ID=? AND Record_ID=? AND NVL(AD_User_ID,0)=?"; + String sql = "SELECT * FROM AD_RecentItem WHERE AD_Table_ID=? AND Record_ID=? AND NVL(AD_User_ID,0)=? AND AD_Client_ID=?"; PreparedStatement pstmt = null; ResultSet rs = null; try @@ -188,6 +189,7 @@ public class MRecentItem extends X_AD_RecentItem implements ImmutablePOSupport pstmt.setInt(1, AD_Table_ID); pstmt.setInt(2, Record_ID); pstmt.setInt(3, AD_User_ID); + pstmt.setInt(4, Env.getAD_Client_ID(ctx)); rs = pstmt.executeQuery (); if (rs.next ()) retValue = new MRecentItem (ctx, rs, null); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WCtxHelpSuggestion.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WCtxHelpSuggestion.java index ce8ea17902..c5177ec256 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WCtxHelpSuggestion.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WCtxHelpSuggestion.java @@ -202,6 +202,9 @@ public class WCtxHelpSuggestion extends Window implements EventListener { Object[] params = new Object[]{helpTextbox.getValue(), ctxHelpMsg.get_ID(), ctxHelpMsg.getAD_Client_ID(), Env.getAD_Language(Env.getCtx())}; DB.executeUpdateEx(update.toString(), params, trx.getTrxName()); } else { + try { + PO.setCrossTenantSafe(); + /* this whole block code is forcefully writing records on System tenant */ MCtxHelpSuggestion suggestion = new MCtxHelpSuggestion(Env.getCtx(), 0, trx.getTrxName()); suggestion.setClientOrg(0, 0); if (ctxHelpMsg != null) { @@ -261,7 +264,10 @@ public class WCtxHelpSuggestion extends Window implements EventListener { suggestion.setMsgText(helpTextbox.getValue()); suggestion.setIsSaveAsTenantCustomization(false); - suggestion.saveEx(); + suggestion.saveEx(); + } finally { + PO.clearCrossTenantSafe(); + } } this.detach(); }