大家都知道 Leanx 一款基于Salesforce技术架构的解决方案,将 Enterprise Territory Management (ETM,企业区域管理) 应用到 Leanx自定义对象是一个强大的功能,可以基于地域逻辑来共享和分配记录。
下面我将为您详细解释其概念、应用步骤、最佳实践和具体示例。
1. 核心概念理解
首先,要理解 ETM 的核心机制:
- 目标:根据某些标准(如地理位置、行业、客户规模等)自动将记录分配给销售团队,并授予该团队特定的访问权限(如只读、读写)。
- 关键组件:
- 区域 (Territory):代表一个销售区域,例如“华东区”、“金融行业大客户部”。它包含一组用户(销售团队)。
- 区域模型 (Territory Model):是所有区域及其规则和设置的容器。一次只能有一个模型处于激活状态。
- 区域类型 (Territory Type):用于对区域进行分类(如“按地理”或“按行业”),可选。
- 分配规则 (Assignment Rules):定义哪些记录应归属于某个区域的逻辑条件。这些条件基于记录上的字段值。
- 重要特性:
- 记录可属于多个区域:一个客户(Account)或自定义对象记录可以同时被分配给多个区域。
- 权限继承:用户通过其所在的团队(区域)获得对记录的访问权限,而不是直接拥有记录。
- 与角色层次结构无关:ETM 是一个独立的共享系统,与基于所有者的角色层次结构并行工作。
2. 将 ETM 应用到自定义对象的步骤
假设我们有一个自定义对象叫 Project__c
(项目),我们想根据项目的 Region__c
(地区)字段将其分配给不同的销售团队。
步骤一:启用 ETM 并设置对象
- 启用企业区域管理:
- 进入 Setup -> Feature Settings -> Sales -> Territory Management。
- 按照提示启用该功能。
- 将自定义对象添加到区域管理:
- 在 Territory Management 设置中,找到管理区域支持对象的选项。
- 将你的自定义对象(如
Project__c
)添加到支持列表中。这意味着你现在可以基于这个对象来创建分配规则了。
步骤二:创建区域模型和区域
- 创建区域模型:
- 进入 Setup -> Territory Management -> Territory Models。
- 点击 New,给模型命名(如“2024年项目区域模型”),保存。
- 在模型中创建区域:
- 在新建的模型中,点击 Add Territory。
- 创建你的区域结构,例如:
East_China_Territory
(华东区)North_China_Territory
(华北区)Key_Accounts_Territory
(大客户部)
- 将相应的用户(销售代表、经理)添加到这些区域中作为“区域用户”。
步骤三:为自定义对象定义分配规则
这是最关键的一步。
- 进入分配规则设置:
- 在你的区域模型中,找到 Assignment Rules 部分。
- 点击 Set Assignment Rules。
- 为自定义对象创建规则:
- 在 Assignment Rules 页面,找到你的自定义对象
Project__c
,点击 New Rule。 - 规则 1:分配给华东区
- Rule Name:
Assign East China Projects
- 条件:
Project__c.Region__c
等于
East China
- 分配至区域:选择
East_China_Territory
- 访问级别:选择
Read/Write
(或 Read Only)
- Rule Name:
- 规则 2:分配给华北区
- Rule Name:
Assign North China Projects
- 条件:
Project__c.Region__c
等于
North China
- 分配至区域:选择
North_China_Territory
- 访问级别:选择
Read/Write
- Rule Name:
- 在 Assignment Rules 页面,找到你的自定义对象
- 设置规则顺序:如果有重叠的可能,可以调整规则的优先级。
步骤四:激活模型并测试
- 激活模型:
- 返回 Territory Models 列表。
- 找到你配置好的模型,点击 Activate。注意:激活操作不可逆,并且会开始重新计算所有现有记录的分配。 最好先在沙盒环境中充分测试。
- 测试:
- 创建一个新的
Project__c
记录,将Region__c
字段设置为East China
。 - 保存后,检查该记录的共享设置。你应该能看到它已经与
East_China_Territory
共享,并且该区域的成员(即使不是记录所有者)也可以访问它。
- 创建一个新的
3. 高级应用与最佳实践
- 基于客户的分配:如果你的自定义对象通过主从关系与客户 (
Account
) 关联,你可以设置“从客户继承区域”。这意味着如果一个Account
被分配到了某个区域,那么与之相关的所有Opportunity
、Case
或你的自定义对象Project__c
也会自动继承相同的区域分配。这是在分配规则的高级选项中配置的。 - 手动覆盖:除了自动规则,用户也可以手动将记录添加到其他区域(需要“管理区域”权限)。
- 报告与分析:使用“区域”相关的报告类型来分析每个区域的绩效,例如“带区域的客户”报告或“带区域的项目”报告。
- 变更管理:区域结构(如销售团队重组)通常按年或季度规划。通过创建新的区域模型(如“2024-Q2模型”)来管理变更。配置完成后,一次性激活新模型,所有记录将根据新规则重新分配,平滑过渡。
4. 具体示例
场景:一家软件公司使用自定义对象 Implementation__c
(实施项目)。他们希望:
- 所有在“上海”的实施项目都由“上海团队”读写。
- 所有“银行”行业的实施项目,无论地点,都由“金融垂直团队”只读访问。
实现:
- 在“实施区域模型”中创建两个区域:
Shanghai_Team
和Finance_Vertical_Team
。 - 为
Implementation__c
对象创建两条分配规则:- 规则1:条件
(Implementation__c.City__c = ‘上海’)
-> 分配给Shanghai_Team
,权限Read/Write
。 - 规则2:条件
(Implementation__c.Industry__c = ‘Banking’)
-> 分配给Finance_Vertical_Team
,权限Read Only
。
- 规则1:条件
- 激活模型。
- 当一个位于上海且行业为银行的新实施项目创建时,它会同时出现在
Shanghai_Team
和Finance_Vertical_Team
两个区域中。上海团队的成员可以编辑它,而金融团队的成员只能查看它。
总结
将 Enterprise Territory Management 应用到 Salesforce 自定义对象是一个系统化的过程,主要包括 启用 -> 创建结构 -> 定义规则 -> 激活测试 四个阶段。它完美解决了基于逻辑划分的团队协作和数据可见性问题,是复杂销售组织不可或缺的强大工具。务必在沙盒环境中进行充分测试后再在生产环境部署。