次に、カスタムアクションを取引先ページレイアウトに追加します。
1. [
設定]
で、[
カスタマイズ] > [
取引先] > [
ページレイアウト]
をクリックしま す。2. Warehouse
スキーマの取引先レイアウトの横にある[
編集]
リンクをクリックします。
3.
パレットで[
アクション]
カテゴリをクリックします。4. [
パブリッシャーアクション]
セクションで、[override the global layout (
グ ローバルパブリッシャーレイアウトより優先)]
をクリックします。5.
左側の最初の要素として表示されるように、[Create Quick Order (
注文の簡 易作成)]
要素を[
パブリッシャーアクション]
セクションにドラッグします。モバイル技術者はこのカスタムアクションを頻繁に使用するため、パブリッ シャーを開いたときに最初に表示されるアクションの
1
つになるようにリ ストの先頭に配置します。6. [
保存]
をクリックします。カスタムアクションを作成して、それをページレイアウトに追加したので、その動 作を実際に確認する準備が整いました。
Visualforce カスタムアクションをテストする
次に、顧客訪問時の
Acme Wireless
モバイル技術者として、Salesforce1
でカスタムア クションをテストします。1.
モバイルデバイスでSalesforce1
アプリケーションを開きます。2.
をタップしてナビゲーションメニューにアクセスします。3.
ナビゲーションメニューで[
取引先]
をタップして、取引先に移動します。4.
をタップして、パブリッシャーにアクセスします。5. [Create Quick Order (
注文の簡易作成)]
をタップします。6.
[Merchandise Name (商品名)]項目に、項目の名前(
iPhone 5など)
を 入力します。7.
[Max Delivery Distance (miles) (最大配送距離 (マイル))]項目に、「10」と入力します。
8. [
実行]
をタップします。9.
下部にある[
検索結果]
セクションに、検索内容に一致する商品のリストが 表示されます。リストには、現在の取引先の10
マイル以内にある倉庫の部 品が表示されます。[iPhone 5S Gold]
をタップします。10.
[Quantity (数量)]項目に、「1」と入力します。探している部品がある近くの倉庫を特定したら、この画面で数量を入力し て部品の注文を作成できます。注文は現在の取引先に関連付けられます。
ヒント
:
検索画面に戻るには、[
戻る]
ボタンを使用します。[
キャン セル]
をタップすると、品目のない請求書が作成されます。11. [
実行]
をタップします。注文が作成されました。
3
つ目のページインジケータをスワイプすると、[
請求書]
関連リストが表示されます。[
請求書]
関連リストをタップすると、新しい請求書が表示されます。請求書をタップすると、
iPhone 5S Gold
の 部品のために作成された品目が表示されます。成功しました。これで、モバイル技術者が倉庫の部品をすばやく検索して注文を作 成できるようにするプロセスをすべて実行しました。
ンとベストプラクティス」
(
ページ184)
を参照してください。もうひとこと : コードについて
Visualforce
カスタムアクションの背後には2
つのコードオブジェクト(Apex
クラスQuickOrderControllerと
Visualforce
ページQuickOrderPage)
があります。Apex
クラスは、Visualforce
ページのコントローラで、メソッドの@RemoteAction アノテーションを使用します。このアノテーションを使用すると、Visualforce
ページは
JavaScript
対応の方法でロジックをラップします。これは、Visualforce Remotingと呼ばれます。
Visualforce Remoting
を使用すると、Apex
とJavaScript
間を迅速かつ緊密に統合できます。この通信モデルは、従来の
Visualforce/Apex MVC
パラダイムの同期モデルと 異なり、非同期で動作します。そのため、パラメータをコントローラに渡したら、DOM
操作を実行して、モバイルテンプレートやフレームワークを使用してページ を作成する前に、レスポンスハンドラ関数から結果を取得し、追加のクライアント 側ロジックを記述できます。Visualforce Remoting
は、Salesforce
オブジェクトへのサーバ側の直接アクセスを簡素化し、迅速なプラットフォーム開発のための
Apex
ツール(SOQL
やApex
メソッド など)
を使用できるため、Salesforce1
プラットフォームのモバイル開発者に最適で す。また、ビューステートを処理する必要がないため、ページのパフォーマンスが 向上します。
ドキュメント内
Salesforce1 アプリケーション開発者ガイド
(ページ 110-114)