首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xrm.WebApi如何检索属性

Xrm.WebApi如何检索属性
EN

Stack Overflow用户
提问于 2021-10-15 09:11:07
回答 2查看 209关注 0票数 0

我正在尝试检索entity Organization中查找字段的ID和name。

代码语言:javascript
复制
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不运行?我是不是遗漏了什么?

EN

回答 2

Stack Overflow用户

发布于 2021-10-15 13:08:56

它应该是这样的:

代码语言:javascript
复制
webApi.retrieveMultipleRecords("categorization", fetchxml)
    .then(result => {
        var data = [];

        result.entities.forEach(e => {
            var category1text = e.category1.name;
            ... etc.

一些上下文:for in遍历对象的属性。它返回字符串值。您可以使用for of遍历数组。我个人更喜欢使用带有λ表达式的.forEach()函数。

参见W3Schools - JavaScript for/in Statement

票数 0
EN

Stack Overflow用户

发布于 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) {

代码语言:javascript
复制
                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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69582413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档