注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

微软MVP罗勇的博客

微软MVP罗勇,www.luoyong.me

 
 
 

日志

 
 

批量更新Dynamics CRM中用户的个人选项值  

2015-08-24 08:28:35|  分类: CRM设置 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复149或者20150824可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me!
Dynamics CRM用户创建后都有自己的默认偏好设置,用户登陆CRM后可以查看和更改的自己设置,如下:
批量更新Dynamics CRM中用户的个人选项值 - 罗勇 - 罗勇的博客

虽然每个CRM用户可以更改自己的,但是管理员也没有办法通过Dynamics CRM的浏览器界面更改其他用户的选项值。如果要为所有用户设置统一的某个选项值,难道只有让用户自己设置这条路可以走?不是的,我这里以批量设置所用用户的选项中的隐私选项卡中的如下选项值为例,将其从第一个选项更改为第三个选项。
批量更新Dynamics CRM中用户的个人选项值 - 罗勇 - 罗勇的博客
 
 每个用户的选项的值应该是存储在UserSettings这个实体(该中文显示名称是用户设置)中,SDK中对这个实体有简介,并说明支持 UpdateRequest消息,所以我们对这个实体执行Update操作是受支持的开发方法。
批量更新Dynamics CRM中用户的个人选项值 - 罗勇 - 罗勇的博客
 
但是更新哪个字段的值呢?打开导入的SDK中的查看元数据的解决方案我们查看用户设置这个实体的属性可以得知,是更改 ReportScriptErrors 字段的值,可以看到这个字段是一个字段类型为选项集的字段。
批量更新Dynamics CRM中用户的个人选项值 - 罗勇 - 罗勇的博客

现在就基本上可以撰写代码了,我这里提供简化后主要代码如下:

public void UpdateAllUserReportScriptErrorsOption(IOrganizationService orgService,int ReportScriptErrorsValue)
{
string fetchXml = string.Format(@"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
<entity name='usersettings'>
<attribute name='systemuserid' />
</entity>
</fetch>");
EntityCollection entities = orgService.RetrieveMultiple(new FetchExpression(fetchXml));
if (entities.Entities.Count > 0)
{
foreach (var entity in entities.Entities)
{
entity["reportscripterrors"] = new OptionSetValue(ReportScriptErrorsValue);
orgService.Update(entity);
}
}
}

从元数据可以知道,ReportScriptErrorsValue 参数的值为1代表隐私选项一,值为2代表隐私选项二,值为3代表隐私选项三。调用上面提供的函数就可以更改了,传递的ReportScriptErrorsValue 参数的值为3执行后的效果如下:
批量更新Dynamics CRM中用户的个人选项值 - 罗勇 - 罗勇的博客
 
值得注意的是用户设置这个实体的主要属性,并不是像绝大部分实体那样的主属性是name字段,它的主属性是 systemuserid 字段。用户设置这个实体不是可以客制化的实体,也不会出现在高级查找中,也没有出现在任何导航项中,所以在界面上通过高级查询后进行批量修改目前看来是不可行的。
也有人说直接用SQL更新UserSettings这个实体的reportscripterrors属性的值,这是不受支持的开发方法,强烈建议大家不要使用。

素格格新疆特产店--做最好新疆特产的搬运工。 本店由博主的新疆老婆开设,搬运各种最好的新疆特产,是自用,送礼,年货,孝敬长辈特别是(岳)父母的首选! 素格格新疆特产店淘宝网址是 http://sugege.taobao.com 欢迎自助购买。
批量更新Dynamics CRM中用户的个人选项值 - 罗勇 - 罗勇的博客
  评论这张
 
阅读(435)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018