Microsoft Dynamics CRM - 插件 - 填写查找字段

时间:2017-02-20 15:46:58

标签: plugins dynamics-crm microsoft-dynamics dynamics-crm-online dynamics-crm-2016

我有两个名为" entity1"的自定义实体。和" entity2"。

在" entity1"中,有一个查找字段,将其连接到" entity2"。现在,我只想在创建" entity1"的新记录时使用插件填写此查找字段。为了简单起见,我们要说我想连接" entity1"的所有新记录。已经存在" entity2"中的记录。让我们在" entity2"中说出这条记录的名称。是" sampleName"。

我没有经验丰富的插件,我无法弄清楚如何使这项工作。我想我需要以某种方式使用下面这行代码,但是我在检索正确的GUID时遇到了问题。我该怎么做呢?我的代码中是否还有其他内容?

entity1["new_lookup"] = new EntityReference("entity2", neededID);

插件本身也做了一些其他的事情,而且它都在工作。我似乎无法通过这个查找字段问题。我顺便使用Microsoft Dynamics CRM Online 2016。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

如果您想从名称中获取requiredId,则需要进行查询。几个选项:CRM LINQ,QueryByAttribute,FetchXml或QueryExpressions。

您可以在MSDN中找到许多示例。 Here's one using QueryByAttribute这可能是最容易开始的人。但最好使用其他任何一种,因为它们更通用。

因为它是从插件中触发的,所以您实际上不需要进行身份验证,因此只需忽略OrganizationServiceProxy位中的凭据并使用插件中已有的IOrganizationService

您也可以创建EntityReferences from alternate keys而无需执行查询,前提是您已在entity2中启用了那些,并且该列是备用密钥的一部分。