【问题标题】:How to populate related lookup field CRM 2011如何填充相关查找字段 CRM 2011
【发布时间】:2013-05-16 05:20:28
【问题描述】:

我想创建一个审核插件,每当更改“联系人”实体时,都会创建一个“历史联系人”实体,其中包含更改前旧“联系人”实体的所有数据。

我的问题是,如果我在“联系人”到“客户”中有一个查找字段,我如何获得对特定“客户”的查找并将其放置在“历史联系人”实体的查找字段中?


我完成了插件,但现在有一个新问题。

“联系人”实体的“名字”字段可以有一个空白。

“历史联系人”实体将“名字”作为其主要字段,尽管它不是必需的。

如果在创建“历史联系人”实体时没有“名字”,则会引发错误。我不知道这是为什么。

即使字段被标记为“无约束”,我是否需要主字段来创建实体?

【问题讨论】:

    标签: c# plugins dynamics-crm-2011 lookup entityreference


    【解决方案1】:

    你有两个选择:

    1) 按照以下方式创建插件:

    public void Execute(IServiceProvider serviceProvider)
    {
        var context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
        var service = ((IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory))).CreateOrganizationService(context.UserId);
    
        var originalContact = context.InputParameters["Target"] as Entity;
        var newContact = new Entity("new_historicalcontact");
        if (originalContact.Contains("firstname"))
        {
            newContact.Add("new_firstname", orginalContact["firstname"]);
        }
        if (originalContact.Contains("emailaddress1"))
        {
            newContact.Add("new_emailaddress1", orginalContact["emailaddress1"]);
        }
        if (originalContact.Contains("parentcustomerid"))
        {
            newContact.Add("new_parentcustomerid", orginalContact["parentcustomerid"]);
        }
    
        //etc etc for other properties
        service.Create(newContact);
    }
    

    如果你不熟悉插件,周围有很多教程,你可以从我在this question中给出的建议开始

    2) 使用开箱即用的审计功能。可能是也可能不是您正在寻找的内容,但您可以阅读更多关于 herehere 的信息

    【讨论】:

      【解决方案2】:

      我不确定我是否跟随。当事情发生变化时,您正在创建联系人的完整副本?要做到这一点非常简单,只需在 Post Execute of Update 消息上添加 Pre Image。 Pre Image 是更新前联系人的快照。

      但是你为什么不使用提供的审计功能呢?

      【讨论】:

        猜你喜欢
        • 2012-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-20
        • 2023-03-31
        • 2021-11-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多