ms crm 2015 - 从 jscript onsave 设置实体 ID
ms crm 2015 - set id of entities from jscript onsave
我需要将实体从 Ms Dynamics Crm 2015 - On Premise
同步到我的第 3 方应用程序,为此我在实体(例如帐户)的 OnSave 事件上设置了一个 JavaScript 函数我可以访问所有属性并将它们发送到我的网络服务,但实体的 Id (GuId)!
如何在此事件中访问 ID(或手动设置)?!
Xrm.Page.getAttribute("accountid")
或 Xrm.Page.getAttribute("id")
都是 return null,所以我不能使用它们来设置值。
Also Xrm.Page.data.entity.getId()
returns ""
这可能是合乎逻辑的,因为 Object 还没有被插入到数据库中,这就是插入运行时生成的 guid 的原因这个实体似乎可行!
P.S。
我知道我可以用我已经经历过的插件做同样的事情,但问题是当我为 Update
消息注册我的插件时它被调用了很多次,(主要是当它被设置为invoice
),这就是让我选择 JScript 的原因,因为 OnSave
事件似乎比插件的 Update
消息更合乎逻辑
如您所知,尚未保存的记录没有ID。这是设计使然(而且很明显)。
另外,ID是数据库中的PK,由系统处理,不能触摸也不能手工制作。
保持类似行为的最佳选择是 Post-Operation Create
沙盒之外的插件 (Isolation mode: None
)。
另一个不错的选择是拉取数据而不是推送数据:第 3 方应用程序可以通过任何公开的 API(REST、SOAP、SDK ... 有很多选项)定期获取新记录。
我需要将实体从 Ms Dynamics Crm 2015 - On Premise
同步到我的第 3 方应用程序,为此我在实体(例如帐户)的 OnSave 事件上设置了一个 JavaScript 函数我可以访问所有属性并将它们发送到我的网络服务,但实体的 Id (GuId)!
如何在此事件中访问 ID(或手动设置)?!
Xrm.Page.getAttribute("accountid")
或 Xrm.Page.getAttribute("id")
都是 return null,所以我不能使用它们来设置值。
Also Xrm.Page.data.entity.getId()
returns ""
这可能是合乎逻辑的,因为 Object 还没有被插入到数据库中,这就是插入运行时生成的 guid 的原因这个实体似乎可行!
P.S。
我知道我可以用我已经经历过的插件做同样的事情,但问题是当我为 Update
消息注册我的插件时它被调用了很多次,(主要是当它被设置为invoice
),这就是让我选择 JScript 的原因,因为 OnSave
事件似乎比插件的 Update
消息更合乎逻辑
如您所知,尚未保存的记录没有ID。这是设计使然(而且很明显)。
另外,ID是数据库中的PK,由系统处理,不能触摸也不能手工制作。
保持类似行为的最佳选择是 Post-Operation Create
沙盒之外的插件 (Isolation mode: None
)。
另一个不错的选择是拉取数据而不是推送数据:第 3 方应用程序可以通过任何公开的 API(REST、SOAP、SDK ... 有很多选项)定期获取新记录。