在代码中设置 CRM 系统用户个人选项

Settings CRM systemusers personal options in code

在我的工作中,我们开发了新的 CRM 功能。在将它们部署到我们的生产环境(On Premises CRM 2013)之前,我们有一个用于开发功能的开发环境、一个用于测试新功能的测试环境和一个用于让业务在新功能运行之前发挥作用的验收环境居住。新功能上线后,将创建一个新的开发环境,该环境基于生产环境(但带有乱序数据),整个循环再次开始。

每个环境(当然生产环境除外)都是全新的环境。我们有一个大约 30 个用户的列表,用于调试和测试新功能。每次都必须将这些用户添加到新环境中。大约有 30 个用户,将他们添加到 AD,设置他们的团队、角色、邮箱等。这成为一项非常耗时且容易出错的任务。

现在我用 C# 构建了一个工具,可以读取包含所有用户、他们的角色、团队和邮箱设置的 .csv 数据 table。然后该工具将用户添加到 AD 和 CRM。这一切都很好,除了一件小事:

一些用户习惯于通过(通过工作流)发送电子邮件。要允许其他人代表他们发送电子邮件,这些用户必须在他们的个人选项中设置选项 'Allow other Microsoft Dynamics CRM users to send email on your behalf'。我可以手动执行此操作,但我想在使用我的程序创建用户时设置此复选框。

所以我的问题是:是否可以在创建用户时在 C# 中设置选项 'Allow other Microsoft Dynamics CRM users to send email on your behalf'?

非常感谢!

您可以通过在特定用户的设置中将 "IsSendAllowed" 属性 设置为 true 来实现此目的。

 foreach (var userId in yourListOfUserIds)
 {
    var userSetting = new UserSettings()
    {
       SystemUserId = userId, 
       IsSendAsAllowed = true //set the flag to true
    };
    organizationService.Update(userSetting);
 }