在电子邮件表单 i dynamics 365 上设置 "to" 字段
Set "to" field on email form i dynamics 365
我正在尝试使用 JavaScript 在 Dynamics 365 中打开一个新的电子邮件表单。我可以轻松地预先填写各种字段,例如“有关”,但是当我尝试填写“收件人”字段时,它只是空着。
这是一个重现我的问题的小代码片段:
let contactid = "91be7fec-2142-ec11-8c62-000d3ac23084";
let activityParameters = {};
// Set the regarding field -- this works!
activityParameters["regardingobjectid"] = contactid ;
activityParameters["regardingobjectidname"] = "Regarding your last email";
activityParameters["regardingobjectidtype"] = "contact";
// Set the to field -- this is not working!
var parties = [];
var receiver = {};
receiver["partyid_contact@odata.bind"] = `/contacts(${contactid})`;
receiver["participationtypemask"] = 2; //To
parties.push(receiver);
activityParameters["email_activity_parties"] = parties;
await window.parent.Xrm.Navigation.navigateTo(
{ pageType: "entityrecord", entityName: "email", data: activityParameters },
{ target: 2 } // Open in modal
)
我还尝试了一些基于查找在其他地方的设置方式的变体,例如:
var parties = [];
var receiver = {
activityparty: {
id: contactid,
entityType: "contact",
name: "XXX"
},
participationtypemask: 2
};
谷歌搜索问题只给了我使用网络 API 创建电子邮件的解决方案(正如我在上面尝试过的),但我不确定如何更改代码以便 navigateTo()
识别参数.
有人知道怎么做吗?
我终于明白了。 Andrew Butenko 描述了如何为 openForm()
执行此操作,结果发现同样的解决方案也可以应用于 navigateTo()
。
我会在这里留下我的解决方案,以防其他人遇到同样的问题。
let contactid = "91be7fec-2142-ec11-8c62-000d3ac23084";
let activityParameters = {};
// Set the to field -- this IS working!
activityParameters["to"] = [{
id: contactid,
name: "Contact Name Here",
entityType: "contact"
}];
await window.parent.Xrm.Navigation.navigateTo(
{ pageType: "entityrecord", entityName: "email", data: activityParameters },
{ target: 2 } // Open in modal
);
我正在尝试使用 JavaScript 在 Dynamics 365 中打开一个新的电子邮件表单。我可以轻松地预先填写各种字段,例如“有关”,但是当我尝试填写“收件人”字段时,它只是空着。
这是一个重现我的问题的小代码片段:
let contactid = "91be7fec-2142-ec11-8c62-000d3ac23084";
let activityParameters = {};
// Set the regarding field -- this works!
activityParameters["regardingobjectid"] = contactid ;
activityParameters["regardingobjectidname"] = "Regarding your last email";
activityParameters["regardingobjectidtype"] = "contact";
// Set the to field -- this is not working!
var parties = [];
var receiver = {};
receiver["partyid_contact@odata.bind"] = `/contacts(${contactid})`;
receiver["participationtypemask"] = 2; //To
parties.push(receiver);
activityParameters["email_activity_parties"] = parties;
await window.parent.Xrm.Navigation.navigateTo(
{ pageType: "entityrecord", entityName: "email", data: activityParameters },
{ target: 2 } // Open in modal
)
我还尝试了一些基于查找在其他地方的设置方式的变体,例如:
var parties = [];
var receiver = {
activityparty: {
id: contactid,
entityType: "contact",
name: "XXX"
},
participationtypemask: 2
};
谷歌搜索问题只给了我使用网络 API 创建电子邮件的解决方案(正如我在上面尝试过的),但我不确定如何更改代码以便 navigateTo()
识别参数.
有人知道怎么做吗?
我终于明白了。 Andrew Butenko 描述了如何为 openForm()
执行此操作,结果发现同样的解决方案也可以应用于 navigateTo()
。
我会在这里留下我的解决方案,以防其他人遇到同样的问题。
let contactid = "91be7fec-2142-ec11-8c62-000d3ac23084";
let activityParameters = {};
// Set the to field -- this IS working!
activityParameters["to"] = [{
id: contactid,
name: "Contact Name Here",
entityType: "contact"
}];
await window.parent.Xrm.Navigation.navigateTo(
{ pageType: "entityrecord", entityName: "email", data: activityParameters },
{ target: 2 } // Open in modal
);