Dynamics CRM - 如果帐户类型为 "potential_client",则锁定联系人字段
Dynamics CRM - Lock Contact Fields if Account is of type "potential_client"
我正在尝试创建 javascript 到 运行 "onPageLoad"。
我想要 运行 的实体是联系人,在页面加载(联系人页面)时,我想检查与联系人关联的帐户是否属于 "potential_client".
类型
因此,如果帐户类型为 "potential_client",我想锁定联系人页面上的字段,例如 名字、姓氏、电子邮件、地址
编辑 - 我的尝试
function onPageLoad(){
var accountid = Xrm.Page.getAttribute("parentcustomerid").getValue()[0].id;
Xrm.WebApi.retrieveRecord("account", accountid, "?$select=customertypecode").then(
function success(result) {
if (result != null) {
if (result.customertypecode == 1 || result.customertypecode == 3) {
Xrm.Page.ui.controls.get("firstname").setDisabled(true);
Xrm.Page.ui.controls.get("lastname").setDisabled(true);
Xrm.Page.ui.controls.get("emailaddress1").setDisabled(true);
}
}
},
function(error) {
alert(error.message);
)
}
错误:
无法读取 属性 setDisabled of null
编辑 2
所以我发现 firstname 和 lastname 行因该错误而破坏了脚本,我认为这是因为它们已经锁定在配置中,所以我将其删除,现在可以禁用它们,当我再次添加这些行时,脚本中断了同样的错误 "Cannot read property setDisabled of null" 在那些到 2 行。知道为什么吗?
function onPageLoad(){
var accountid = Xrm.Page.getAttribute("parentcustomerid").getValue()[0].id;
Xrm.WebApi.retrieveRecord("account", accountid, "?$select=customertypecode").then(
function success(result) {
if (result != null) {
if (result.customertypecode == 1 || result.customertypecode == 3) {
Xrm.Page.ui.controls.get("fullname").setDisabled(true);
Xrm.Page.ui.controls.get("emailaddress1").setDisabled(true);
}
}
},
function(error) {
alert(error.message);
)
}
所以这是解决我问题的脚本,我发现我必须设置禁用 "fullname" 而不是分别设置 "firstname" 和 "lastname"。
感谢大家的帮助。
我正在尝试创建 javascript 到 运行 "onPageLoad"。 我想要 运行 的实体是联系人,在页面加载(联系人页面)时,我想检查与联系人关联的帐户是否属于 "potential_client".
类型因此,如果帐户类型为 "potential_client",我想锁定联系人页面上的字段,例如 名字、姓氏、电子邮件、地址
编辑 - 我的尝试
function onPageLoad(){
var accountid = Xrm.Page.getAttribute("parentcustomerid").getValue()[0].id;
Xrm.WebApi.retrieveRecord("account", accountid, "?$select=customertypecode").then(
function success(result) {
if (result != null) {
if (result.customertypecode == 1 || result.customertypecode == 3) {
Xrm.Page.ui.controls.get("firstname").setDisabled(true);
Xrm.Page.ui.controls.get("lastname").setDisabled(true);
Xrm.Page.ui.controls.get("emailaddress1").setDisabled(true);
}
}
},
function(error) {
alert(error.message);
)
}
错误: 无法读取 属性 setDisabled of null
编辑 2 所以我发现 firstname 和 lastname 行因该错误而破坏了脚本,我认为这是因为它们已经锁定在配置中,所以我将其删除,现在可以禁用它们,当我再次添加这些行时,脚本中断了同样的错误 "Cannot read property setDisabled of null" 在那些到 2 行。知道为什么吗?
function onPageLoad(){
var accountid = Xrm.Page.getAttribute("parentcustomerid").getValue()[0].id;
Xrm.WebApi.retrieveRecord("account", accountid, "?$select=customertypecode").then(
function success(result) {
if (result != null) {
if (result.customertypecode == 1 || result.customertypecode == 3) {
Xrm.Page.ui.controls.get("fullname").setDisabled(true);
Xrm.Page.ui.controls.get("emailaddress1").setDisabled(true);
}
}
},
function(error) {
alert(error.message);
)
}
所以这是解决我问题的脚本,我发现我必须设置禁用 "fullname" 而不是分别设置 "firstname" 和 "lastname"。
感谢大家的帮助。