我正在尝试检索entity Organization中查找字段的ID和name。
var fetchxml = `
<fetch distinct='false' mapping="logical" output-format="xml-platform" version="1.0">
<entity name="categorization">
<attribute name="categorizationid"/>
<attribute name="name"/>
<attribute name="category1"/>
<attribute name="category2"/>
<attribute name="category3"/>
<order descending="false" attribute="ava_category1"/>
<filter type="and">
<condition attribute="statecode" operator="eq" value="0" />
</filter>
</entity>
</fetch>`;
fetchxml = "?fetchXml=" + encodeURIComponent(fetchxml);
Xrm.WebApi.retrieveMultipleRecords("categorization", fetchxml).then(
function success(results) {
var data = [];
for (var r in results) {
var category1text = results[r].attributes["category1"].name;
var category1lookup = results[r]["category1"].id;
if (results[r].attributes["category2"] != undefined) {
category2text = results[r].attributes["category2"].name;
var category2lookup = results[r].attributes["category2"].id;
}
var category3text = null;
if (results[r].attributes["category3"] != undefined) {
category3text = results[r].attributes["category3"].name;
var category3lookup = results[r].attributes["category3"].id;
}
}
}
);为什么part results[r].attributes["category1"].name不运行?我是不是遗漏了什么?
发布于 2021-10-15 13:08:56
它应该是这样的:
webApi.retrieveMultipleRecords("categorization", fetchxml)
.then(result => {
var data = [];
result.entities.forEach(e => {
var category1text = e.category1.name;
... etc.一些上下文:for in遍历对象的属性。它返回字符串值。您可以使用for of遍历数组。我个人更喜欢使用带有λ表达式的.forEach()函数。
发布于 2021-10-27 19:58:41
最好的方法是使用odata来构建这样的请求。
` SDK.WEBAPI.retrieveMultipleRecords("categorization",option = "?$select=categorizationid,name,_category1_value,_category2_value,_category3_value&$filter=statecode eq 0";var选项,_category3_value&$filter=statecode (results) {
for (var i = 0; i < results.value.length; i++) {
var Cat1LookupGuid = results.value[i]["_category1_value"];
var Cat1LookupName = results.value[i]["_category1_value@OData.Community.Display.V1.FormattedValue"];
var Cat2LookupGuid = results.value[i]["_category2_value"];
var Cat2LookupName = results.value[i]["_category2_value@OData.Community.Display.V1.FormattedValue"];
var Cat3LookupGuid = results.value[i]["_category3_value"];
var Cat3LookupName = results.value[i]["_category3_value@OData.Community.Display.V1.FormattedValue"];
}
}, function (error) {
console.error("your error" + error.message);
}, function () { }
);
`此工具可以帮助您创建odata请求https://github.com/jlattimer/CRMRESTBuilder
https://stackoverflow.com/questions/69582413
复制相似问题