Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む
コードを使用した Salesforce の拡張
目次
絞り込み条件を選択

          結果がありません
          結果がありません
          検索のヒントをいくつかご紹介します

          キーワードの入力ミスがないか確認する。
          より一般的な検索語を使用する。
          絞り込み条件を減らして、検索範囲を広げる。

          Salesforce ヘルプ全体を検索
          便利な Sコントロール

          便利な Sコントロール

          次のサンプルを使用して、Sコントロールの使用を開始します。

          必要なエディション

          重要
          重要 可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。
          使用可能なインターフェース: Salesforce Classic
          使用可能なエディション: Contact Manager Edition、Group Edition、Professional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition
          使用可能なインターフェース: Salesforce Classic

          カスタムボタンとカスタムリンクを使用可能なエディション: すべてのエディション

          Sコントロールを使用可能なエディション: Contact Manager Edition、Group EditionProfessional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition

          標準ボタンとタブのホームページの上書きを使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition

          重要
          重要 Visualforce ページは、Sコントロールよりも優先されます。組織で以前に Sコントロールを使用していない場合は、作成できません。既存の Sコントロールに影響はありません。今後も編集できます。

          詳細ページの Sコントロール

          Yahoo 地図の API と請求先住所の差し込み項目を使用して、取引先の地図を表示します。

          Yahoo 地図

          Yahoo 地図の API と請求先住所の差し込み項目を使用して、取引先の地図を表示します。HTML Sコントロールで次のコードを使用し、それを取引先詳細ページレイアウトに追加します。

          <html>
          <head>
          <script type="text/javascript"
          src="http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=YahooDemo">
          </script>
          <style type="text/css">
          #mapContainer {
          height: 200px;
          width: 100%;
          }
          </style>
          </head>
          <body>
          <div id="mapContainer"></div>
          <script type="text/javascript">
          // Create a map object
          var map = new YMap(document.getElementById('mapContainer'));
          // Display the map centered on given address
          map.drawZoomAndCenter("{!Account.BillingStreet}, \
           {!Account.BillingCity},\
           {!Account.BillingState},\
           {!Account.BillingPostalCode}", 3);
          // Set marker at that address
          map.addMarker("{!Account.BillingStreet}, \
           {!Account.BillingCity},\
           {!Account.BillingState},\
           {!Account.BillingPostalCode}", 3);
          </script>
          </body>
          </html>

          標準ボタンとタブのホームページを上書きする Sコントロール

          商品を商談に追加する場合に、標準ページの代わりに独自のコードを使用したい場合があります。

          商品の追加の上書き

          次の Sコントロールサンプルを使用して、差し込み項目を使用するデータ値をレコード詳細ページから、商談の [商品] 関連リストの [商品の追加] ボタンを上書きするカスタムSコントロールに渡します。このタイプの上書きでは、主オブジェクトおよび従オブジェクトから差し込み項目を関連リストのボタンに含める方法を示します。たとえば次のコードには、商談商品の主従関係で主側にある商談の差し込み項目が含まれています。

          <html>
          <head>
          <script type="text/javascript"
          src="/soap/ajax/13.0/connection.js">
          </script>
          </head>
          <body>
          <b>Opportunity Info:</b>
          <br>
          Opportunity ID: {!Opportunity.Id}
          <br>
          Opportunity Name: {!Opportunity.Name}
          <br>
          Opportunity Record Type: {!Opportunity.RecordType}
          <br>
          </body>
          </html>

          この機能を実装するには、提供されたスペースにコードを挿入する前のコンテンツを使用して HTML Sコントロールを作成します。次に、Sコントロールを使用して、商談商品オブジェクトから商品の追加アクションを上書きします。この例は、商談にレコードタイプがあることを前提としています。

          メモ
          メモ この例には、商品を追加するコードは含まれていません。本文セクションのコンテンツは、商談商品関連リストから商談の差し込み項目を使用する方法を示しているにすぎません。本文セクションをコードに置き換えてください。

          リードの編集の条件付き上書き

          特定の条件に応じて標準アクションまたはカスタムSコントロールにリダイレクトするように、標準アクションを条件付きで上書きすることができます。たとえば、リードの対応期間が 30 日を超えている場合に別の Sコントロールを使用してリードを編集することがあります。次の例を使用して、リードの対応期間が 30 日を超えているかどうかを評価する Sコントロールを作成し、超えている場合にはカスタムSコントロールを実行してリードを編集します。それ以外の場合は、標準のリード編集アクションを使用します。

          <script type="text/javascript">
          
          //determine if the lead has been open longer than 30 days
          if ({!IF(ISPICKVAL( Lead.Status , "Open"), ROUND(NOW()- Lead.CreatedDate , 0), 0)} > 30)
          {
          //more than 30 days - display a custom scontrol page
          window.location.href="{!URLFOR($SControl.EditLeadsOpenLongerThan30)}";
          }
          else
          {
          //30 days or less - display the standard edit page
          window.parent.location.href="{!URLFOR($Action.Lead.Edit, Lead.Id, [retURL=URLFOR($Action.Lead.View, Lead.Id)], true)}";
          }
          
          </script>

          これを組織で実装するには、対応期間が 30 日を超えているリードの編集に使用する Sコントロールを作成します。この Sコントロールに EditLeadsOpenLongerThan30 という名前を付けます。 次に、前のサンプルコードを使用して、リードの対応期間が 30 日を超えているかどうかを判断する Sコントロールを作成し、超えている場合には EditLeadsOpenLongerThan30 Sコントロールを使用してリードの編集アクションを上書きします。

          前のサンプルコードの最初と 2 番目の if ステートメントの違いに注意してください。最初のステートメントは、ブラウザーで評価される JavaScript if ステートメントです。2 番目のステートメントは、サーバーで評価され 1 つの値 (リードが進行中の場合はその日数、リードが進行中でない場合はゼロ) を返す Salesforce IF 関数です。

          ヒント
          ヒント この例では、リリース間でサポートされるようにするため、個々の URL を指定するのではなく、URLFOR 関数を使用して Salesforce URL を構築します。

          上書きを呼び出さずに標準の Salesforce ページを表示するには、URLFOR 関数の no override 引数を「true」に設定します。

          また、保存後にユーザーを詳細ページに戻すには、URLFOR 関数の retURL パラメーターを使用します。

          取引先責任者の編集の上書き

          取引先責任者を編集する場合に、独自のコードを使用したい場合があります。次の Sコントロールサンプルを使用して、差し込み項目を使用するデータ値をレコード詳細ページから、標準詳細ページのボタンを上書きするカスタムSコントロールに渡します。

          <html>
          <head>
          <script type="text/javascript" src="/soap/ajax/13.0/connection.js">
          </script>
          </head>
          <body>
          <b>Contact Info:</b>
          <br>
          Contact ID: {!Contact.Id}
          <br>
          Contact Name: {!Contact.FirstName} {!Contact.LastName}
          <br>
          </body>
          </html>
          

          この機能を実装するには、本文セクションにコードを挿入する前のコンテンツを使用して HTML Sコントロールを作成します。次に、Sコントロールを使用して、取引先責任者の編集アクションを上書きします。これにより、取引先責任者の詳細ページの [編集] ボタン、リストビューの [編集] リンク、すべての関連リストの [編集] リンクなど、使用可能なすべての場所で取引先責任者の編集アクションが上書きされます。

          メモ
          メモ この例には、取引先責任者を編集するコードは含まれていません。本文セクション内のコードは、取引先責任者の差し込み項目を使用して取引先責任者に関する情報を表示する方法を示しているにすぎません。本文セクションをコードに置き換えてください。

          新規取引先の上書きの中断

          標準ボタンを上書きすると、Salesforce 組織全体で使用できなくなります。ただし、標準アクションを上書きすれば、Sコントロールからそのアクションに無限ループにならずにリダイレクトできます。たとえば、取引先の [新規] ボタンを上書きし、独自のカスタムプロセスを実行し、標準の新規取引先アクションを無限ループにならずに再開することができます。これを行うには、URLFOR 関数の no override 引数を使用します。

          <script type="text/javascript">
          
          alert("Hi, I am demonstrating how to interrupt New Account with an override.  Click OK to continue.");
          
          window.parent.location.href="{! URLFOR($Action.Account.New, null, null, true)}";
          
          </script>
          

          この Sコントロールを実装するには、前のコンテンツを使用して HTML Sコントロールを作成します。次に、Sコントロールを使用して、新規取引先アクションを上書きします。

          メモ
          メモ 新規アクションでは ID が必要ないため、URLFOR 関数の 2 番目の引数は null に設定されます。この例では入力が必要ないため、URLFOR 関数の 3 番目の引数は null に設定されます。URLFOR 関数の 4 番目の引数は true に設定され、上書きが無視されて無限ループが回避されます。

          [取引先] タブホームページの条件付き上書き

          タブホームページを条件付きで上書きし、特定の条件に応じて元のタブホームページを Sコントロールにリダイレクトできます。たとえば、特定のプロファイルを持つユーザーに対して、標準の [取引先] タブホームページの代わりに Sコントロールを表示する場合があります。次のサンプルコードを使用して、ユーザーが [取引先] タブをクリックしたときに、Recruiter プロファイルを持つユーザーには求人応募者情報を表示し、他のすべてのユーザーには標準の [取引先] タブホームページを表示する Sコントロールを作成します。

          これを実装するには、まず採用担当者に表示するコンテンツを含む「ApplicantHomePage」という Sコントロールを作成します。次に、以下のコードを使用して、条件付き上書きロジックを実装する HTML 種別の Sコントロールを作成します。

          <script type="text/javascript">
          //determine the user profile name
          var recruiter = {!IF($Profile.Name = "Recruiter", true, false)};
          
          //when the profile is recruiter - display a custom s-control page
          if (recruiter) {
              window.parent.location.href="{! urlFor($SControl.ApplicantHomePage)}";
          } else {
          //when the profile is not recruiter - display the standard Accounts tab page
              window.parent.location.href="{! urlFor( $Action.Account.Tab , $ObjectType.Account,null,true)}";
          }
          </script>

          最後に、ここで示す HTML Sコントロールを使用するように [取引先] タブを上書きします。この例は、「Recruiter」というプロファイルが組織に存在することを前提としています。

          メモ
          メモ $Profile 差し込み項目は、Enterprise Edition、Unlimited Edition、Performance Edition、および Developer Edition でのみ使用可能です。

          スニペットを含む Sコントロール

          カスタムSコントロールにスニペットを含めて、共通のコードを再利用します。

          スニペットを含める

          次の例は、Web タブに表示するページにヘッダーを提供するスニペットを参照します。ページタイトルは「私のタイトル」になります。スニペットを参照するには、$Control グローバル変数を使用します。これを実装するには、「Resize_Iframe_head」および「Resize_Iframe_onload」という 2 つのスニペットを作成し、次のコードを含む「Resize_Iframe_sample」という HTML Sコントロールを作成します。

          <html>
              <body>
                  {!INCLUDE(
                      $SControl.Header_Snippet, 
                      [title = "My Title", theme = "modern"]
                   )}
              </body>
          </html>
           
          読み込み中
          Salesforce Help | Article