如何从联系人 ID 中检索 CRM 动态帐户记录

How to retrieve CRM dyamics account record from contactId

我正在构建一个动态表单,用户可以在其中 select 任何实体及其字段。如果字段是查找,用户可以 select 字段从目前来看它工作正常,除了 contact/account。

当我获取联系人的联系人实体元数据时,它具有帐户查找功能,但是当我尝试使用所有帐户列属性进行检索时,未返回。

下面是我得到的代码和属性结果。

谢谢

这里令人困惑的是 accountid 和 parentcontactid 实际上并不是联系人 table 上的字段。它们是 CRM 应用程序提供的 "virtual" 字段,用于简化需要针对特定​​类型的父客户记录的工作流操作等操作。

您需要改为使用 parentcustomerid 字段,该字段用于查找父客户或父联系人。 parentcustomeridtype 字段告诉您引用了哪种类型(account = 1,contact = 2)。幸运的是,这通常由 EntityReference 对象处理,您可以像对待代码中的任何其他查找一样对待它。

Microsoft 已经实现了 Retrieve Multiple 没有 return 值为 null 的属性的功能。这就是为什么您没有获得所有属性的原因。

参考资料: https://community.dynamics.com/crm/f/117/t/289412

https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/retrieve-detect-changes-metadata