CRM Javascript:获取参与者列表的电子邮件地址

时间:2016-01-26 23:04:08

标签: javascript dynamics-crm crm

在CRM 2013中,我编写了一个javascript来删除包含特定电子邮件地址的某些电子邮件参与者(在我的代码下面是test@test.com)。

有人告诉我,最好的方法是删除整个电子邮件参与者并重新构建它,因为没有好的方法可以从电子邮件中删除特定的参与者(如果有的话,请纠正我)。更好的方式)。

所以,首先我将所有的派对带到"到#34;电子邮件中的字段。然后我推动了令人满意的'参与者进入一个新阵列。包含test@test.com电子邮件的参与者将不会被推入此新阵列,即从列表中删除。

但是我在尝试从" toParty"中获取电子邮件地址值时遇到问题。列表。

这似乎不起作用,而是返回undefined。在这里,我要查看电子邮件的架构名称,即电子邮件地址1'。尝试电子邮件地址1'也不起作用。

toParty[indxAttendees].EMailAddress1 --> doesn't work

非常感谢任何想法。

var toParty = Xrm.Page.getAttribute("to").getValue();

    for (var indxAttendees = 0; indxAttendees < toParty.length; indxAttendees++) {


        var partyListData = new Array();

        if (toParty[indxAttendees].EMailAddress1 != "test@test.com") 
        {

            //alert("Email address " + indxAttendees + " :" + toParty[indxAttendees].EMailAddress1); --> this will be undefined value
            partyListData[indxAttendees] = new Object();

            //get ID
            partyListData[indxAttendees].id = toParty[indxAttendees].id;
            alert("ID " + indxAttendees + " :" + toParty[indxAttendees].id);

            //get Name
            partyListData[indxAttendees].name = toParty[indxAttendees].name;
            alert("Name " + indxAttendees + " :" + toParty[indxAttendees].name);               

            partyListData[indxAttendees].entityType = toParty[indxAttendees].entityType;
            alert("Entity Type " + indxAttendees + " :" + toParty[indxAttendees].entityType);
            }

1 个答案:

答案 0 :(得分:0)

在这种情况下使用oDataQuery。只需要为队列编写不同的函数,因为电子邮件地址字段在队列与联系人/帐户中不同。

if ((entityType == "contact") || (entityType == "account")) {
    select = "$select=EMailAddress1&$filter=" + entityType.charAt(0).toUpperCase() + entityType.slice(1) + "Id eq guid'" + entityId + "'";        
    var entitySet = entityType.charAt(0).toUpperCase() + entityType.slice(1) + "Set";

    XrmServiceToolkit.Rest.RetrieveMultiple(entitySet, select,
   function (results) {
       if (results.length > 0) {
           result = results[0].EMailAddress1;
       }
   }, function (error) { alert(error); }, function onComplete() { }, false);
        return result;
}