この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

sforce.one オブジェクトを使用したナビゲーション

Salesforce Platform には、ナビゲーション用イベントメカニズムが搭載されています。このメカニズムは、Visualforce で sforce.one という JavaScript オブジェクトとして公開され、Salesforce アプリケーションに表示されるどのページでも利用できます。

sforce.one オブジェクトには次の関数があります。sforce.one オブジェクトからドット表記を使用して関数を参照します。たとえば、sforce.one.navigateToSObject(recordId, view) です。

これらの関数で起動される基になるイベントの詳細は、『Lightning コンポーネント開発者ガイド』を参照してください。

関数 説明
back(​[refresh]) sforce.one 履歴に保存されている、以前の状態に移動します。ブラウザの [戻る] ボタンをクリックするのと同じです。

refresh は省略可能です。デフォルトでは、ページは更新されません。可能な場合は true を渡してページを更新します。

navigateToSObject(​recordId​[, view]) recordId で指定した sObject レコードに移動します。このレコードの「ホーム」には複数のビューがあり、このビューは Salesforce アプリケーション内で、ユーザがスワイプして移動するスライドとして表示されます。

view は省略可能であり、デフォルトは detail です。view には最初に表示する、レコードのホーム内のスライドを指定します。

ContentNote sObject に対応するレコード ID はサポートされていません。

メモ

使用できる値は次のとおりです。
  • detail: レコード詳細スライド
  • chatter: Chatter スライド
  • related: 関連スライドのビュー
navigateToURL(​url​[, isredirect]) 指定した URL に移動します。
相対 URL と絶対 URL がサポートされています。相対 URL は Lightning ドメインに対して相対的で、ナビゲーション履歴を保持します。外部 URL、つまり Lightning ドメインの外部の URL は別のブラウザウィンドウに開きます。

ユーザのデバイスプラットフォーム、デバイス設定、Salesforce のバージョン、および開いている外部 URL の認証要件によっては、別のブラウザに認証や再認証が必要な場合があります。

メモ

アプリケーション内のさまざまな画面に移動するには相対 URL を使用します。ユーザに別のサイトまたはアプリケーションへのアクセスを許可するには外部 URL を使用します。ユーザは移動先のサイトまたはアプリケーションで、元のアプリケーションに保持する必要のないアクションを実行できます。ユーザが元のアプリケーションに戻るには、別のアプリケーションを終了したときに、外部 URL によって開かれた別のウィンドウを閉じる必要があります。この新しいウィンドウは、元のアプリケーションとは別の履歴を持ち、ウィンドウを閉じるとこの履歴は破棄されます。つまり、ユーザは [戻る] ボタンをクリックして元のアプリケーションに戻ることはできません。ユーザは新しいウィンドウを閉じる必要があります。

外部アプリケーションを起動し、ユーザが適切な操作を行えるようにするため、mailto:tel:geo: などの URL スキームがサポートされています。ただし、サポートはモバイルプラットフォームとデバイスによって異なります。mailto:tel: は信頼できますが、他の URL については、使用が想定されるさまざまなデバイスでテストすることをお勧めします。

isredirect は省略可能であり、デフォルトは false です。ナビゲーション履歴の現在の URL を新しい URL に置き換えるようにするには、true に設定します。

ContentNote sObject に対応する URL はサポートされていません。

メモ

navigateToFeed(​subjectId, type) subjectId で絞り込んだ、指定した type のフィードに移動します。一部のフィード type では、subjectId は必須ですが無視されます。これらのフィード type では、現在のユーザの ID を subjectId として渡します。
type はフィードの種別です。使用できる値は次のとおりです。
  • BOOKMARKS: コンテキストユーザがブックマークとして保存したすべてのフィード項目が含まれます。現在のユーザの ID を subjectId として渡します。
  • COMPANY: 種別が TrackedChange のフィード項目を除くすべてのフィード項目が含まれます。ユーザがフィード項目を表示するには、親への共有アクセス権が必要です。現在のユーザの ID を subjectId として渡します。
  • FILES: コンテキストユーザがフォローしている人またはグループによって投稿されたファイルを含むすべてのフィード項目が含まれます。現在のユーザの ID を subjectId として渡します。
  • GROUPS: コンテキストユーザが所有するか、メンバーであるすべてのグループのすべてのフィード項目が含まれます。現在のユーザの ID を subjectId として渡します。
  • NEWS: コンテキストユーザがフォローする人、ユーザがメンバーとなっているグループ、およびユーザがフォローしているファイルとレコードのすべての更新が含まれます。親がコンテキストユーザであるレコードのすべての更新が含まれます。コンテキストユーザをメンションするかコンテキストユーザがメンバーとなっているグループをメンションするすべてのフィード項目とコメントが含まれます。現在のユーザの ID を subjectId として渡します。
  • PEOPLE: コンテキストユーザがフォローしているすべての人によって投稿されたすべてのフィード項目が含まれます。現在のユーザの ID を subjectId として渡します。
  • RECORD: 親が指定されたレコードであるすべてのフィード項目が含まれます。レコードは、グループ、ユーザ、オブジェクト、ファイル、その他の標準またはカスタムオブジェクトの場合があります。レコードがグループの場合、フィードにはそのグループにメンションしているフィード項目も含まれます。レコードがユーザの場合、フィードにはそのユーザに対するフィード項目のみが含まれます。別のユーザのレコードフィードを取得できます。レコードの ID を subjectId として渡します。
  • TO: コンテキストユーザのメンションを含むすべてのフィード項目が含まれます。コンテキストユーザがコメントしたフィード項目、コンテキストユーザが作成し、コメントされたフィード項目が含まれます。現在のユーザの ID を subjectId として渡します。
  • TOPICS: 指定したトピックを含むすべてのフィード項目が含まれます。トピックの ID を subjectId として渡します。この値は、モバイル Web の Salesforce でのみサポートされます。トピックは、Salesforce for iOS または Salesforce for Android では使用できません。
navigateToFeedItemDetail(​feedItemId) 特定のフィード項目 feedItemId と関連付けられたコメントに移動します。
navigateToRelatedList(​relatedListId, parentRecordId) parentRecordId の関連リストに移動します。たとえば、Warehouse オブジェクトの関連リストを表示する場合、parentRecordIdWarehouse__c.Id です。

relatedListId は、表示する関連リストの API 参照名または ID です。

navigateToList(​listViewId​, listViewName, scope) listViewId (表示されるリストビューの ID) で指定されたリストビューに移動します。

listViewName にリストビューのタイトルを設定します。リストビューに保存されている実際の名前と一致する必要はありません。保存されている名前を使用するには、listViewName を null に設定します。

scope に、ビュー内の sObject の名前 (「Account」や「MyObject__c」など) を設定します。

createRecord(​entityName​[, recordTypeId][, defaultFieldValues]) 指定した entityName (「Account」や「MyObject__c」など) のレコードを作成するページを開きます。

recordTypeId は省略可能ですが、作成されるオブジェクトのレコードタイプを指定します。recordTypeId を指定しないで createRecord を呼び出すと、エラーになることがあります。

defaultFieldValues は省略可能ですが、指定すると、パネルに表示されていない項目を含め、レコード作成パネルに項目が事前入力されます。ユーザには、値が事前入力される項目に対する作成アクセス権が必要です。項目のアクセス制限によって発生した保存時のエラーは、エラーメッセージ��は表示されません。

editRecord(​recordId) recordId で指定したレコードを編集するページを開きます。
sforce.one オブジェクトを使用するときは、次の点に留意します。
  • sforce.one.navigateToURL をコールしたときに、URL がオブジェクトの標準ページまたは Chatter ページを参照すると、「Unsupported Page」(サポートされていないページ) というエラーが発生することがあります。このエラーを回避するには、URL がバックスラッシュで始まっている (_ui ではなく、/_ui が使用されている) ことを確認します。
  • sforce.one.createRecord メソッドは、Visualforce による標準アクションへの上書きを無視します。
  • 開発者は、フルサイトのナビゲーションを制御するために PageReference クラスを使用できますが、このクラスは Salesforce モバイルアプリケーションではサポートされておらず、正常に機能しないことがあります。一部のページは PageReference を使用して読み込まれますが、更新によって状況が変化する可能性があります。