Javascript 在CRM 2011中获取联系人中的所有内置字段和自定义字段
CRM 2011中的联系人实体有很多内置字段,我还添加了一些自定义字段 我想使用Javascript获取所有字段名作为列表。如果要创建电子邮件模板,CRM将允许您从对话框的所有字段中进行选择。我想获得显示在该对话框中的字段名和值 我使用以下代码获取联系人的所有属性,但此列表包含所有对象属性,而不仅仅是联系人字段Javascript 在CRM 2011中获取联系人中的所有内置字段和自定义字段,javascript,json,dynamics-crm-2011,Javascript,Json,Dynamics Crm 2011,CRM 2011中的联系人实体有很多内置字段,我还添加了一些自定义字段 我想使用Javascript获取所有字段名作为列表。如果要创建电子邮件模板,CRM将允许您从对话框的所有字段中进行选择。我想获得显示在该对话框中的字段名和值 我使用以下代码获取联系人的所有属性,但此列表包含所有对象属性,而不仅仅是联系人字段 ODataPath=GetServerUrl()+“/XRMServices/2011/OrganizationData.svc”; var retrieveRecordsReq=新的X
ODataPath=GetServerUrl()+“/XRMServices/2011/OrganizationData.svc”;
var retrieveRecordsReq=新的XMLHttpRequest();
var结果=”;
retrieveRecordsReq.open('GET',ODataPath+“/AccountSet(guid'+guid+“)”),false);
retrieveRecordsReq.setRequestHeader(“接受”、“应用程序/json”);
retrieveRecordsReq.setRequestHeader(“内容类型”,“应用程序/json;字符集=utf-8”);
retrieveRecordsReq.send();
var entity=JSON.parse(retrieveRecordsReq.responseText).d;
当我使用IE开发者工具检查
实体
对象时,它会显示联系人的所有属性,但名称不同。例如,在CRM联系人中,有一个字段mobilephone
,但在IE中是entity.mobilephone
。此外,IE不显示任何自定义字段。您不会得到不同的名称,而REST端点则会得到架构名称
有关更多信息,请阅读本文:
实体还包含自定义字段,端点返回所有字段、OOB和自定义字段。获取所有属性列表的解决方案是正确的。正如Guido所说,这是模式名 我测试了您的代码,并添加了一些换行代码,以创建一个所有属性的列表:
ODataPath = GetServerUrl() + "/XRMServices/2011/OrganizationData.svc";
var retrieveRecordsReq = new XMLHttpRequest();
var url = "";
if (entityname == 'account')
url = "/AccountSet(guid'" + guid + "')";
else if (entityname == 'contact')
url = "/ContactSet(guid'" + guid + "')";
else if (entityname == 'lead')
url = "/LeadSet(guid'" + guid + "')";
else if (entityname == 'systemuser')
url = "/SystemUserSet(guid'" + guid + "')";
retrieveRecordsReq.open('GET', ODataPath + url, false);
retrieveRecordsReq.setRequestHeader("Accept", "application/json");
retrieveRecordsReq.setRequestHeader("Content-Type", "application/json; charset=utf-8");
retrieveRecordsReq.send();
var entity = JSON.parse(retrieveRecordsReq.responseText).d;
var AllContactFields = new Array();
for(var x in entity)
{
if (typeof entity[x] == 'object') {
if (entity[x] == null)
AllContactFields.push(x);
}
else {
AllContactFields.push(x);
}
}
AllContactFields
数组是结果列表
祝你好运