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"。

感谢大家的帮助。