クライアントスクリプトの条件式について

yasu4
Kilo Guru

「要求アイテムのassignment_groupに自分の所属するグループが1つでも設定されている場合」という条件を記入したいのですが、スクリプトを教えていただけますか。

サーバーサイドの「gs.getUser().isMemberOf(current.assignment_group」と同じ条件です。

1 件の受理された解決策

iwai
Giga Sage

無理にClientだけでGlideRecordのQueryを行わない方が良いです。
色々方法があります。

  1. GlideAjaxを利用する方法。
  2. Reference項目であれば、検索条件にServer side Scriptを埋め込むことができます。
  3. Form画面のClientScriptでは、BusinessRuleのDisplayを使ってServer sideで処理や判定した結果を"g_scratchpad"変数を使ってClientScriptで参照できます。(画面描画の最初だけ処理することにはなりますが自分の所属するグループ一覧を事前に取得しておけば、比較判定はClientScriptだけでも簡単です)
  4. UI Policyの条件にも、Server side Scriptを埋め込むことができます。(ServersideののすべてのScriptが有効というわけではないですが、リストビューの検索条件にScriptを埋め込むことと同様の制御ができます)

これらの方法を検討してみてください。

元の投稿で解決策を見る

1件の返信1

iwai
Giga Sage

無理にClientだけでGlideRecordのQueryを行わない方が良いです。
色々方法があります。

  1. GlideAjaxを利用する方法。
  2. Reference項目であれば、検索条件にServer side Scriptを埋め込むことができます。
  3. Form画面のClientScriptでは、BusinessRuleのDisplayを使ってServer sideで処理や判定した結果を"g_scratchpad"変数を使ってClientScriptで参照できます。(画面描画の最初だけ処理することにはなりますが自分の所属するグループ一覧を事前に取得しておけば、比較判定はClientScriptだけでも簡単です)
  4. UI Policyの条件にも、Server side Scriptを埋め込むことができます。(ServersideののすべてのScriptが有効というわけではないですが、リストビューの検索条件にScriptを埋め込むことと同様の制御ができます)

これらの方法を検討してみてください。