在Microsoft Dynamics CRM 2011中映射从机会产品到报价产品到订单产品等自定义属性

在Microsoft Dynamics CRM Online中映射自定义属性的过程,从机会产品到报价产品到订购产品再到发票产品,与在本地CRM中的工作方式非常相似.  只有一个问题需要克服, 这就是从CRM后端获取entitymap实体的GUID,以插入URL来构建映射
使用CRM Online会出现一些问题,因为您无法访问实例所在的SQL Server, 这意味着,除非您使用web服务检索它们,否则您无法轻易地从后端获得所需的guid.  您必须在jscript中使用一个带有SOAP的retrievmultiple调用,否则我通常使用2007 (4.0) web服务(为了在CRM 2011中向后兼容,这些服务也被方便地保留了下来).  我使用传统端点,因为在提琴手中很容易看到soap信封.  另一个问题是,由于CRM Online遵循组织名称所在位置的IFD URL结构,因此访问自定义映射所需的URL有一个小更改.

1. 第一个, 您将需要这个jscript,您可以附加到CRM中的任何实体表单事件,以便在事件执行时获得guid,以便检索唯一的entitymapid,以便您的组织从salesorderdetail(订单产品)映射到invoicedetail(发票产品).  因为这只需要做一次, 您可以将它附加到一个事件,并使用预览表单函数检索guid,然后删除jscript,而不需要发布它.

testfunc()函数
{
/ /创建SOAP信封
var xmlSoapHeader= " " +
” +
http://schemas.xmlsoap.org/soap/envelope/ \“xmlns: xsi = \”http://www.w3.org/2001/XMLSchema-instance \“xmlns: xsd = \”http://www.w3.org/2001/XMLSchema \“>”;
var xmlAuthHeader = GenerateAuthenticationHeader();
var xmlSoapBody = “” +
http://schemas.微软.com/crm/2007/WebServices \“> ” +
”    http://schemas.微软.com/crm/2006/Query \“xsi: type = \“q1: QueryByAttribute \“xmlns = \”http://schemas.微软.com/crm/2007/WebServices \“>” +
”      entitymap” +
”      ” +
”        ” +
”          entitymapid” +
”          sourceentityname” +
”          targetentityname” +
”       
” +
”     
” +
” +
sourceentityname” +
” +
”+
salesorderdetail” +
” +
”   
” +
” +
” 
” +
” +
“”;

var xmlt = xmlSoapHeader + xmlAuthHeader + xmlSoapBody;
var xmlHttpRequest = new ActiveXObject(" Msxml2.XMLHTTP”);
xmlHttpRequest.Open(“文章”、“/ mscrmservices / 2007 / CrmService.asmx”,假);
xmlHttpRequest.setRequestHeader(“SOAPAction”、“http://schemas.microsoft.com/crm/2007/WebServices/RetrieveMultiple“);
xmlHttpRequest.setRequestHeader(“Content-Type”, “text/xml; charset=utf-8”);
xmlHttpRequest.内容长度setRequestHeader(“”,使用xmlt.长度);
xmlHttpRequest.发送(使用xmlt);

}

2. 现在运行附加了jscript的表单事件.

如果你使用 提琴手 为了捕获你的会话,它会很好地显示所需的entitymapid GUID:

3.  现在您可以为自定义属性映射拼凑映射接口的URL.  在CRM Online中使用的语法是:

http://myorgsubdomain.crm.动力学.com/Tools/SystemCustomization/Relationships/Mappings/mappingList.aspx?mappingId =entitymapidGUID

下面是一个使用上面guid的语法示例:

http://myspecialcrminstance.crm.动力学.com/Tools/SystemCustomization/Relationships/Mappings/mappingList.aspx?mappingId =eb562cc6 - 991 b - df11 - 87 - a9 - 02 - bf0a0679de

注:由于guid对CRM的每个组织都是唯一的, URL中的GUID实际上不会工作,除非在我自己的个人组织中.

4. 使用浏览器导航到URL,结果屏幕如下所示.  您现在应该看到这个通常不可访问的映射的熟悉的映射对话框.


这就是它的全部内容,只需根据需要添加映射即可.  如果需要为销售流程链中的其他细节(产品)实体获取其他guid,只需更改脚本中的实体类型并重新运行它.

友情链接: 1 2 3