Javascript 使用JS和JSON创建记录时未正确使用所有者值

Javascript 使用JS和JSON创建记录时未正确使用所有者值,javascript,json,dynamics-crm,odata,microsoft-dynamics,Javascript,Json,Dynamics Crm,Odata,Microsoft Dynamics,我试图使用JavaScript在Dynamics 365中创建一个记录,但是所有者字段设置不正确。如果我删除“ownerid”字段的设置,则记录创建得很好。我还尝试用小写和大写格式格式化guid,但没有成功(请参见代码中的注释)。这些字段在警报中按预期显示 当脚本同时使用使guid为小写或非小写的代码运行时,出现以下错误: 错误:验证输入参数时出错:Microsoft.OData.ODataException:尝试读取属性“ownerid”的内容时,从JSON读取器读取了类型为“StartArr

我试图使用JavaScript在Dynamics 365中创建一个记录,但是所有者字段设置不正确。如果我删除“ownerid”字段的设置,则记录创建得很好。我还尝试用小写和大写格式格式化guid,但没有成功(请参见代码中的注释)。这些字段在警报中按预期显示

当脚本同时使用使guid为小写或非小写的代码运行时,出现以下错误:

错误:验证输入参数时出错:Microsoft.OData.ODataException:尝试读取属性“ownerid”的内容时,从JSON读取器读取了类型为“StartArray”的节点;但是,应为空值的“StartObject”节点或“PrimitiveValue”节点

当我尝试像这样重新构造数据变量时(使用小写和大写ID)

我得到以下错误:

验证输入参数时出错:Microsoft.OData.ODataException:不支持非打开类型中的非类型化vvalue


当我看到你的代码,你有数据,即字段和它的值如下

var data =
{
    "new_name": "Sample Practice Management",
    "new_totalamountdue": amountDue,
    "new_deductions": deductionAmount,
    "new_deductionsnotes": deductionNotes,
     "ownerid": md_owner

} 
现在,如果您查看我的代码,则所有者id设置为

entity["ownerid@odata.bind"] = "/systemusers(58127B9D-AFBC-E811-A958-000D3AB42BE8)";
下面是我的代码,我只是尝试创建联系人记录

var entity = {};
    entity.firstname = "Webapi1";
    entity["ownerid@odata.bind"] = "/systemusers(58127B9D-AFBC-E811-A958-000D3AB42BE8)";

    Xrm.WebApi.online.createRecord("contact", entity).then(
        function success(result) {
            var newEntityId = result.id;
        },
        function(error) {
            Xrm.Utility.alertDialog(error.message);
        }
    );
为了让您的生活更轻松,您可以在这里找到大部分自动生成的代码

entity["ownerid@odata.bind"] = "/systemusers(58127B9D-AFBC-E811-A958-000D3AB42BE8)";
var entity = {};
    entity.firstname = "Webapi1";
    entity["ownerid@odata.bind"] = "/systemusers(58127B9D-AFBC-E811-A958-000D3AB42BE8)";

    Xrm.WebApi.online.createRecord("contact", entity).then(
        function success(result) {
            var newEntityId = result.id;
        },
        function(error) {
            Xrm.Utility.alertDialog(error.message);
        }
    );