查看: 703|回复: 1

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

升级   0.16%

2

主题

1

回帖

16

积分

注册会员

Rank: 2

积分
16
发表于 2024-10-31 16:52:37 | 显示全部楼层 |阅读模式
本帖最后由 河东猴 于 2024-10-31 16:44 编辑

我正在设计一个流程,表单中有一个嵌入查询视图,该视图会选中一些项,我想在服务调用里使用这些选中项作为消息体脚本的参数。
作为测试,我在表单中放了一个按钮,在按钮的onclick事件中写入以下代码,是可以读取出视图中的数据的:
[JavaScript] 纯文本查看 复制代码
console.log("测试消息体脚本");
let sel_data = this.form.get("select_files").getData()[0];
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”:
[JavaScript] 纯文本查看 复制代码
print("测试消息体脚本");
let sel_data = this.form.get("select_files").getData()[0];
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
}


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2024-11-1 11:00:03 | 显示全部楼层
this.form.get("authority_select").getData();  是前端脚本,获取当前表单上的某个字段数据,流程图上的脚本是后端脚本,没有form这个对象
嵌入查询配置里选中的数据不会在业务数据里存储,所以在后端无法获取,您可以在表单上增加一个隐藏字段,用于保存您选中的数据,然后去后端使用
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread