MS Dynamics CRM 2016离职员工分配的任务/案件处理及查询问题
MS Dynamics CRM 2016 离职员工任务/案件处理与查询方案
一、“离职员工名下任务/案件落入盲区”的真实性分析
默认情况下CRM 2016不会自动隐藏离职员工的任务/案件,但以下场景可能导致记录无法被找到:
- 权限限制:当前登录用户的安全角色未获得读取这些记录的权限,比如离职员工所属业务单元的权限未开放,或记录共享权限未延续给其他用户。
- 状态筛选遗漏:部分公司会将离职员工的任务/案件标记为“已完成”“取消”状态,而日常查询默认筛选“进行中”记录,导致这类记录被忽略。
- 用户记录处理不当:若离职员工的系统用户记录被禁用,部分系统视图可能默认排除关联到禁用用户的记录;若用户记录被删除,关联任务/案件的
OwnerId字段会变为空或指向已删除用户,常规搜索易遗漏。
二、无离职员工范围时的全局查询方法
若不清楚离职员工名单,可通过以下方式可靠查询所有相关任务/案件:
1. 高级查找进阶筛选
- 任务(Task)实体:
筛选条件设置为:所有者状态为已禁用,或所有者为空;同时可叠加状态不等于已完成/已取消的条件,聚焦未处理记录。需确保当前用户拥有读取全业务单元任务的权限,否则结果会受限。 - 案件(Case)实体:
筛选条件设置为:负责人状态为已禁用,或负责人为空;结合案件状态筛选未结案记录。
2. 数据库直接查询(限有权限用户)
若可访问CRM后端数据库,可执行SQL查询直接提取数据:
- 任务表查询示例:
SELECT Subject, Description, OwnerId, CreatedOn FROM TaskBase WHERE OwnerId IN (SELECT SystemUserId FROM SystemUserBase WHERE IsDisabled = 1) OR OwnerId IS NULL
- 案件表查询示例:
SELECT Title, TicketNumber, OwnerId, CreatedOn, StatusCode FROM IncidentBase WHERE OwnerId IN (SELECT SystemUserId FROM SystemUserBase WHERE IsDisabled = 1) OR OwnerId IS NULL
注意:直接操作数据库需遵循公司IT规范,禁止修改数据。
3. 创建自定义视图
进入任务/案件实体的视图编辑界面,新建视图并添加筛选条件:所有者/负责人状态为已禁用,同时包含所有者/负责人为空的规则,保存后可快速查看所有目标记录。
4. 检查自动分配规则
部分公司会配置工作流或插件,在员工离职时自动分配其名下任务/案件,若规则配置错误(触发条件不满足、目标用户不存在)会导致记录未被分配。可查看系统日志或工作流历史记录排查问题。
三、预防“盲区”的建议
- 员工离职时,先通过批量分配功能将其名下所有任务/案件转移给指定用户,再禁用或归档用户记录。
- 定期通过自定义视图巡检,排查无主或关联到禁用用户的记录。
- 为需要全局查看的人员配置包含全业务单元记录读取权限的安全角色。
内容的提问来源于stack exchange,提问作者Chundice
相关产品推荐
相关产品推荐

