取引の開始
convertLead DML 操作は、リード取引開始によって取引先、取引先責任者、および (必要に応じて) 商談を作成します。convertLead は、Database クラスのメソッドとしてのみ使用でき、DML ステートメントとしては使用できません。
リードの変換は、次の基本ステップに従います。
- アプリケーションは、変換されるリードの ID を確認します。
- 必要に応じて、アプリケーションはリードをマージする取引先の ID も確認します。アプリケーションは SOQL を使用し、リード名と一致する取引先を検索します。次に例を示します。
1SELECT Id, Name FROM Account WHERE Name='CompanyNameOfLeadBeingMerged' - 必要に応じて、アプリケーションはリードをマージする取引先責任者の ID も確認します。アプリケーションは SOQL を使用し、リードの取引先責任者名と一致する取引先責任者を検索します。次に例を示します。
1SELECT Id, Name FROM Contact WHERE FirstName='FirstName' AND LastName='LastName' AND AccountId = '001...' - 必要に応じて、アプリケーションはリードから商談を作成するかどうかを決定します。
- アプリケーションでクエリ (SELECT ...FROM LeadStatus WHERE IsConverted=true) を使用して取引開始後の状況を持つリードを取得します。
- アプリケーションは convertLead をコールします。
- アプリケーションは返された結果の各 LeadConvertResult オブジェクトを繰り返し確認し、各リードの変換が成功したかどうかを確認します。
- 必要に応じて、キューが所有するリードを変換する場合は所有者を指定する必要があります。これは、キューが取引先と取引先責任者を所有することができないためです。既存の取引先または取引先責任者を指定する場合も、所有者を指定する必要があります。
例
この例では、Database.convertLead メソッドを使用してリード取引を開始する方法を示します。新規リードを挿入し、LeadConvert オブジェクトを作成してその状況を取引開始済みに設定し、Database.convertLead メソッドに渡します。最後に、取引の開始が成功したことを確認します。
1Lead myLead = new Lead(LastName = 'Fry', Company='Fry And Sons');
2insert myLead;
3
4Database.LeadConvert lc = new database.LeadConvert();
5lc.setLeadId(myLead.id);
6
7LeadStatus convertStatus = [SELECT Id, MasterLabel FROM LeadStatus WHERE IsConverted=true LIMIT 1];
8lc.setConvertedStatus(convertStatus.MasterLabel);
9
10Database.LeadConvertResult lcr = Database.convertLead(lc);
11System.assert(lcr.isSuccess());リード取引の開始に関する考慮事項
- 項目の対応付け: システムは、リードの標準項目を取引先、取引先責任者、商談の標準項目に自動的に対応付けます。リードのカスタム項目に関しては、Salesforce システム管理者が、取引先、取引先責任者、商談のカスタム項目に対応づける方法を指定することができます。項目の対応付けについての詳細は、Salesforce ヘルプを参照してください。
- 差し込み項目: データが既存の取引先や取引先責任者オブジェクトにマージされる場合、変換先オブジェクトの空の項目のみが上書きされ、ID を含めた既存データは上書きされません。唯一の例外は、LeadConvert オブジェクトの setOverwriteLeadSource を True に設定している場合です。この場合、変換先の取引先責任者オブジェクトの LeadSource 項目が、変換元の LeadConvert オブジェクトの LeadSource 項目の内容で上書きされます。
- レコードタイプ: 組織でレコードタイプを使用している場合、新しい所有者のデフォルトのレコードタイプはリード変換時に作成されたレコードに割り当てられます。リードを変換するユーザーのデフォルトのレコードタイプによって、変換時に使用できるリードの変換元値が決まります。必要なリードの変換元値を使用できない場合、リードを変換するユーザーのデフォルトのレコードタイプに値を追加します。レコードタイプの詳細は、Salesforce ヘルプを参照してください。
- 選択リスト値: システムは、空の標準リード選択リスト項目を対応付けるときに、取引先、取引先責任者、商談のデフォルトの選択リストを割り当てます。組織でレコードタイプを使用している場合、空の値は新しいレコード所有者のデフォルトの選択リストの値で置き換えられます。
- 自動フィード登録: リードを新規取引先、取引先責任者、および商談に変換すると、リード所有者はリードレコードの Chatter フィードから登録解除されます。リード所有者、生成されたレコードの所有者、およびリードに登録されたユーザーは、Chatter フィード設定で自動登録を有効化しない限り、生成されたレコードに自動登録されません。ニュースフィードで取引先、取引先責任者、および商談レコードへの変更を表示するには、自動登録を有効化する必要があります。作成するレコードを登録するには、ユーザーは個人設定の [作成したレコードを自動的にフォローする] オプションを有効にする必要があります。レコードへの変更がユーザーのホームページのニュースフィードに表示されるように、レコードを登録できます。Salesforce でレコードに行われた変更の最新の状況を得る便利な方法です。