gpt4 book ai didi

sdk - Dynamics CRM 使用 C# 代码合并两个联系人,从 SDK 修改示例

转载 作者:行者123 更新时间:2023-12-02 17:47:45 25 4
gpt4 key购买 nike

我一直在尝试让 Dynamics CRM 2011 SDK 中的 Merge 示例正常工作。 http://msdn.microsoft.com/en-us/library/hh547408.aspx

我稍微修改了一下。我创建了两个联系人而不是帐户(尽管代码中的某些变量名称可能另有说明。例如 _account1Id 实际上是 contact1 的 GUID。)

第一个联系人记录填写了名字、姓氏和电话字段。第二条联系人记录填写了姓名和电子邮件字段。

合并发生的部分如下。从顶部的链接可以看到原始代码。

当我运行带有以下修改的示例时,电子邮件地址没有合并到新的联系人记录中。我得到的是一个合并的联系人,其中包含一条记录中的值,添加了地址数据,但没有电子邮件。我认为这应该用第二条记录中的非空字段填充主记录的空字段。

作为 Ms Dynamics CRM 的新手,经过大量谷歌搜索和调试后,我无法理解原因。如果有人可以就问题所在向我提供一些反馈,我会很高兴。

提前致谢。

      _serviceProxy.EnableProxyTypes();
CreateRequiredRecords(); // created two contacts with same name, surname. first record has telephone1 filled, second record has emailaddress filled.
EntityReference target = new EntityReference();
target.Id = _account1Id;
target.LogicalName = Contact.EntityLogicalName;
MergeRequest merge = new MergeRequest();
merge.SubordinateId = _account2Id;
merge.Target = target;
merge.PerformParentingChecks = false;
Contact updateContent = new Contact();
updateContent.Address1_Line1 = "test";
merge.UpdateContent = updateContent;
MergeResponse merged = (MergeResponse)_serviceProxy.Execute(merge);
Contact mergeeAccount =
(Contact)_serviceProxy.Retrieve(Contact.EntityLogicalName,
_account2Id, new ColumnSet(allColumns: true));
if (mergeeAccount.Merged == true)
{
Contact mergedAccount =
(Contact)_serviceProxy.Retrieve(Contact.EntityLogicalName,
_account1Id, new ColumnSet(allColumns: true));
}

最佳答案

该行为符合预期 - Merge 会将您的子记录从下属转移到主人(因此可能是机会、地址等),但不会尝试锻炼您想要复制的字段。推理(我猜)是潜在的业务逻辑影响是无穷无尽的——你想复制电子邮件吗?如果所有电子邮件字段都已填写怎么办?自定义字段呢?还有很多其他案例我相信每个人都能想到。

编辑:

要解决此问题,MergeRequest 类中有一个名为 UpdateContent 的属性。如果您更新此属性的字段,这些值将合并到父记录中。

您实际上可以在您发布的链接中看到这一点:

// Create another account to hold new data to merge into the entity.
// If you use the subordinate account object, its data will be merged.
Account updateContent = new Account();
updateContent.Address1_Line1 = "test";

关于sdk - Dynamics CRM 使用 C# 代码合并两个联系人,从 SDK 修改示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12582489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com