首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CallerId of OrganizationServiceProxy

CallerId of OrganizationServiceProxy
EN

Stack Overflow用户
提问于 2019-03-24 14:25:07
回答 2查看 864关注 0票数 2

我正在创建一个外部服务,它将创建一个Order entity of Dynamics365中的记录,其中的默认字段(例如:由和一些默认字段创建)将以想要创建的用户命名。

为此,我尝试在OrganizationServiceProxy类上使用CallerId属性。我正在通过客户关系管理的用户设置CallerId属性,用户实际上想要创建一个记录。但是,只有当客户关系管理系统的用户具有系统管理员角色时,我才能创建记录。

为了更好地理解,添加了一些代码块:

代码语言:javascript
复制
public void Get(Guid userId)
{
    var proxy = new OrganizationServiceProxy(new Uri(c.ServiceUri), null, crmCredentials, null);
    proxy.EnableProxyTypes();
    var context = new OrganizationContext(proxy);

    // now setting caller id
    proxy.CallerId = userId;

    // generating order entity
    var t = new SalesOrder();
    t.Name = "Demo";
    .....
    ...
    .

    context.AddObject(t);
    context.SaveChanges(); // getting exceptions for normal user on save changes
}

现在,我的问题是,如果客户关系管理系统的用户没有系统管理员角色的特权,那么如何克服这个例外。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-24 21:21:53

验证分配给该“普通用户”的任何安全角色是否在“Sales”选项卡下的“order”实体(sales )的最低用户级别(橙色饼)上创建特权。我想不是。

授予该权限&验证相同的代码执行。

票数 1
EN

Stack Overflow用户

发布于 2019-03-24 20:12:06

只要您正在设置的用户具有CallerId的销售经理安全角色,您的代码就能正常工作。与您登录的用户还必须至少具有一个销售经理安全角色和代表另一个用户特权的法案,该权限可以在Business选项卡下找到。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55324796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档