Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获得记录';保存操作前的guid_Javascript_Dynamics Crm 2011_Crm - Fatal编程技术网

Javascript 获得记录';保存操作前的guid

Javascript 获得记录';保存操作前的guid,javascript,dynamics-crm-2011,crm,Javascript,Dynamics Crm 2011,Crm,我需要使用记录的GUID。如果记录是旧的,我可以使用访问guid Xrm.Page.data.entity.getId(); 问题是我需要在保存新记录的同时使用ID 我尝试保存记录,重新加载页面,然后使用id parent.Xrm.Page.data.entity.save(); window.location.reload(true); var currentCaseId = Xrm.Page.data.entity.getId(); 但它不起作用 编辑:我更改代码,以便现在可以在onLo

我需要使用记录的GUID。如果记录是旧的,我可以使用访问guid

Xrm.Page.data.entity.getId();
问题是我需要在保存新记录的同时使用ID

我尝试保存记录,重新加载页面,然后使用id

parent.Xrm.Page.data.entity.save();
window.location.reload(true);
var currentCaseId = Xrm.Page.data.entity.getId();
但它不起作用

编辑:我更改代码,以便现在可以在onLoad事件中获取ID,但现在我的问题是,只有在用户选择“Save”(导致“Save”按钮刷新页面)时,我才能获取GUID。如果用户选择“保存并关闭”或“保存并新建”,则记录不会刷新,因此不会发生onLoad事件,并且我无法获取GUID。

在实际创建实例时,首先获取实例的GUID。因此,在服务器返回guid之前,您需要实际执行保存操作

如果您需要在实体保存之前(或者可能在保存之后但在回发到客户端之前)对其执行某些操作,您可能希望使用插件拦截该操作

最佳方法将取决于实际需要,这取决于您首先尝试获取guid的原因。您打算如何处理“早期guid”


是否必须使用JavaScript?

如果在crm中创建记录,则主键由crm创建并返回给您。您可以自己创建guid并在保存之前分配它。现在你知道正手击球的关键了。

我也有类似的问题。这可能不是业界最好的做法,但它是有效的:我在用户有机会保存(andclose或saveandnew)之前自动保存(Xrm.Page.data.entity.save();)。我在用户输入所有必填字段后自动保存。然后生成Guid并可用于onload事件。

如果记录处于创建模式,我将使用JavaScript和XrmServiceToolkit创建具有所有可能属性的新记录。这为我提供了在后台执行其他操作所需的GUID。然后我阻止保存原始表单,并在同一窗口中打开新创建的记录。它看起来与常规保存完全相同,但它执行您想要的操作。

否,刷新表单后,您将无法在下一条语句中获得GUID。除非JScript执行完成,否则我们无法获得它。但是你可以在OnLoad脚本中获得它。谢谢,这有助于我的cases@DenLun请检查其中一个回复作为答案,或者解释你需要知道什么才能满足你的问题。我遵循你的建议,使用插件。起初我并不想要,因为我是CRM Dynamics的新手,我从来没有创建过一个,但这样做容易多了。谢谢。@DenLun在我看来,插件比JavaScript编码容易得多。代码中有更干净的部分。然而,我必须承认,有一个特定的门槛和一些陷阱需要通过。但一旦你通过了考试,情况就好多了(再一次——YMMV)。几个月前,我在我的博客上安装了一个插件——你为什么不看看呢。我不会给你网址,因为我不想自我推销,但我可以告诉你,它在WordPress上,与我的名字有关。谷歌搜索的人,他会发现。:)