2013 Microsoft Dynamics CRM - 使用JS更改表单
问题描述:
我有一个具有多个表单的自定义实体。2013 Microsoft Dynamics CRM - 使用JS更改表单
要创建一个新窗体,这是通过一个子网格完成的。用户只需点击子网格上的加号按钮即可。这填充表单上的某些字段。我希望能够更改为特定的表单,并将填充的数据传递到字段中。
目前,我已经使用Xrm.Page.ui.formSelector
库根据实体何时处于创建模式在表单之间切换。我用这个在表格之间切换:
Xrm.Page.ui.formSelector.items.get("48faf3de-5b78-4ce9-a5f7-a01222e4e857").navigate()
如何在表单更改时传递填充的数据?
答
我以前做过类似的事情。为您解答的是使用Xrm.Utility.openEntityForm方法。描述如何使用它你可以在这里找到 - https://msdn.microsoft.com/en-us/library/jj602956.aspx#BKMK_OpenEntityForm
如果你想添加字段来填充,你将不得不使用类似于url addressable forms的方法。下面是代码,你应该使用,使openEntityForm正常工作:
var parameters= {};
parameters["formid"] = "guid";
parameters["lookupName"] = "guid";
parameters["lookupNamename"] = "name";
//parameters["lookupNametype"] = "entityName";//populate this ONLY in case when lookup type is 'owner' or 'customer'
Xrm.Utility.openEntityForm("entityName", null, parameters, null);
答
我的建议是保存记录,所以没有必要担心经过预填充字段值。然后导航到所需的表单。
Xrm.Page.data.entity.save();
.
.
.
Xrm.Page.ui.formSelector.items.get(formId).navigate();
你必须告诉/告诉我们你是如何填充数据和什么数据。你是否在navigation()之后缺少值,这是预期的。你可以保存并导航? –