拡張式を使用したページ表示の制御
アプリケーション・コンポーザの式ビルダーを使用し、Groovyスクリプトを記述してページ・レイアウトの条件を設定します。 たとえば、ページ・レイアウトの式によって、ユーザーが商談の値に基づいて特定のフィールドを更新できないようにすることができます。
ランディング・ページ(リスト・ページ)カスタム・レイアウトに式条件を追加することはできません。
(レコード・タイプ・フィールドを使用して)選択リスト値とロールを使用して、ページの表示を制御することもできます。 レコード・タイプとロールの条件は、レイアウトに条件を添付する宣言的な便利な方法です。 したがって、レコード・タイプとロールの条件がニーズを満たさない場合にのみ、レイアウトの表示を制御する式を指定します。
ページ・レイアウトの式を記述するには:
-
アプリケーション・コンポーザで、オブジェクト・ツリーのオブジェクトを展開し、ページ・ノードを選択します。
-
「アプリケーション・ページ」タブで、作成するページ・レイアウトのタイプを検索します。
たとえば、作成ページの表示を制御する式を記述するには、作成ページ・レイアウト・リージョンで標準レイアウトを選択し、「レイアウトの複製」アイコンをクリックします。 次に、重複するカスタム・レイアウトを変更します。
-
ノート:
標準レイアウトから作成する最初のカスタム・レイアウトは、デフォルトのカスタム・レイアウトと呼ばれますが、名前を変更できます。 Oracleでは、デフォルトのカスタム・レイアウトに条件を追加しないことをお薦めします。 作成した次のカスタム・レイアウトに、式およびその他のすべての条件を追加できます。
-
レイアウトを編集して保存した後、拡張式列で、計算機能アイコンをクリックして式ビルダーを開きます。
-
実行時にこのレイアウトを表示するために必要な条件を記述する式を記述します。
-
スクリプトが1つ以上のフィールドを参照する場合は、依存先選択リストでそれらのフィールドも選択します。 これらのフィールド値が実行時に変更されると、式が再評価され、新しい条件が満たされるとページ・レイアウトがリフレッシュされます。
たとえば、次のスクリプトを記述するとします:
PartyName == 'abc' || NoteTypeCode == 'GENERAL'
スクリプトは2つのフィールドを参照します。 したがって、式ビルダーの上部に表示される依存先選択リストで、作成者およびタイプのフィールドを選択する必要があります。
長いテキスト・フィールドは他のフィールドと同様に機能しないことに注意してください。 スクリプトがノート・テキストなどの長いテキスト・フィールドを参照する場合は、スクリプトでtoString()演算子を使用する必要があります。 たとえば:
If(NoteTxt?.toString() == 'abc')
依存先選択リストで「ノート・テキスト」フィールドも必ず選択してください。
-
式はTrueまたはFalseの値を返す必要があります。 実行時に、アプリケーション・コンポーザはTrue値を解釈して、条件が満たされたことを意味します。
次の例を見てみましょう:
-
商談の受注確度が95の場合は、特定のページ・レイアウトを表示するとします。 この場合、スクリプトは次のようになります:
if (WinProb==95) { return true; } else { return false }
- 別の例として、カテゴリIDの値に基づいて、レイアウトの一部のフィールドを表示または非表示にするとします。 この場合、スクリプトは次のようになります:
if([300000018675471,300000018675472].contains(Cate goryId)){ return false; } else { return true }
-
-
式に基づいて表示されるページ・レイアウトの例
-
見積の生成および承認後、または商談の承認中に、ユーザーが売上品目または製品を商談に追加することを許可しません。
-
ユーザーのロケーション、言語またはデバイスに基づいて、ページ・レイアウトの表示を制御します。
-
複数の条件を組み合せる式を記述します。