我的组织已从CRM 2011升级到CRM 2016 SP1。
在CRM 2011中,我们添加了一个自定义"查找地址"按钮到几个不支持该功能OOTB的表单。
当然,升级后,此代码停止运行,我一直在尝试更新它。最初,升级后,按钮没有做任何事情。但是,在进行一些更改后,按钮"工作"但会产生以下错误。
<?xml version="1.0"?>
-<error xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<exception>Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: System.InvalidOperationException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #C1D5F608Detail: <OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts"> <ErrorCode>-2147220970</ErrorCode> <ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" /> <Message>System.InvalidOperationException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #C1D5F608</Message> <Timestamp>2016-11-29T19:51:26.801987Z</Timestamp> <InnerFault i:nil="true" /> <TraceText i:nil="true" /> </OrganizationServiceFault> </exception>
<parameters xsi:nil="true"/>
<displaytitle/>
<displaytextencoded/>
<displaytext/>
<description>CRM Parameter Filter - Invalid parameter 'headerForm=1' in Request.QueryString on page /CRMTest/Handlers/WebResource.ashx The raw request was 'GET /CRMTest/{636160451970000359}/WebResources/CRMTest/sfa/quotes/dlg_lookupaddress.aspx?Data=LookupAddress&headerForm=1&parentId=%7bDB4A56CB-6809-E511-91A1-0050569C003F%7d&parentType=1&willCall=0' called from .</description>
<file>Not available</file>
<line>Not available</line>
<details>Not available</details>
<traceInfo/>
<requesturl>http://azcrmdev/CRMTest/Handlers/WebResource.ashx?name=CRMTest/sfa/quotes/dlg_lookupaddress.aspx&Data=LookupAddress&headerForm=1&parentId=%7bDB4A56CB-6809-E511-91A1-0050569C003F%7d&parentType=1&willCall=0</requesturl>
<pathAndQuery>/CRMTest/Handlers/WebResource.ashx?name=CRMTest/sfa/quotes/dlg_lookupaddress.aspx&Data=LookupAddress&headerForm=1&parentId=%7bDB4A56CB-6809-E511-91A1-0050569C003F%7d&parentType=1&willCall=0</pathAndQuery>
<source>ASHX_XML</source>
<stacktrace/>
</error>
&#13;
我尝试过使用&#34; extraqs&#34;参数,&#34; encodeURIComponant&#34;,甚至已经按名称将参数添加到表单本身。这些都是我在研究期间发现的所有可能的解决方案(包括SO)。然而,大多数这些解决方案似乎都是针对2011年的。我还读到,自升级到SP1以来,这根本不起作用。我现在已经旋转了几天了。
非常感谢任何见解。
这是我到目前为止的代码(有问题的代码行包含在&#34; **&#34;)。
function CustomLookup() {
//debugger
//var aoItems = getFieldValue("customerid");
var aoItems = Xrm.Page.getAttribute("customerid").getValue();
if (aoItems == null) {
alert("Account is not Selected");
return;
}
**var object = Xrm.Utility.openWebResource(Xrm.Page.context.prependOrgName("/sfa/quotes/dlg_lookupaddress.aspx?headerForm=1&parentType=1&parentId=" + aoItems[0].id + "&willCall=0"), "LookupAddress", 500, 330, true);**
//debugger
if (object) {
if (object.BillTo && object.ShipTo) {
retrieveRecordXrm(object.Address.AddressId, "CustomerAddressSet", populateBillShipAddress, retrievalFailed, true);
}
else if (object.BillTo) {
retrieveRecordXrm(object.Address.AddressId, "CustomerAddressSet", populateBillAddress, retrievalFailed, true);
}
else if (object.ShipTo) {
retrieveRecordXrm(object.Address.AddressId, "CustomerAddressSet", populateShipAddress, retrievalFailed, true);
}
}
}
&#13;
答案 0 :(得分:-1)
您无法在2016年编辑表单以添加查找吗?
以下示例取自2015年,但2016年的工作方式基本相同。
将OOB地址实体添加到命令栏
默认情况下,OOB地址实体不会出现在命令栏上。
要将其添加到命令栏,请打开“帐户表单”。
点击顶部的“导航”按钮。
将地址从右侧的关系资源管理器拖到左侧的导航。保存并发布。
您的命令栏现在将显示地址。
如果您决定使用OOB地址实体,则继续添加新地址。
Original Post&amp;感谢&#34; JoeCRM&#34;:
http://www.powerobjects.com/2015/04/20/using-builtin-address-versus-custom-address-entity/