Dynamics crm 默认情况下,显示特定用户角色的特定仪表板

Dynamics crm 默认情况下,显示特定用户角色的特定仪表板,dynamics-crm,dynamics-crm-2011,Dynamics Crm,Dynamics Crm 2011,我想在线配置Dynamics CRM 2011,以便它在默认情况下显示特定用户角色的特定仪表板。这是否可以通过设置或使用插件或javascript编写自定义代码来实现 例如,如果首席执行官John登录,他应该看到年度收入仪表板,如果销售人员登录,他们会看到leads仪表板。 仪表板是公共仪表板,而不是个人仪表板。如果您有内部版本,最快的方法可能是访问数据库表UserSettingsBase,并将DefaultDashboardId列更新为您希望每个用户拥有的仪表板guid。(编辑-刚刚意识到您正

我想在线配置Dynamics CRM 2011,以便它在默认情况下显示特定用户角色的特定仪表板。这是否可以通过设置或使用插件或javascript编写自定义代码来实现

例如,如果首席执行官John登录,他应该看到年度收入仪表板,如果销售人员登录,他们会看到leads仪表板。
仪表板是公共仪表板,而不是个人仪表板。

如果您有内部版本,最快的方法可能是访问数据库表
UserSettingsBase
,并将
DefaultDashboardId
列更新为您希望每个用户拥有的仪表板guid。(编辑-刚刚意识到您正在使用CRM Online,因此这不适用。)

通过为每个用户实例化
UserSettings
实体,找到每个用户适当的
roleid
,并更新
UserSettings
实体的
DefaultDashboardID
属性,可以在API框架中实现同样的功能。下面是一个例子

使用(OrganizationServiceProxy\u serviceProxy=new OrganizationServiceProxy(新Uri(“您的CRM服务器”),null,null,null))
{
_serviceProxy.EnableProxyTypes();
使用(OrganizationServiceContext osc=新的OrganizationServiceContext(\u serviceProxy))
{
var usersSettings=来自osc.CreateQuery()中的u
在u.SystemUserId.Value上的osc.CreateQuery()中加入ur等于ur.SystemUserId.Value
在ur.RoleId.Value上的osc.CreateQuery()中加入r等于r.RoleId.Value
选择新的
{
id=u.SystemUserId.Value
,roleName=r.Name
};
foreach(用户设置中的var用户)
{
UserSettings us=新的UserSettings();
us.SystemUserId=users.id;
交换机(users.roleName)
{
案例“首席执行官”:
us.DefaultDashboardId=Guid.Parse(“2E3D0841-FA6D-DF11-986C-00155D2E3002”);//相应的dashboardid
打破
//案例“销售人员”
//案例“……”
//默认值:。。。
}
_serviceProxy.Update(美国);
}
}
}