Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dynamics crm 2011 如何在Dynamics CRM插件中获取销售订单的父帐户实体?_Dynamics Crm 2011 - Fatal编程技术网

Dynamics crm 2011 如何在Dynamics CRM插件中获取销售订单的父帐户实体?

Dynamics crm 2011 如何在Dynamics CRM插件中获取销售订单的父帐户实体?,dynamics-crm-2011,Dynamics Crm 2011,我正在开发一个Microsoft Dynamics CRM 2011插件,该插件在创建事件时连接到SalesOrder实体。我需要获得订单父帐户,以访问其某些属性。我正在Execute方法中尝试以下代码,但执行时键“accountid”不存在 Entity entity = (Entity)context.InputParameters["Target"]; // A salesorder entity EntityReference accountRef = (EntityReference)

我正在开发一个Microsoft Dynamics CRM 2011插件,该插件在创建事件时连接到SalesOrder实体。我需要获得订单父帐户,以访问其某些属性。我正在
Execute
方法中尝试以下代码,但执行时键“accountid”不存在

Entity entity = (Entity)context.InputParameters["Target"]; // A salesorder entity
EntityReference accountRef = (EntityReference)entity.Attributes["accountid"];
插件在操作后阶段注册,以同步模式执行。下图显示了所有配置


是否有其他方法获取SalesOrder实体的父帐户?

这里有两个可能的问题。首先,您的插件是在同步执行模式下注册的,并且处于预操作事件管道执行阶段吗? 请检查此设置,可能存在问题


其次,如果您正确注册了插件,可能您没有在SalesOrder表单上设置ParentAccount,这可能不是问题:)

SDK文档中似乎有错误,因为即使我将插件配置为以异步模式运行,SalesOrder实体也永远无法使用accountid属性。我通过customerid更改了accountid属性,这实际上可以是一个帐户(默认行为)。这解决了我的问题,我可以获得订单所属帐户的参考

Entity entity = (Entity)context.InputParameters["Target"]; // A salesorder entity
EntityReference accountRef = (EntityReference)entity.Attributes["customerid"];
if (accountRef.LogicalName != "account") return;

拉撒路,谢谢你的回答。我更新了我的问题,包括一个显示插件注册参数的屏幕截图。由于配置为在后期操作阶段运行,我假设SalesOrder已经创建,并且引用了它所属的帐户,但这种假设似乎是错误的:(