如何獲取CRM 2011中的記錄中特定字段的架構名稱Javascript ...?在CRM 2011中獲取架構名稱Javascript
1
A
回答
5
字段的名稱應該與「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;
}
+0
我正在使用OnSave事件。模式名稱不同於名稱權限..?說,new_name是字段的名稱,模式名稱就像new_Name ..是正確的..? –
+0
你是對的 - 我更新了我的答案以找到模式名稱。 –
相關問題
- 1. 獲取架構名稱
- 2. CRM 2011:使用Javascript獲取實體
- 3. 的Javascript在CRM 2011
- 4. 在CRM 2011中設置並獲取Notes字段Javascript
- 5. 如何在CRM 2011中使用JavaScript獲取安全角色?
- 6. 在同步使用JavaScript的CRM 2011中獲取元數據
- 7. 如何獲取表的架構名稱
- 8. crm 2011 - 查找:從屬性名稱的關係名稱
- 9. CRM 2011使用JavaScript從實體中獲取屬性
- 10. 在CRM中創建自定義實體的名稱查詢2011
- 11. 在mysql中獲取存儲的proc架構名稱
- 12. 獲取框架集名稱
- 13. 在dojo中通過名稱屬性獲取DOM javascript框架
- 14. 在CRM 2011
- 15. MS Crm 2011 JavaScript Iframe功能
- 16. CRM 2011多個主機名
- 17. Liferay在schedule.jsp中獲取結構名稱
- 18. 如何使用CRM 2011 web服務和JavaScript在CRM 2011中執行FetchXML?
- 19. 獲取查找值的屬性 - javascript/CRM 2011
- 20. 如何獲取thr crm 2011的用戶名?
- 21. 如何使用JavaScript獲取服務器版本CRM 2011或CRM 2013
- 22. 在javascript中獲取URL鏈接名稱?
- 23. 在JavaScript中獲取CSS類名稱
- 24. 在javascript中獲取函數名稱
- 25. 如何在javaScript中獲取div名稱?
- 26. 在javascript中獲取構造函數的名稱
- 27. CRM 2011 -
- 28. 自動填寫Microsoft Dynamics CRM 2011實體中的名稱字段
- 29. Oracle架構名稱
- 30. 在Dynamics CRM 2016中獲取字段的顯示名稱
依賴你從哪裏得到記錄。你是否在迭代JavaScript中的窗體上的控件?或者你是否擊中了OData端點?其他? – BenPatterson1
我需要記錄的實體OnSave中存在的字段的模式名稱。我正在迭代使用Xrm.Page.data.entity.attributes.forEach()方法.. –