LightningでのSalesforce URLハック

LightningでのSalesforce URLハック

Lightning環境でのURLハックを検証しつつ、まとめてみました。
LightningでのSalesforce URLハック
57
LightningでのSalesforce URLハック
chirosuke
2022/05/31 14:55:59

注意

大文字小文字を間違えないように入力してください。間違えて入力すると機能しません。

半角空白の入力にも注意してください。

また、「デフォルト値の設定」はモバイルアプリではエラーとなりますので、モバイル使用の場合はレイアウトを分けるようにしてください。






 

レコードのコピー

通常のコピー

通常はコピーボタンがありますので、コピーボタンがない取引先以外では出番があまりないかもしれません。

例)取引先レコードのコピー

/{!Account.Id}/e?clone=1

 

 

レコードタイプを設定したコピー

例)レコードタイプを設定した取引先レコードのコピー

/lightning/r/Account/{!Account.Id}/clone?recordTypeId=レコドタイプID&count=1







レコードの新規作成

ただの新規作成

作成可能なレコードタイプが複数ある場合はデフォルトのレコードタイプの作成画面が開きます。

例)商談レコードの新規作成

/lightning/o/Opportunity/new


 

レコードタイプを設定する新規作成

例)レコードタイプを設定した商談レコードの新規作成

/lightning/o/Opportunity/new?recordTypeId=レコドタイプID

 

レコードタイプの選択ページを表示させてから新規作成

例)レコードタイプの選択ページを表示させる商談レコードの新規作成

/lightning/o/Opportunity/new?useRecordTypeCheck=1


 

デフォルト値を設定する新規作成(レコードタイプ設定なし)

作成可能なレコードタイプが複数ある場合はデフォルトのレコードタイプの作成画面が開きます。

例)デフォルト値を設定した商談レコードの新規作成

/lightning/o/Opportunity/new?defaultFieldValues=

項目AのAPI参照名=デフォルト値A,

項目BのAPI参照名=デフォルト値B


 

デフォルト値を設定する新規作成(レコードタイプ設定あり)

例)レコードタイプとデフォルト値を設定した商談レコードの新規作成

/lightning/o/Opportunity/new?recordTypeId=レコドタイプID&defaultFieldValues=

項目AのAPI参照名=デフォルト値A,

項目BのAPI参照名=デフォルト値B


 

デフォルト値を指定する新規作成(レコードタイプ選択ページ表示)

例)レコードタイプの選択ページを表示させ、デフォルト値を設定した商談レコードの新規作成

/lightning/o/Opportunity/new?useRecordTypeCheck=1&defaultFieldValues=

項目AのAPI参照名=デフォルト値A,

項目BのAPI参照名=デフォルト値B






項目のデータ型別デフォルト値の設定

デフォルト値の入力は「項目名=デフォルト値」で入力していきます。項目を複数設定する場合は、「,(カンマ)」で区切ります。

※デフォルト値を設定する設定はモバイルアプリでは使用できません


 

主従関係、参照関係

・直接指定

/lightning/o/Opportunity/new?defaultFieldValues=

AccountId=0015h00000HsoeeAAB

 

・差し込み項目で指定

/lightning/o/Opportunity/new?defaultFieldValues=

AccountId={!Account.Id}

 

 

テキスト

URLENCODE関数を使用しなくても、ブラウザによってはちゃんとエンコードされているようですが、一応URLENCODE関数を使用した方法で紹介します。ヘルプ

 

・直接指定

/lightning/o/Opportunity/new?defaultFieldValues=

Text__c={!URLENCODE(‘テキスト’)}

 

・差し込み項目で指定

/lightning/o/Opportunity/new?defaultFieldValues=

Text__c={!URLENCODE(Account.Text__c)}

 

 

チェックボックス

・直接指定

/lightning/o/Opportunity/new?defaultFieldValues=

CheckBox__c=true

 

・差し込み項目で指定

IF関数を使用しないと、反映されません。

/lightning/o/Opportunity/new?defaultFieldValues=

CheckBox__c={!IF(Account.CheckBox__c,true,false)}

  

 

数値、通貨

・直接指定

/lightning/o/Opportunity/new?defaultFieldValues=

Number__c=123,

Currency__c=10000

 

・差し込み項目で指定

/lightning/o/Opportunity/new?defaultFieldValues=

Number__c={!TEXT(Account.Number__c)},

Currency__c={!TEXT(Account.Currency__c)}

 


パーセント

・直接指定

/lightning/o/Opportunity/new?defaultFieldValues=

Percent__c=50

 

・差し込み項目で指定

※「1,000%」のような3桁カンマが入る場合は、上記の数値と同じようにTEXT関数を使用する必要があります。

/lightning/o/Opportunity/new?defaultFieldValues=

Percent__c={!Account.Percent__c}

 

 

選択リスト

・直接指定

※値の表示ラベルではなく、API参照名で入力します。

/lightning/o/Opportunity/new?defaultFieldValues=

Picklist__c=値1

 

・差し込み項目で指定(選択リスト→選択リスト)

※API参照名が取得されます。

/lightning/o/Opportunity/new?defaultFieldValues=

Picklist__c={!Account.Picklist __c)}

 

  

複数選択リスト

・直接指定

※値の表示ラベルではなく、API参照名で入力します。

/lightning/o/Opportunity/new?defaultFieldValues=

MultiSelect_Picklist__c=値1;値2

 

・差し込み項目で指定(複数選択リスト→複数選択リスト)

※API参照名が取得されます。

/lightning/o/Opportunity/new?defaultFieldValues=

MultiSelect_Picklist __c={!Account.Picklist __c)}

 

 

時間

・直接指定

/lightning/o/Opportunity/new?defaultFieldValues=

Time__c=01:11:11

 

・差し込み項目で指定

・実行時間で指定

こちらの設定方法はわかりませんでした。

時間項目をテキスト化する数式項目の作成や、{!TEXT(TIMENOW()+3600000*9)}などで設定を試してみましたが、保存時にISO8601形式ではないとエラーになってしまいます。設定方法が判明したら追記したいと思います。



日付

・直接指定

/lightning/o/Opportunity/new?defaultFieldValues=

Date__c=2022-02-22

 

・差し込み項目で指定

/lightning/o/Opportunity/new?defaultFieldValues=

Date__c={!TEXT(Account.Date__c)}

Date__c={!TEXT(Account.Date__c+1)}←1日足したい場合

 

・実行日で指定

/lightning/o/Opportunity/new?defaultFieldValues=

Date__c = {!TEXT(TODAY())}

Date__c = {!TEXT(TODAY()+1)} ←1日足したい場合

 

 

日付/時間

・直接指定

値の末尾に「Z」をつけてGMTの時間で指定します

こちらの例では日本のタイムゾーンの入力画面では「2022/02/22 10:00」になり、保存されたレコード画面でも「2022/02/22 10:00」で表示されます。

/lightning/o/Opportunity/new?defaultFieldValues=

DateTime__c=2022-02-22T01:00:00Z

 

「Z」をつけない場合は入力画面では、「2022/02/22 1:00」で表示されますが、保存後に表示されるのは日本のタイムゾーンの場合「2022/02/22 10:00」で表示されます。

/lightning/o/Opportunity/new?defaultFieldValues=

DateTime__c=2022-02-22T01:00:00

 


・差し込み項目で指定

日付と時間を分けてテキスト化します。その際タイムゾーンが日本の場合は日付の方から1日マイナスしないと参照元の日付から1日足されてしまいます。

/lightning/o/Opportunity/new?defaultFieldValues=

DateTime__c={!TEXT(DATEVALUE(Account.DateTime__c)-1)}

T{!TEXT(TIMEVALUE(Account.DateTime__c))}Z 

 

・実行日時で指定

/lightning/o/Opportunity/new?defaultFieldValues=

Date__c = {!TEXT(TODAY())}T{!TEXT(TIMENOW())}Z






 

キャンセルの遷移先

詳細ページボタンや関連リストに配置したリストボタン、リストビューに配置したリストボタン(同一オブジェクト)であれば、[キャンセル]ボタンを押しても元の画面に戻りますが、そうでない場合はホーム画面や、白い画面に遷移してしまいます。

遷移先を指定したい場合はこちらの記事にもあるように戻りURLを追加します。

gilde tech(for Salesforce)」に入会しませんか?
登録すると、「gilde tech」に掲載されているSalesforceのノウハウを全部閲覧できるだけでなく、自分が知っている知識を発信し、他の会員と交流することもできます。
またSalesforceの知識習得に役立つイベント情報も得ることができます。
是非ここで得た知識を業務に活かしてください!
57
コメント