使用 javaScript 访问 Dynamics CRM/365 表单中的其他实体属性
Accessing Other Entities Attributes in Dynamics CRM/365 Forms with javaScript
此功能 buttonBuzz()
在实体帐户、联系人和潜在客户的表单中运行。但不是机会形式。
主要是没有telephone1
属性。但是,在包含电话号码的部分中添加了一个联系人实体 "Quick View"。
我认为它可以通过 telephone1
访问,但不能通过 Xrm.page
关于如何从 "quick view" 中获取属性的任何想法?
我不知道 "Quick view" window 是否是 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** } ...
快速视图显示查找字段中所选记录的数据,在本例中为联系人。您可以使用 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 文件之外,您还需要将 SDK.REST.js 文件包含在 MS CRM SDK download 中的商机表单库中。
您可以通过创建一个计算字段,将其设置为 parentcontactid.telephone1
,将该字段从联系人拉到机会中
将该字段放在表单上,您将能够像其他任何机会字段一样.getAttribute()
它(经过计算,它会在源更改时自行更新)。
此功能 buttonBuzz()
在实体帐户、联系人和潜在客户的表单中运行。但不是机会形式。
主要是没有telephone1
属性。但是,在包含电话号码的部分中添加了一个联系人实体 "Quick View"。
我认为它可以通过 telephone1
访问,但不能通过 Xrm.page
关于如何从 "quick view" 中获取属性的任何想法?
我不知道 "Quick view" window 是否是 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** } ...
快速视图显示查找字段中所选记录的数据,在本例中为联系人。您可以使用 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 文件之外,您还需要将 SDK.REST.js 文件包含在 MS CRM SDK download 中的商机表单库中。
您可以通过创建一个计算字段,将其设置为 parentcontactid.telephone1
将该字段放在表单上,您将能够像其他任何机会字段一样.getAttribute()
它(经过计算,它会在源更改时自行更新)。