在 CRM 2011 Javascript 中获取架构名称
Get the Schema name in CRM 2011 Javascript
如何在CRM 2011 Javascript中获取记录中特定字段的模式名称...?
字段的名称应与"id"属性相同。
如果您碰巧正在使用字段的事件,则始终可以在定义函数时传递执行上下文,然后在事件代码中使用:
executionContext.getEventSource().getName();
http://msdn.microsoft.com/en-us/library/gg334332.aspx
如果您需要基于字段 id/名称(小写)的架构名称(混合大小写),您可以使用这样的东西(基于 http://crmxpg.nl/wp/2010/10/19/how-to-query-the-metadata-service-via-javascript)
function GetSchemaName() {
alert(gGetAttributeList(Xrm.Page.data.entity.getEntityName(), "thefieldname"));
}
//*********************************************************
gQueryMetadataService = function (request) {
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.open("POST", '/mscrmservices/2007/MetadataService.asmx', false);
xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlhttp.setRequestHeader("SOAPAction", 'http://schemas.microsoft.com/crm/2007/WebServices/Execute');
var soapMessage = "<?xml version='1.0' encoding='utf-8'?>" +
"<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' " +
"xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>" +
"<soap:Header>" +
"<CrmAuthenticationToken xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>" +
"<AuthenticationType xmlns='http://schemas.microsoft.com/crm/2007/CoreTypes'>" + AUTHENTICATION_TYPE +
"</AuthenticationType>" +
"<OrganizationName xmlns='http://schemas.microsoft.com/crm/2007/CoreTypes'>" + ORG_UNIQUE_NAME +
"</OrganizationName>" +
"<CallerId xmlns='http://schemas.microsoft.com/crm/2007/CoreTypes'>00000000-0000-0000-0000-000000000000</CallerId>" +
"</CrmAuthenticationToken>" +
"</soap:Header>" +
"<soap:Body><Execute xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>" + request +
"</Execute></soap:Body>" +
"</soap:Envelope>";
xmlhttp.send(soapMessage);
return xmlhttp.responseXML;
}
gGetAttributeList = function (entityName, fieldname) {
var request = "<Request xsi:type='RetrieveEntityRequest'>" +
"<MetadataId>00000000-0000-0000-0000-000000000000</MetadataId>" +
"<EntityItems>IncludeAttributes</EntityItems>" +
"<LogicalName>" + entityName + "</LogicalName>" +
"<IsCustomizable>1</IsCustomizable>" +
"<RetrieveAsIfPublished>true</RetrieveAsIfPublished>" +
"</Request>";
var result = gQueryMetadataService(request);
var schemaNames = result.selectNodes("//EntityMetadata/Attributes/Attribute/SchemaName");
for (var i = 0; i < schemaNames.length; i++) {
if (fieldname === schemaNames[i].text.toLowerCase()) {
return schemaNames[i].text;
}
}
return null;
}
相关文章:
- 如何在Dynamics CRM中获取时区的夏令时开始和结束时间
- 在 CRM 2011 中同步使用 JavaScript 获取元数据
- CRM 2011 javascript 获取单选按钮值并设置用户名
- 在 CRM 2011 Javascript 中获取架构名称
- CRM Javascript:获取参与者列表的电子邮件地址
- CRM - 从父实体获取所有相关实体的字段总计
- 如何在CRM 2011中使用Javascript和oData获取PartyList字段的值
- CRM 2011使用JavaScript从实体获取属性
- 从CRM Online 2013中的全局选取列表中获取文本值
- 使用javascript从CRM 2015中的查找字段中获取值
- 获取当前用户ID和服务器URL在一个HTML页面- CRM 2011
- 获取属性名是在动态CRM使用javascript实体的主要形式
- 如何在Dynamics CRM 2013中保存操作失败时获取客户端错误详细信息
- 使用JavaScript获取CRM主题颜色
- 获取CRM 2011中联系人中的所有内置和自定义字段
- dynamics crm 2011 -在javascript中获取实体图标url
- 如何在MS CRM 2011中获取字段类型
- Dynamics crm 2011获取子网格选定的单元格值
- DynamicsCRM2011-如何使用JavaScript在crm中获取当前页面上下文
- 动态 crm - 使用 JavaScript 从 CRM 中的日期和时间字段获取日期字符串值