処理およびリンク
ボタンやメニュー・アイテムなどのアクションを詳細ページやリスト・ページなどに追加できます。 アプリケーション全体で他のフィールドとともに表示される、リンクとしてレンダリングされる特別なフィールドを作成することもできます。
アクションは、スクリプト(オブジェクトで定義されたGroovyメソッド)またはスクリプトで定義されたURLに基づくことができます。 アクションを作成すると、アクション・メニューにボタンまたはオプションとして表示できます。 ボタンは、処理を実行したり、ランタイム・アプリケーションの別のページにナビゲートしたり、別のWebサイトに移動できます。 たとえば、サマリー表にボタンを含めると、ユーザーが実行時にクリックし、選択した行から新しいタイプのレコードを作成できます。たとえば、既存のトラブル・チケットを、個別に管理できるより重大なケースにエスカレートします。
リンクを作成したら、実行時に表示するフィールドとして選択できます。 たとえば、概要ページから企業のWebサイトへの静的リンクを提供できます。
処理またはリンクの追加
アクションまたはリンクは、次の2つのステップで追加します:
-
オブジェクトのアクションまたはリンクを定義します。
-
その処理またはリンクをページ・レイアウトに追加します。
メニュー・アイテムの非表示または表示、処理グループまたは表示順序の再配置、アイコンおよびボタンの非表示または表示によるツールバーの管理によって、処理メニューを管理することもできます。
- サービス・リクエスト
- ビジネス・プラン
- 営業目的
- 商談
処理またはリンクの定義
オブジェクトのアクションまたはリンクを定義するには:
-
アプリケーション・コンポーザのメインの概要ページで、オブジェクト・ツリーで標準オブジェクトまたはカスタム・オブジェクトを選択します。
-
「処理およびリンク」ノードを選択します。
-
アクションまたはリンクの作成ページで、表示「ラベル」フィールドに説明的な名前を入力します。
-
タイプ・フィールドで、「アクション」または「リンク」を選択します。
-
ソース・フィールドで、「スクリプト」またはURLを選択します。
-
スクリプト・リージョンで、「新規」アイコンをクリックしてスクリプトを作成します。
-
ソースがURLの場合は、二重引用符で囲まれた静的URLを入力できます。 または、このオブジェクトのフィールドへのアクセスを提供する式ビルダーを使用してURLを定義し、URLの作成に役立てることができます。 このオブジェクトにソース・オブジェクトとの親または関係がある場合は、オプションで、URL定義の別のオブジェクトのフィールドにアクセスするようにコンテキストを変更します。
作成した新しい関数は、「メソッド名」選択リストに追加されます。 オブジェクトに対して関数がすでに作成されている場合は、メソッド名選択リストからいずれかを選択できます。 サーバー・スクリプトなどの他のフローを介して作成されるオブジェクト関数もここで使用できます。
コンテキストをオブジェクトの親または関連ソース・オブジェクトに切り替えるには、URL定義のオブジェクトのフィールドにアクセスするために、「代替コンテキストの選択」チェック・ボックスを選択します。
ノート:URLを導出するスクリプトはページのライフ・サイクル中に複数回実行できるため、スクリプトを複数回実行しても安全であることを確認してください。 たとえば、オブジェクト・レコードを更新するためのカスタム・ビジネス・ロジックを作成しないでください。
-
ソースがスクリプトの場合、「メソッド名」選択リストから事前定義済オブジェクト関数を選択するか、式ビルダーを使用して新しいオブジェクト関数を作成できます。 作成した新しい関数は、「メソッド名」選択リストに追加されます。
オブジェクトに対して関数がすでに作成されている場合は、「メソッド名」選択リストからいずれかを選択できます。 サーバー・スクリプトなどの他のフローを介して作成されるオブジェクト関数もここで使用できます。
ノート:外部webサービスを参照するプロセス集中型のスクリプトを記述することは避けてください。 このようなスクリプトを繰り返し実行すると、エラーが発生し、パフォーマンスが低下する可能性があります。
トップレベル・カスタム・オブジェクトのスクリプトに基づいてカスタム処理を作成する場合は、スクリプトの完了後に、実行時に処理を完了する方法を指定できます:
-
レコードを保存して前のページに戻る(保存して閉じる)
-
レコードを保存して編集を続行する(保存して続行)
-
処理を実行して、レコードは保存しない(スクリプトの実行のみ)
ノート:この同じ情報を標準オブジェクトに指定することもできますが、一部の標準オブジェクトは「保存してクローズ」および「保存して続行」オプションをサポートしていません。 これらのオプションのいずれかをサポートされていない標準オブジェクトとともに使用すると、このアクションを選択してページ・レイアウトに追加できなくなります。
-
-
ページの処理またはリンクの表示
アクションまたはリンクを保存したら、ページ・レイアウトに表示できます。
リンクを表示する場合は、標準フィールドまたはカスタム・フィールドを表示するように選択したとおりに選択します。 これは、実行時に、UIにURLリンクが表内のフィールドであるかのように表示されるためです。
UIの2つの場所に処理を追加できます: ボタンとしてツールバーに、表の処理メニューに入力します。
ページに表示する必要のない機能をサポートするには、「処理」メニューのオプションとして処理を追加します。 ユーザーによって頻繁に実行されるキー関数をサポートするには、ボタンとしてアクションを追加します。
アクションをボタンとして表示する場合は、実行時に(サポートされているすべての言語で)ページをテストして、ボタンの表示が想定どおりであることを確認してください。 実行時のページ上の使用可能な領域、ページ上のボタンの数およびボタン幅(ラベルの長さによって異なる)が原因で、ボタンの表示が予期せぬ可能性があります。 ツールバーにスペースがあるより多くのボタンを追加すると、実行時にボタンが積み重なり、ドロップダウン・ボタンを使用して使用可能になります。
アクションは、様々なロケーションのボタンまたはアクション・メニュー・アイテムとして表示できます:
-
概要ページのサマリー表
-
詳細ページのデフォルト要約
-
詳細ページのサブタブの要約表
-
商談オブジェクトの詳細ページの売上表
表にカスタム・ボタンを追加し、実行時にその表に行がない場合、ボタンは自動的に無効になります。
オブジェクトの作業領域の様々なロケーションにあるオブジェクトのリンクを表示できます。 フィールドを追加できる場所にリンクを追加できます。 可能なロケーションには、次のものが含まれますが、これに限定されません:
-
概要ページの要約表の列として
-
詳細ページのデフォルト要約
-
詳細ページのサブタブの要約表の列として
-
詳細ページのサブタブの要約表の下の詳細フォーム
-
子オブジェクトのツリー・ノード・ページの要約表の列として
-
商談オブジェクトの詳細ページの売上表の列として
未公開の処理およびリンクの削除
アプリケーション・コンポーザを使用して、未公開のアクションおよびリンクを削除できます。 同じオブジェクトの拡張可能ページの処理(UIボタンまたは処理メニューとして)およびリンク(フィールドとして)が公開されるか、別のオブジェクトのページの下の詳細サブタブとして表示される場合も、自動的に削除されます。
オブジェクトの未公開のアクションまたはリンクを削除するには:
-
アプリケーション・コンポーザのメインの概要ページで、アクションまたはリンクを削除する標準オブジェクトまたはカスタム・オブジェクトを展開します。
-
「処理およびリンク」ノードを選択します。
アプリケーション・コンポーザには、選択したオブジェクトに定義されているすべてのアクションおよびリンクがリストされます。
-
削除するアクションまたはリンクを選択し、削除アイコンをクリックします。
-
確認ダイアログで「OK」をクリックします。
-
削除した処理およびリンクがオブジェクトのページに表示されなくなったことを確認するには、ページ・ノードをクリックし、ページ・レイアウトを確認します。
考慮事項
アクションを定義する際には、次の点を考慮する必要があります:
-
カスタム・アクションを定義してリストに表示する場合は、必ず次を実行してください:
-
アクティブなレコード行のチェックを含めて、カスタム処理を起動する前に、ユーザーがアクティブな行としてレコードを選択することをUIでサポートされていることを確認します。
-
アクションの背後にあるスクリプトのパフォーマンスをテストします。 リスト・ページのアクションは同期コールであり、長時間実行スクリプトによってページの表示がブロックされます。
-
-
UIの必須フィールドまたは必須フィールドに移入するカスタム・ボタンを作成しないでください。 エンド・ユーザーは、必須フィールドに値を手動で入力する必要があります。
-
レコードから起動された場合、外部webサービスをコールして現在オープンしている同じレコードを更新する処理を作成することは避けてください。 かわりに、オブジェクト・ワークフローを使用して外部webサービスを非同期的にコールすることを検討してください。