0

此功能buttonBuzz()适用于实体帐户、联系人和潜在客户的表单。但不是机会形式。主要是因为没有telephone1属性。但是,在带有电话号码的部分中添加了一个带有“快速查看”的联系人实体。

机会表视图,带有红色标记的联系人快速视图

我认为它也可以访问,telephone1只是不能访问Xrm.page

有什么想法可以从“快速视图”中获取属性吗?

我不知道“快速查看”窗口是否是 iFrame 的一种形式。如果是,我不知道如何使用Xrm.Page.getAttribute("telephone1").getValue();

function buttonBuzz(exObj) {
var phoneNumber;

// Here i store the "telephone1" Attribute from the current .page
phoneNumber = Xrm.Page.getAttribute("telephone1").getValue();

if (phoneNumber != null) {      **Sends phonenumber**           } ...
4

2 回答 2

1

快速视图显示查找字段中选择的记录中的数据,在本例中为联系人。您可以使用 OData 端点从相关记录中查询数据。

您首先需要获取所选记录的 Guid:

var contactId = Xrm.Page.getAttribute("parentcontactid")[0].id || null;

然后,您需要发送一个SDK.REST请求,传递记录 ID ( contactId) 的参数,entityName以及columns

var entityName = "Contact";
var columns = "Address1_Telephone1, FirstName, LastName";    

SDK.REST.retrieveRecord(contactId, entityName, columns, null, function(result) {
    // Success, logic goes here.
    var address1_Telephone1 = result.Address1_Telephone1;
}, function(e) {
    console.error(e.message);
});

除 JavaScript 文件外,您还需要在商机表单库中包含MS CRM SDK 下载中包含的 SDK.REST.js 文件。

于 2017-02-28T11:34:22.163 回答
1

您可以通过创建计算字段将该字段从联系人拉到机会中,将其设置为parentcontactid.telephone1

将字段放在表单上,​​您就可以.getAttribute()像任何其他机会字段一样使用它(被计算,只要源发生变化,它就会自行更新)。

于 2018-03-20T15:15:43.207 回答