V6.0の新機能のひとつ、検索画面でのURLパラメータ指定についてご紹介します。作成した画面を開く際にURL末尾にパラメータを付与することで、あらかじめ検索条件を指定した状態で開くことができます。画面を開いた時点で初期検索を行い検索結果を表示することも可能です。検索画面側の設定では検索画面でURLパラメータを指定できるようスタジオで設定してみましょう。通常の検索画面を作成します。[テンプレート]検索画面を選択し、オブジェクトは「取引先:Account」を指定します。Visualforceページ名は"SamplePage"とします。検索条件として「産業コード」「親取引先ID」「経度(納入先)」「緯度(納入先)」を指定します。(「経度(納入先)」「緯度(納入先)」は範囲項目の方を指定してください)検索結果にも同様の項目を指定します。ここかURLパラメータを使用できるよう設定していきます。検索テンプレートのページプロパティ「URLパラメータ設定」の設定ボタンを押すとURLパラメータ設定ダイアログが開きます。「項目名」には検索条件として配置した項目の一覧が表示されます。今回は「産業コード」を選択します。選択すると「パラメータキー」に項目のAPI参照名が自動的に設定されます。このパラメータキーとして指定した文字列がURLパラメータのキーとなります。項目「産業コード」のパラメータキーがSicの場合、検索条件として産業コードに4253を設定したい場合はURLの末尾にSic=4253と指定します。演算子を指定したい場合はパラメータキー+"_op"をキーとしてURLパラメータを指定します。演算子として「次の文字列と一致する」を指定したい場合はURLの末尾にSic_op=eqと指定します。URLの末尾にisSearch=1を指定することで、検索画面を開いた時点で初期検索を行うことが可能です。複数のパラメータを指定する場合は&で繋ぎます。実際にこのページをデプロイし、出来上がった検索画面のURLの末尾に?Sic=4253&Sic_op=eq&isSearch=1を追加して開いてみましょう。産業コードの値に4253、演算子に「次の文字列と一致する」が指定され、検索が実行された状態で検索画面が開かれます。以上が検索画面の設定方法となります。演算子の種類等については以下を参照ください。項目の値を渡す作成した検索画面はカスタムボタンを使って開くことでURLパラメータにレコードの値を渡すことができます。例として取引先の画面から親取引先IDを渡して検索画面を開いてみましょう。先ほどの検索画面のURLパラメータに「親取引先ID」を追加しデプロイします。次に新規でSalesforceレイアウト画面を作成します。オブジェクトは「取引先」、Visualforceページ名は"SampleAccount"とします。選択し、先ほど作成した検索画面「SamplePage」を指定のように設定します。次にレコードの値の渡し方ですが、項目の値をURLに埋め込むには以下のように記述します。{!record.項目のAPI参照名}今回は親取引先IDを渡したいので{!record.ParentId}となります。画面下部のURL入力欄に/apex/SamplePageと表示されますので、後ろに続けて?ParentId={!record.ParentId}&ParentId_op=eq&isSearch=1と入力してください。画面をデプロイし、デプロイ後の画面でカスタムボタンを押すことで親取引先が検索結果に表示されます。位置情報を渡す最後に小ネタとして、端末の位置情報を元に付近約1km以内の取引先一覧を表示するボタンを設置してみましょう。スタジオで検索画面「SamplePage」を開きURLパラメータ「緯度(納入先)」「経度(納入先)」を追加しデプロイします。作成したSalesforceレイアウトSampleAccountを開きカスタムボタンを配置します。・幅:100・動作選択:JavaScript/Apex呼出を指定後、OnClickの「...」ボタンをクリックしJavaScriptエディタを開きます。スクリプト入力欄にnavigator.geolocation.getCurrentPosition(OpenSearchPage);を指定します。次にダイアログの「ページスクリプト編集」ボタンを押しページスクリプトエディタを開き、スクリプト入力欄に以下のように入力します。"&isSearch=1","_blank");}これでデプロイしてボタンを押すと検索画面SamplePageに「納入先の緯度・経度がデバイスの緯度・経度のプラスマイナス0.01以内」という条件が指定され、検索が実行されれた状態で開かれます。簡単に説明しますと、navigator.geolocation.getCurrentPositionでデバイスの現在の位置情報を取得します。取得が完了するとOpenSearchPageが実行されます。緯度の1度あたりの距離は約111km、経度1度あたりの距離は場所によって異なりますが東京だと約90kmです。以上、検索画面でのURLパラメータ指定についてのご紹介でした。Experienceのレコードページをもっと便利にするAppExchangeを社内導入する時に見たい!5つのポイント関連するキーワードSkyVisualEditorTerraSkyBaseについてTerraSkyBaseはクラウドサービスを手掛ける株式会社テラスカイのコンテンツプラットフォームです。