在Dynamics 365 XRM Web API中创建记录时,无法设置多选选项字段

时间:2019-12-23 21:13:18

标签: javascript dynamics-crm odata microsoft-dynamics dynamics-crm-webapi

我正在尝试使用Dynamics 365 Web API创建记录。尝试设置的字段是一个多选选项,应该采用整数数组。传入的值是一个整数数组(第二张屏幕截图),但出现以下错误:

  

从JSON读取器读取时,发现意外的'StartArray'节点。应该是“ PrimitiveValue”节点。

     

**enter image description here**

     

enter image description here

下面是正在使用的代码,用于识别引起问题的行。

var data = {
            "title": "sample title",
            "new_f1": f1_value,
            "new_meetingdate": meeting_date,
            "new_trainingmodules": training_modules, // Error on this line
            "new_annualnoticedate": annual_notices,

        }  

        Xrm.WebApi.createRecord("incident", data).then(
            function success(result) {
                alert("Case record created.");
            },
            function (error) {
                alert("error.message);
                // handle error conditions
            }
        );

1 个答案:

答案 0 :(得分:2)

您无需将多选选项集属性作为有效载荷中的数组发送,只需将其作为逗号分隔的字符串值发送即可。

var training_modules = "100000001, 100000002";
.
.
.

"new_trainingmodules": training_modules,

Reference

  

设置多项选择列表值
  使用Web API,您可以通过传递包含逗号分隔数字值的字符串来设置值,如以下示例所示:

     

请求

POST [organization uri]/api/data/v9.0/contacts HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0

{
    "@odata.type": "Microsoft.Dynamics.CRM.contact",
    "firstname": "Wayne",
    "lastname": "Yarborough",
    "sample_outdooractivities": "1, 9"
}