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

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

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

          Salesforce ヘルプ全体を検索
          マルチ通貨組織での取引通貨に基づくプロモーションの表示 (ベータ)

          マルチ通貨組織での取引通貨に基づくプロモーションの表示 (ベータ)

          トランザクションの通貨に基づいてプロモーションを表示するには、このオプションの設定を完了します。デフォルトでは、組織でマルチ通貨を使用している場合、[カタログを参照] ウィンドウには、取引に関連付けられた取引先の通貨に基づいてプロモーションが表示されます。

          必要なエディション

          使用可能なインターフェース: Lightning Experience
          使用可能なエディション: Revenue Cloud Advancedライセンスが付属するRevenue CloudのEnterprise Edition、Unlimited Edition、およびDeveloper Edition
          必要なユーザー権限
          コンテキスト定義をカスタマイズする コンテキストサービス管理者
          フローをカスタマイズする 「フローの管理」
          重要
          重要

          チャネルベースのプロモーションを設定していない場合にのみ、取引通貨に基づいてプロモーションを表示できます。を参照してください。

          商品検出コンテキスト定義の設定

          取引通貨に基づいてプロモーションを表示するように定義を変更します。

          1. 拡張商品検出コンテキスト定義を編集します。
            1. [設定] から、[コンテキスト定義] を見つけて選択します。
            2. [カスタム定義] をクリックします。
            3. 拡張商品検出コンテキスト定義をクリックします。
              事前作成済みコンテキスト定義を使用している場合は、ProductDiscoveryContext コンテキスト定義を拡張します。
            4. [編集] をクリックします。
          2. [コンテキスト定義の編集] ページで、[次へ] をクリックします。
          3. [構造を編集] ページで、Promotion__std の横にある [兄弟ノードの追加] をクリックします。
          4. [名前] に「Transaction__c」と入力し、[次へ] をクリックします。
          5. [Transaction__c] をクリックします。
          6. [属性を追加] をクリックし、通貨の詳細を追加します。
            1. [名前] に「ccycode__c」と入力します。
            2. [種別] で、[INPUT OUTPUT] を選択します。
            3. [データ型] で、[STRING] を選択します。
          7. [属性を追加] をクリックし、アカウントの詳細を追加します。
            1. [名前] に「accountId__c」と入力します。
            2. [種別] で、[INPUT OUTPUT] を選択します。
            3. [データ型] で、[STRING] を選択します。
          8. [属性を追加] をクリックし、ID の詳細を追加します。
            1. [名前] に「id__c」と入力します。
            2. [種別] で、[INPUT OUTPUT] を選択します。
            3. [データ型] で、[STRING] を選択します。
          9. [次へ] をクリックします。
          10. [属性タグを編集] ページで、属性名をタグ名として追加します。
            1. accountId__c の横にある [Add Tags] をクリックします。
            2. [タグ名] に「accountId__c」と入力します。
            3. [完了] をクリックします。
            4. この手順を繰り返して、ccycode__c と id__c のタグを追加します。
              タグ名として属性名を使用します。
            5. 変更内容を保存します。

          カスタムプロモーションの対応付けの作成

          1. [Map Data (データをマッピング)] タブを開きます。
          2. [ProductDiscoveryPromoMapping] の横にある [コンテキスト定義] をクリックし、[コピー] を選択します。
          3. 名前を入力し、変更を保存します。
          4. Account ノードと SalesTransaction ノード間の対応付けを削除します。
          5. 次のノードと属性を対応付けます。
            商品検出コンテキスト Sales Transaction Context (販売トランザクションコンテキスト)
            Transaction__c SalesTransaction
            ccycode__c CurrencyIsoCode
            accountId__c 取引先
          6. 変更内容を保存します。
          7. [ProductDiscoveryMapping] の横にある [コンテキスト定義] をクリックし、[Edit Input Mapping] を選択します。
          8. [Generate Node Mappings (ノード対応付けを生成)] をクリックします。
          9. [Generate node mappings (ノードの対応付けを生成)] ウィンドウで、[Retain and Generate (保持して生成)] をクリックします。
          10. 変更内容を保存します。
          11. コンテキスト定義を有効化します。

          Apex クラスの作成

          フローアクションの Apex クラスを作成します。

          1. [設定] をクリックし、[開発者コンソール] を選択します。
          2. [ファイル] | [新規] | [Apex クラス] を選択します。
          3. 名前に「DiscoverProductFlowAction」と入力します。
          4. 次のコードを追加して、変更を保存します。
            public class DiscoverProductFlowAction {
                
                // Define input parameters
                public class FlowInput {
                    @InvocableVariable(required=false)
                    public String objectApiName;
                    
                    @InvocableVariable(required=false)
                    public String recordId;
                }
                
                // Define output parameters     
                public class FlowOutput {
                    @InvocableVariable
                    public runtime_industries_cpq.ContextDataInput[] additionalContextData;
                }
            
                // This method is invoked from a flow
                @InvocableMethod(label='Process Input' description='Creates the Array of ContextDataInput for additional Context Data')
                public static List<FlowOutput> generateAdditionalContextData(List<FlowInput> inputs) {
                    String objectApiName;
                    String recordId;
                    String ccyCode;
                    String accountId;
                    Quote quoteObject;
                    Order orderObject;
                    FlowOutput output = new FlowOutput();
                    
                    // Capture input from the flow
            		for(FlowInput input : inputs ){
                        objectApiName = input.objectApiName;
                        recordId = input.recordId;
                    }
                    
                    //Write logic to Query Currency from Transaction Entity
                    if(objectApiName == 'Quote') {
                        quoteObject = [SELECT CurrencyIsoCode,AccountId FROM Quote WHERE Id = :recordId LIMIT 1][0];
                        ccyCode = quoteObject.CurrencyIsoCode;
                        accountId =  quoteObject.AccountId;       
                    } else if(objectApiName == 'Order') {
                        orderObject = [SELECT CurrencyIsoCode,AccountId FROM Order WHERE Id = :recordId LIMIT 1];
                        ccyCode = orderObject.CurrencyIsoCode;
                        accountId =  orderObject.AccountId;   
                    }
            
                    //Populate the ContextDataInput list to store additional context data
                  	List<runtime_industries_cpq.ContextDataInput> listContextData = new List<runtime_industries_cpq.ContextDataInput>();
                    runtime_industries_cpq.ContextDataInput cd1 = new runtime_industries_cpq.ContextDataInput();
                    cd1.nodeName = 'Transaction'; //Where Quote is the name of the node in the context definition.
                    cd1.nodeData = new Map<String,Object>();
                    cd1.nodeData.put('id',recordId);  
                    cd1.nodeData.put('ccycode',ccyCode); 
                    cd1.nodeData.put('accountId',accountId); 
                    listContextData.add(cd1);
                    
                    // Return the additional Context Data to a flow
                    output.additionalContextData = listContextData;
                    return new List<FlowOutput>{output};       
                }
            }
            

          商品検出フローのカスタマイズ

          1. [設定] で、[フロー] を見つけて選択します。
          2. 商品検出フローを開きます。
            デフォルトフローを使用している場合は、[商品を検出] を開きます。
          3. [商品] リスト画面要素の前に、[要素を追加] をクリックし、[アクション] を選択します。
          4. 表示ラベルと API 参照名を入力します。
          5. [DiscoverProductFlowAction] を見つけて選択します。
          6. objectAPIName を有効にし、その値として objectAPIName を入力します。
          7. recordId を有効にし、その値として recordId と入力します。
          8. 変更内容を保存します。
          9. [Product list (商品リスト)] をクリックします。
          10. [Product List Page Container (商品リストページコンテナ)] をクリックします。
          11. [コンテキストデータ入力配列] 属性で、アクションの出力を選択します。
          12. 変更内容を保存します。
          13. フローを有効化します。
           
          読み込み中
          Salesforce Help | Article