如何通过Xrm.Navigation.openForm打开表单时自动填充Parcours lookup字段
实现方案
直接读取当前Parcours表单的记录ID和主属性值填入对应参数即可,修改后的代码如下:
function NavigateQuestion(executionContext) { // 获取当前表单上下文 var formContext = executionContext.getFormContext(); var entityFormOptions = {}; entityFormOptions["entityName"] = "zs_question"; var formParameters = {}; // 自动填充lookup字段参数 formParameters["zs_parcours"] = formContext.data.entity.getId().replace(/[{}]/g, ""); // 移除GUID自带的大括号 formParameters["zs_parcoursname"] = formContext.data.entity.getPrimaryAttributeValue(); formParameters["zs_parcourstype"] = "zs_parcours"; Xrm.Navigation.openForm(entityFormOptions, formParameters).then( function (success) { console.log(success); console.log(formParameters); }, function (error) { console.log(error); } ); }
配置注意事项
- 按钮在命令设计器中配置时,必须勾选「将执行上下文作为第一个参数传递」选项,否则代码无法获取当前表单数据
- 如果需要自定义取值,也可以通过
formContext.getAttribute("字段逻辑名").getValue()手动读取对应字段的值填入参数 - 确保填入的字段逻辑名、表逻辑名和Dataverse中配置的完全一致
内容的提问来源于stack exchange,提问作者Omar Bouattour
相关产品推荐
相关产品推荐

