河东猴 发表于 2024-10-31 16:52:37

流程设计里, 服务调用的消息体脚本如何获取表单中视图数据

本帖最后由 河东猴 于 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
}

请问我要怎么在消息体脚本中读取视图的选中项?

论坛管理员 发表于 2024-11-1 11:00:03

this.form.get("authority_select").getData();是前端脚本,获取当前表单上的某个字段数据,流程图上的脚本是后端脚本,没有form这个对象
嵌入查询配置里选中的数据不会在业务数据里存储,所以在后端无法获取,您可以在表单上增加一个隐藏字段,用于保存您选中的数据,然后去后端使用
页: [1]
查看完整版本: 流程设计里, 服务调用的消息体脚本如何获取表单中视图数据