FCLフィールドを商談担当者と同期するにはどうすればよいですか。
商談担当者ビュー・オブジェクトには、商談担当者ロール・コード、アフィニティ・レベル・コード、影響レベル・コードなど、商談に関連付けられた担当者の事前定義済の固定選択リスト(FCL)フィールドが含まれます。 SalesBuyingRoleCode、SalesAffinityCodeおよびSalesInfluenceLevelCodeの値を持つ「The FCL」フィールドには、それぞれRoleCd、AffinityLvlCdおよびInfluenceLvlCdという商談Contactsオブジェクト内の関連する事前定義済フィールドがあります。
これらの値は、ユーザーがOKボタンをクリックする前に、「担当者」ページで「適用」ボタンをクリックしたときに移入されます。 ただし、これらの関連FCLフィールドの一部は、商談の「担当者」サブタブからは表示されません。 たとえば、CFOはERPの機会のディシジョン者かもしれませんが、CRMの機会の単なる貢献者かもしれません。 FCLフィールドが表示されるようにするには、まず関連する担当者を含む商談を作成し、次に更新前トリガーを追加して、商談担当者からのオブジェクト間でFCLフィールドを同期する必要があります。
FCLフィールドを商談担当者と同期するステップは、次のとおりです:
- 「商談詳細」ページの「担当者」サブタブに、次の商談コンタクト・オブジェクト・フィールドを追加します。
-
RoleCd
-
AffinityLvlCd
-
InfluencedLvlCd
-
- 次の関連FCLフィールドを使用して担当者を作成します:
-
SalesBuyingRoleCode
-
SalesAffinityCode
-
SalesInfluenceLevelCode
-
- 「適用」をクリックして、「OK」をクリックします。
- 商談を作成し、ステップ2で作成した担当者を追加します。
- 商談トリガーで、次のGroovyコードを「更新前」に追加します。
- 商談担当者からアカウント担当者
def partyid = getAttribute('PERPartyId') def vo = newView('Contact') def vc = vo.createViewCriteria() def vcr = vc.createRow() def vci1 = vcr.ensureCriteriaItem('ContactPartyId') vci1.setOperator('=') vci1.setValue(partyid) vc.insertRow(vcr) vo.appendViewCriteria(vc) vo.executeQuery() while(vo.hasNext()) { def curr = vo.next() curr.setAttribute('SalesBuyingRoleCode', RoleCd) curr.setAttribute('SalesAffinityCode', AffinityLvlCd) curr.setAttribute('SalesInfluenceLevelCode', InfluenceLvlCd) }
- 商談担当者から担当者
def partyid = getAttribute('PERPartyId') def vo = newView('PersonProfile') def vc = vo.createViewCriteria() def vcr = vc.createRow() def vci1 = vcr.ensureCriteriaItem('PartyId') vci1.setOperator('=') vci1.setValue(partyid) vc.insertRow(vcr) vo.appendViewCriteria(vc) vo.executeQuery() while(vo.hasNext()) { def curr = vo.next() curr.setAttribute('SalesBuyingRoleCode', RoleCd) curr.setAttribute('SalesAffinityCode', AffinityLvlCd) }
- 他の商談担当者との同期
def partyid = getAttribute('PERPartyId') def vo = newView('OpportunityContactVO') def vc = vo.createViewCriteria() def vcr = vc.createRow() def vci1 = vcr.ensureCriteriaItem('PERPartyId') vci1.setOperator('=') vci1.setValue(partyid) vc.insertRow(vcr) vo.appendViewCriteria(vc) vo.executeQuery() while(vo.hasNext()) { def curr = vo.next() if(curr.getAttribute('OptyId1') != OptyId1){ curr.setAttribute('RoleCd', RoleCd) curr.setAttribute('AffinityLvlCd', AffinityLvlCd) curr.setAttribute('InfluenceLvlCd', InfluenceLvlCd) } }
- 商談担当者からアカウント担当者
- 挿入前トリガーでトリガーを使用する必要があるかどうか、さらにNULLチェックを追加します。
- 「保存」をクリックします。