我被困在这个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);