Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在CRM 2011中获取联系人中的所有内置字段和自定义字段_Javascript_Json_Dynamics Crm 2011 - Fatal编程技术网

Javascript 在CRM 2011中获取联系人中的所有内置字段和自定义字段

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

CRM 2011中的联系人实体有很多内置字段,我还添加了一些自定义字段

我想使用Javascript获取所有字段名作为列表。如果要创建电子邮件模板,CRM将允许您从对话框的所有字段中进行选择。我想获得显示在该对话框中的字段名和值

我使用以下代码获取联系人的所有属性,但此列表包含所有对象属性,而不仅仅是联系人字段

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
数组是结果列表

祝你好运