function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
mnntkkmnntkk 

apexで、カスタムオブジェクトのタブを開いたときに初めに表示される、URLを取得したい

初めて投稿します。基本的な質問でしたら申し訳ありません。

 

apexで、カスタムオブジェクトのタブを開いたときに初めに表示される画面の、URLを取得したいです。

たとえば「会社」というオブジェクトを作ってタブを作り、そのタブをクリックしますと、

登録してある「会社データ」が一覧表示されますが、その一覧表示されている画面です。

 

VisualForceで作成したページから、その画面へのリンクを貼りたいと思っており、

apexで画面遷移ハンドラメソッドを組んで、そのメソッドの中にURLを書く必要があるのですが、

直書きで「/a01/o/」などと書くことは、なるべくしたくないと思っています。

apexのメソッドで一発で、URLが取得できたりしますか?

Best Answer chosen by Admin (Salesforce Developers) 
takahiro-yoneitakahiro-yonei

カスタムオブジェクトのタブを開いたときのURLの末尾は

 /001/o

 /a2M/o

という感じになっていると思います。

ここで「001」とかあるのはオブジェクトのKeyPrefixを指しています。

 

従って、カスタムオブジェクトのKeyPrefixを取得すれば、タブのURLを取得できるようになります。

なお、KeyPrefixの取得は以下のリンクを参照すると良いでしょう。

sObject Describe

 

ちなみに、例えば取引先のKeyPrefixを取得したい場合は

Account.SObjectType.getDescribe().getKeyPrefix();

 となります。

 

カスタムオブジェクトのタブのURLで、KeyPrefixの後ろにあるのは直書きかな?と思います。。

例えば、取引先の場合ですと、

 /001 → リストビューが表示

 /001/o → タブのビュー(最近使ったデータ)が表示

 /001/e → 新規追加画面が表示

となるみたいです。

 

ご参考になれば幸いです。

All Answers

takahiro-yoneitakahiro-yonei

カスタムオブジェクトのタブを開いたときのURLの末尾は

 /001/o

 /a2M/o

という感じになっていると思います。

ここで「001」とかあるのはオブジェクトのKeyPrefixを指しています。

 

従って、カスタムオブジェクトのKeyPrefixを取得すれば、タブのURLを取得できるようになります。

なお、KeyPrefixの取得は以下のリンクを参照すると良いでしょう。

sObject Describe

 

ちなみに、例えば取引先のKeyPrefixを取得したい場合は

Account.SObjectType.getDescribe().getKeyPrefix();

 となります。

 

カスタムオブジェクトのタブのURLで、KeyPrefixの後ろにあるのは直書きかな?と思います。。

例えば、取引先の場合ですと、

 /001 → リストビューが表示

 /001/o → タブのビュー(最近使ったデータ)が表示

 /001/e → 新規追加画面が表示

となるみたいです。

 

ご参考になれば幸いです。

This was selected as the best answer
mnntkkmnntkk

お早い回答、ありがとうございました。

提示していただいた方法を試して、上手くいきました。

 

一覧表示がしたいので、末尾の「/o」とかは付けないことにしましたが、

先頭にスラッシュを付けた形でないとエラーになるようですね。

 

ありがとうございました。