【问题标题】:ETL Software, can't retrieve owner of a contactETL 软件,无法检索联系人的所有者
【发布时间】:2017-10-11 13:09:13
【问题描述】:

第一个问题,使用我的 ETL 软件,我可以映射所有 GM 联系人字段并将它们迁移到 MCRM 联系人实体。我唯一不能的字段是所有者(所有者始终是联系人的创建者)。

我发现他们是这个实体字段prvAssignContact的权限。

他们是消除这种安全性的技巧,还是我可以通过我昨天刚开始使用的 SDK 工具包做的事情?

在 SO 上,我找到了这个主题,Can I update the owner id of a Contact using LINQ?,但只是不知道它是否对我有用,如果有用,该代码放在哪里。

P:S:我一定要一个人做……所以我会喜欢用户友好的建议!

【问题讨论】:

    标签: dynamics-crm-2011 data-migration


    【解决方案1】:

    了解您使用的是哪个 ETL 会很有用,但是在进行数据迁移时需要考虑一件重要的事情。 如果您正在创建新记录,指定所有者就足以使用 EntityReference 设置字段

            Entity contact = new Entity("contact");
            contact["firstname"] = "John";
            Guid ownerId = new Guid("BFC777ED-5E79-E111-8489-00166D63156F");
            contact["ownerid"] = new EntityReference("systemuser", ownerId);
            service.Create(contact);
    

    如果您要更新联系人,则需要按照其他主题中的说明使用 AssignRequest

            Guid contactId = new Guid("90F8889F-EB95-E781-8417-000C44420CBC");
            Guid newOwnerId = new Guid("BFCAA4ED-5E79-E781-8349-00155BB3156F");
            AssignRequest assignRequest = new AssignRequest
            {
                Assignee = new EntityReference("systemuser", newOwnerId),
                Target = new EntityReference("contact", contactId)
            };
            service.Execute(assignRequest);
    

    【讨论】:

    • 你好,我正在使用StarFish ETL,我可以使用C#或vbscript在所有者上制作一个函数字段,谢谢你能给我一些细节!
    【解决方案2】:

    除了 Guido 的回答,如果您在 IOrganizationService 上使用 impersonation,它会自动将所有者设置为模拟用户。

    【讨论】:

    • 对不起,看来我必须使用SDK工具包才能做到这一点,而且我还没有那么远!
    猜你喜欢
    • 2012-11-23
    • 1970-01-01
    • 2010-11-11
    • 2016-04-08
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    相关资源
    最近更新 更多