カスタムアクションとしての Visualforce ページの使用
オブジェクトのカスタムアクション
オブジェクトのカスタムアクションとして追加される Visualforce ページは、そのオブジェクト種別のレコードのコンテキストで呼び出されます。カスタムアクションには、カスタムアクションをクリックしたときにユーザーが参照していたレコードから特定のレコード ID が渡されます。ページは、この特定のレコードタイプに対して動作するように設計します。
オブジェクトのカスタムアクションとして使用される Visualforce ページには、そのオブジェクトの標準コントローラーを使用する必要があります。コントローラー拡張を使用して、JavaScript Remoting を使用してコールできる @RemoteAction メソッドなどのカスタムコードを追加します。
カスタムコードが、元のレコードの更新以上の役割を果たすことがあります。たとえば、[Create Quick Order (注文の簡易作成)] カスタムアクションは、一致する商品を検索します。続いて、部品の注文作成の一環として、請求書と品目を作成します。このロジックは、元の取引先レコードのコンテキストで発生します。請求書は注文の簡易作成アクションが呼び出された取引先レコードに関連付けられます。
組織の内部 URL にリダイレクトするときに、完了時またはプログラムでの移動時にアクションダイアログが閉じられます。外部 URL を指し示すリダイレクトを設定した場合、外部 URL は新しいブラウザータブで開かれるため、この動作は異なる可能性があります。
カスタムグローバルアクション
グローバルアクションとして使用される Visualforce ページはさまざまな場所から呼び出すことができ、特定のレコードと関連付けられていません。完全な行動の自由があります。つまり、コードを記述するかどうかは自分次第です。
より具体的に言うと、グローバルアクションとして使用される Visualforce ページでは標準コントローラーを一切使用できません。カスタムコントローラーを記述して、ページを処理する必要があります。コードを使用して、1 つまたは複数のレコードの作成、検索したレコードの編集などを行います。
グローバルアクションが完了すると、ユーザーはアクションの一環として作成された親レコードにリダイレクトされるか、開始した場所に戻ります。