【问题标题】:create a PhoneCall record in Crm using Javascript使用 Javascript 在 Crm 中创建 PhoneCall 记录
【发布时间】:2014-11-26 08:43:49
【问题描述】:

当我尝试使用 Javascript 在 Crm 中创建 PhoneCall 记录时,我收到以下错误消息,我无法找出原因,有什么帮助吗?

 {
    "readyState": 4,
    "responseText": "{\r\n\"error\": {\r\n\"code\": \"\", \"message\": {\r\n\"lang\": \"en-US\", \"value\": \"Error processing request stream. The property name 'from' specified for type 'Microsoft.Crm.Sdk.Data.Services.PhoneCall' is not valid.\"\r\n}\r\n}\r\n}",
    "status": 400,
    "statusText": "Bad Request"
} 
 "error" 
 "Bad Request" 

<code>

    var fromArray = [];
 var FromActivityParty = {
      PartyId:
     {
      Id: Xrm.Page.context.getUserId(),
      LogicalName: "systemuser"
     },
      ActivityId: {
       Id: TeamId,
       LogicalName: "team"
      },
      ParticipationTypeMask: { Value: 1 }
     };
 fromArray[0] = FromActivityParty;

 var toArray = [];
 var ToActivityParty = {
    PartyId:
     {
      Id: Xrm.Page.data.entity.getId(),
      LogicalName: "account"
     },
      ActivityId: {
       Id: TeamId,
       LogicalName: "team"
      },
      ParticipationTypeMask: { Value: 2 }
     }; 
  toArray[0] = ToActivityParty;

    var PhoneCall = {   
        from: fromArray, 
        to: toArray,
        Subject: "Create a phonecall record",
        OwnerId: fromArray,
        PhoneNumber: phoneNumber
    }


        CrmRestKit.Create("PhoneCall", PhoneCall)
                .fail(function (xhr, status, errorThrown) 
                { 
                    console.log(JSON.stringify(xhr, null, 4)); 
                    console.log(JSON.stringify(status, null, 4)); 
                    console.log(JSON.stringify(errorThrown, null, 4)); 

                })
                .done(function (data, status, xhr) {
                    console.log(JSON.stringify(data, null, 4));
    }

</code>

【问题讨论】:

    标签: javascript crm phone-call


    【解决方案1】:

    如果您使用的是 REST 端点,则需要使用与 活动方 实体的关系来添加 ToFrom

    这是我使用的代码:

    var phoneCall = {};
    
    phoneCall.phonecall_activity_parties = [
    	new ActivityParty(2, "systemuser", "GUID"),
    	new ActivityParty(1, "contact", "GUID")
    ]; //2 = 'To'            1 = 'From'
    
    //TODO: Call CREATE using phoneCall object.
    
    function ActivityParty(typeMask, logicalName, partyId) {
    	if (partyId && partyId[0] === '{') {
    		partyId = partyId.substring(1, partyId.length - 1);
    	}
    	this.PartyId = {
    		LogicalName : logicalName,
    		Id : partyId
    	};
    	this.ParticipationTypeMask = {
    		Value : typeMask
    	};
    }

    【讨论】:

      【解决方案2】:

      嗯,错误消息对我来说听起来很清楚。 “from”似乎不是电话类型的有效属性名称。

      快速猜测:您是否尝试过将“From”与大写字母一起使用?我看到你的其他属性是这样写的。

      【讨论】:

      • 是的,我确实尝试了“发件人”,然后我会得到“处理请求流时出错。为类型“Microsoft.Crm.Sdk.Data.Services.PhoneCall”指定的属性名称“发件人”不是有效。”
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      相关资源
      最近更新 更多