Как установить значение события onload в Dynamics crm - PullRequest
0 голосов
/ 16 мая 2018

Я получаю запись, используя выборку на стороне клиента, и мне нужно заполнить данные из выборки в поле новой записи, которую я создаю (заполнить поле на стороне клиента), но когда я использую установленное значение, я получаю ошибка:

Невозможно прочитать свойство 'setValue' с нулевым значением

Я не понимаю почему, поле Null, потому что новая запись пуста, почему я не могу ее заполнить?

function OnLoad() {
  formType = Xrm.Page.ui.getFormType();
  if(formType == formTypes.Create){
    copyCatNewRecord();
  }
}

function copyCatNewRecord(){
  var xml;
  xml ="<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false' count='1'>"
  xml += "<entity name='needs'>"
  xml += "<attribute name='needsid' />"
  xml += "<attribute name='needsname' />"   
  xml += "<order attribute='modifiedon' descending='true' />"
  xml +=  "</entity></fetch>"

  var ret = frameworkGlobal.ExecuteFetchRequest(xml);
  var currValue = ret[0].needsid.Value;

  // This line returns an error  
  Xrm.Page.getAttribute("needs").setValue(currValue);
}

Ответы [ 2 ]

0 голосов
/ 10 июля 2018

Полученная ошибка указывает на то, что поле, которое вы пытаетесь записать, не найдено. Убедитесь, что поле присутствует в форме и что вы используете логическое имя при попытке получить к нему доступ (см. Ответ Дэйва Кларка).

Если вы пытаетесь установить значение из веб-ресурса Html, присутствующего в вашей форме, используйте window.parent для доступа к полю> window.parent.Xrm.Page.getAttribute("prefix_fieldname").setValue(currValue);

0 голосов
/ 16 мая 2018

Невозможно прочитать свойство 'setValue' с нулевым значением

Это сообщение об ошибке обычно появляется, когда Xrm.Page.getAttribute() был вызван в поле, которое не существует. Итак, вы уверены, что "needs" является именем схемы фактического поля в вашей форме? Поле должно иметь префикс, такой как new_, т.е. "new_needs"

...