Dynamics CRM - блокировка полей контактов, если учетная запись имеет тип «потенциальный_клиент» - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь создать javascript для запуска "onPageLoad". Объект, который я хочу запустить, это Контакты, и при загрузке страницы (страница контакта) я хочу проверить, относится ли учетная запись, связанная с контактом, к типу «потенциальный_клиент».

Так что, если учетная запись относится к типу «потенциальный_клиент» я хочу заблокировать поля на странице контактов, такие как имя, фамилия, адрес электронной почты, адрес

РЕДАКТИРОВАТЬ - МОЯ ПОПЫТКА

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 из null

EDIT 2 Итак, я обнаружил, что строки с именами и фамилиями ломали скрипт с этой ошибкой, и я подумал, что это потому, что они уже заблокированы в конфигах, поэтому я взял что, и теперь они могут быть отключены, когда я снова добавил эти строки, сценарий разрывается с той же ошибкой «Не удается прочитать свойство setDisabled of null» в этих двух строках. Есть идеи почему?

1 Ответ

0 голосов
/ 02 марта 2020
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);
    )
}

Так что это сценарий, который решает мою проблему, я обнаружил, что мне нужно было отключить «полное имя» вместо того, чтобы устанавливать «имя» и «фамилия» отдельно.

Спасибо за все парни помощи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...