ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Dyanmcis 365调用Action报Entity Reference cannot have Id and Key Attributes empty.错误

2020-03-10 20:01:03  阅读:370  来源: 互联网

标签:输出 Custom Reference EntityReference Dyanmcis 参数 Entity response 赋值


我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面的微软最有价值专家(Microsoft MVP),欢迎关注我的微信公众号 MSFTDynamics365erLuoYong ,回复398或者20200310可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!

我的Action中用了三个输出参数,都是EntityReference类型,用JavaScript或者实时工作流调用时候Action会报错:Entity Reference cannot have Id and Key Attributes empty.

开始我以为是我的Custom Code Activity中的三个输出参数之一的值我使用的是 new EntityReference("logicalname", "Guid"); 这种方式赋值导致的。

查了下这种方式赋值的话,这个输出参数EntityReference的 Name 的确没有值,于是我又额外给这个输出参数补充了Name属性的值还是报错。

后来放弃了,将每个EntityReference类型的输出参数用两个文本类型的输出参数代替,一个是这个实体记录的ID,一个这个实体记录的主属性的值。

这里需要值得注意,赋值给这种输出参数之前,需要先检查Custom Code Activity的EntityReference类型的输出参数的Name其他属性有值,如果没有值就拿来给其他输出参数赋值的话,会报Object reference not set to an instance of an object. 的错误。

给其中为ID的文本输出参数赋值的时候如果赋值为Custom Code Activity的EntityReference类型的输出参数的实体显示名称相同的字段的话,会有问题,拿到的值是主属性的值。所以这个需要改成用Custom Code Activity的EntityReference类型的输出参数的记录URL(Dynamic),类似如下:

 记录URL类似如下:https://lydemo.crm.dynamics.com:443/main.aspx?etc=1&id=956d22c6-11de-e911-a82a-000d3a3b5c20&histKey=671294185&newWindow=true&pagetype=entityrecord

 用JavaScript调用后需要处理下这个输出文本来获取GUID的值,我用正则表达式来处理下就可以:

                                var regex = /id=.{36}/;
                                if (response.OutCountryId && response.OutCountryName) {

                                    formContext.getAttribute("ly_demo").setValue(
                                        [
                                            {
                                                id: regex.exec(response.OutCountryId)[0].substring(3),
                                                name: response.OutCountryName,
                                                entityType: "ly_demofield"
                                            }
                                        ]
                                    );
                                }

 

标签:输出,Custom,Reference,EntityReference,Dyanmcis,参数,Entity,response,赋值
来源: https://www.cnblogs.com/luoyong0201/p/Dynamics_365_Entity_Reference_cannot_have_Id_and_Key

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有