使用javascript时访问activityparty中使用的地址

时间:2018-11-01 14:21:29

标签: dynamics-crm

当我使用以下方法创建新的Activityparty时:

// Create an activity party for the email TO
Entity[] activityPartyTo = new Entity[1];
activityPartyTo[0] = new Entity("activityparty");
activityPartyTo[0]["addressused"] = "john@email.com"
activityPartyTo[0]["partyid"] = new EntityReference("contact", to.Get(executionContext).Id);
email["to"] = activityPartyTo;

我引用的是特定联系人,但我不想在联系人中使用默认的emailaddress1或emailaddress2,所以我将其设置为“ addressused”。

问题是我在哪里可以用javascript访问它?这段代码为我提供了所有的活动伙伴,但我看到的唯一属性是名称和类型

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

    for (var i = 0; i < members.length; i++) {
        // Contact
        if (members[i].type == 2) {
            alert("Contact Id: " + members[i].id + " Name: " + members[i].name + " addressused: " + members[i].addressused);
        }
    }

但是addressused是不确定的,有人可以告诉我addressused的存储位置吗?

1 个答案:

答案 0 :(得分:0)

一旦从查找字段中获得活动方 id ,您将需要向WebAPI执行以下请求以获取addressused(检索方法不能用于这个实体,所以这就是我使用过滤器的原因):

GET /api/data/v9.0/activityparties?$select=addressused&$filter=activitypartyid eq YOURID

如果您使用的是v9,则可以使用以下代码:

Xrm.WebApi.retrieveMultipleRecords("activityparty", "?$select=addressused&$filter=activitypartyid eq 04c31532-4ae5-e511-80fe-00155d09ab01").then(
    function success(result) {
        for (var i = 0; i < result.entities.length; i++) {
            console.log(result.entities[i].addressused);
        }                    
    },
    function (error) {
        console.log(error.message);
    }
);