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 ... 有很多选项)定期获取新记录。