>当我尝试使用 Javascript 在 CRM 中创建电话记录时,我收到以下错误消息,我无法弄清楚原因,有什么帮助吗?
{
"readyState": 4,
"responseText": "{rn"error": {rn"code": "", "message": {rn"lang": "en-US", "value": "Error processing request stream. The property name 'from' specified for type 'Microsoft.Crm.Sdk.Data.Services.PhoneCall' is not valid."rn}rn}rn}",
"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>
如果使用 REST 终结点,则需要使用与活动方实体的关系添加"收件人"和"发件人"。
这是我使用的代码:
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
};
}
好吧,错误消息对我来说听起来很清楚。"from"似乎不是电话呼叫类型的有效属性名称。
快速猜测:您是否尝试过将"From"与大写字母一起使用?我看到您的其他属性是这样写的。