dynamics crm 团队及团队模板

近期整理报表权限时,发现如下查询脚本:

select top 1 a.accountid
from TeamBase tm
inner JOIN TeamMembership ts ON ts.TeamId = tm.TeamId
and tm.RegardingObjectId = a.accountid
inner JOIN SystemUserBase sur ON sur.SystemUserId = ts.SystemUserId
inner JOIN TeamTemplateBase tb ON tm.teamtemplateid = tb.teamtemplateid

因为对CRM特性不熟悉,不理解团队的RegardingObjectId 如何能跟客户实体ID关联?

后在解决方案代码中发现创建客户时,会创建相关的GAM等其他权限

 

 AddUserToAccessTeam该方法就是添加访问人员团队的方法:根据访问团队模板名称(Account GAM)查询团队模板ID,

 

 

根据团队模板ID查询该GAM用户已存在于访问团队中:

 

 

不存在就在访问团队中新增。

AddUserToRecordTeamRequest request = new AddUserToRecordTeamRequest()
{
TeamTemplateId = templeId,
SystemUserId = userId,
Record = er
};

总结:可根据CRM特性 该团队模板实体中该团队下的团队成员是否有关于此用户

 

posted @ 2021-03-01 14:45  深海鱼头  阅读(198)  评论(0编辑  收藏  举报