在针对Dynamics CRM 2011的Microsoft动手实验室之后,我尝试将自定义视图添加到响应“onchange”到特定属性的表单。这是我添加自定义视图的功能:
function HandleOnChangeDVMInformationLookup()
{
var locAttr = Xrm.Page.data.entity.attributes.get("new_referringdvm");
if (locAttr.getValue() != null)
{
var dvmId = locAttr.getValue()[0].id;
var viewDisplayName = "DVM Information";
var viewIsDefault = true;
var fetchXml = '<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"><entity name="dvminformation"><attribute name="dvminformation_id"/><attribute name="dvminformation_name"/><attribute name="new_firstname"/><attribute name="new_lastname"/><filter type="and"><condition attribute="id" operator="eq" value="' +dvmId +'"/></filter></entity></fetch>';
var layoutXml = '<grid name="resultset" object="10001" jump="dvminformation_name" select="1" icon="1" preview="1"><row name="result" id="dvminformation_id"><cell name="dvminformation_name" width="300" /><cell name="new_firstname" width="125"/></row></grid>';
var control = Xrm.Page.ui.controls.get("new_dvm_information");
control.addCustomView("62e0ee43-ad05-407e-9b0b-bf1f821c710e", "dvminformation", viewDisplayName, fetchXml, layoutXml, viewIsDefault );
}
}
在表单中更改选定的'dvm'并触发此功能后,我收到以下错误:
未处理的异常:System.ServiceModel.FaultException`1 [[Microsoft.Xrm.Sdk.OrganizationServiceFault,Microsoft.Xrm.Sdk,Version = 5.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35]]:具有名称的实体在MetadataCache.Detail中找不到='dvminformation': -2147217150 在MetadataCache中找不到名称为''dvminformation'的实体。 2013-06-10T22:01:49.4392114Z
'dvminformation'不是我刚刚在XML中定义的实体名称吗?我错过了一步吗?
感谢。
答案 0 :(得分:4)
dvminformation
不太可能是真正的实体名称。您确定存在具有该名称的实体吗?
打开解决方案并查找实体,然后检查其架构名称。
如果是自定义实体,则其格式通常为prefix_name
,例如new_timeline
,new_alert
,在您的情况下可能只是dvm_information
。如果dvm
是您的解决方案前缀。
只有系统实体的名称没有下划线,例如contact
,account
,incident
和dvminformation
对我来说看起来不像是一个系统实体。
答案 1 :(得分:0)
我与customerAddress实体有相同的错误消息。
事实证明我将实体引用为"customerAddress"
(注意驼峰情况)。
但CRM要求所有小写的实体和属性的逻辑名称。所以"customeraddress"
确实有效。
答案 2 :(得分:0)
检查您是否连接到正确的组织(web.config?) See