Я застрял на функции XrmServiceToolkit.Soap.setState()
.
Предварительные условия
Я изучаю MS CRM. Одна из моих задач - активировать и деактивировать запись (на этот раз это нативная «контактная» запись). Я решил построить свое решение следующим образом (в соответствии с другими задачами):
- В событии OnLoad формы моей пользовательской сущности я создаю новый контакт, используя XrmServiceToolkit (условие задачи), затем обновить одно поле во вновь созданном контакте. На самом деле это не имеет смысла в производстве создавать что-то для этого события, но, тем не менее, это делается только для моего удобства:
function Practice3()
{
let entityToUpdate = CreateRecordWithToolkit("VP_Created by","Xrm Service Toolkit","4F52999B-0E63-EA11-8125-00155D06F203");
alert("Switching to new record!");
Xrm.Utility.openEntityForm("contact", entityToUpdate);
UpdateFieldsWithXrmServiceToolkit(entityToUpdate);
DeactivateAndActivateContact(entityToUpdate);
}
// I don't post the CreateRecordWithToolkit(fname, lname, accountId) and UpdateFieldsWithXrmServiceToolkit(targetEntity) functions 'cos all is Ok there
// and entityToUpdate GUID is passed properly
Между созданием и публикацией обновлений я посылаю команду загрузить эту вновь созданную форму. Он не активировал его сразу, но обновления вставляются правильно. Затем я передаю тот же GUID моей следующей функции DeactivateAndActivateContact (targetEntity), и здесь я застрял.
Вопрос
Может кто-нибудь объяснить или дать подсказку о том, как использовать функцию XrmServiceToolkit.Soap.setState()
? Я не могу получить параметр "entityName" - что это? Как я могу получить его с GUID сущности? Я пытался использовать это так:
function DeactivateAndActivateContact(targetEntity)
{
let entityName = GetObjectAttribute(targetEntity, "contact", "name");
XrmServiceToolkit.Soap.setState(entityName,targetEntity, "0", "0",false);
Xrm.Page.data.refresh(true).then(null, null);
}
, но получаю неопределенную ошибку.
Есть ли способ получить entityName
по GUID? потому что я получаю имя текущей формы.
Ошибка возникает при переходе к этой строке:
XrmServiceToolkit.Soap.setState(entityName,targetEntity, "0", "0",false);