流程设计里, 服务调用的消息体脚本如何获取表单中视图数据
本帖最后由 河东猴 于 2024-10-31 16:44 编辑我正在设计一个流程,表单中有一个嵌入查询视图,该视图会选中一些项,我想在服务调用里使用这些选中项作为消息体脚本的参数。
作为测试,我在表单中放了一个按钮,在按钮的onclick事件中写入以下代码,是可以读取出视图中的数据的:
console.log("测试消息体脚本");
let sel_data = this.form.get("select_files").getData();
let id = sel_data.xid;
let person = sel_data.xperson;
let personName = sel_data.xpersonName;
let documentId = sel_data.xdocumentId;
let acl_str = this.form.get("authority_select").getData();
let acl = acl_str=="可查看、修改文档"? "1" : "2";
console.log( {
"id": id,
"person": person,
"documentId": documentId,
"personName": personName,
"acl": acl
} );
但是同样的代码拷贝到消息体脚本中运行,后台报错“Cannot read property 'get' of undefined”:
print("测试消息体脚本");
let sel_data = this.form.get("select_files").getData();
let id = sel_data.xid;
let person = sel_data.xperson;
let personName = sel_data.xpersonName;
let documentId = sel_data.xdocumentId;
let acl_str = this.form.get("authority_select").getData();
let acl = acl_str=="可查看、修改文档"? "1" : "2";
return {
"id": id,
"person": person,
"documentId": documentId,
"personName": personName,
"acl": acl
}
请问我要怎么在消息体脚本中读取视图的选中项?
this.form.get("authority_select").getData();是前端脚本,获取当前表单上的某个字段数据,流程图上的脚本是后端脚本,没有form这个对象
嵌入查询配置里选中的数据不会在业务数据里存储,所以在后端无法获取,您可以在表单上增加一个隐藏字段,用于保存您选中的数据,然后去后端使用
页:
[1]