查看: 169|回复: 8

如何实现在流程表单里查询自建数据表内的数据并赋值

升级   0%

2

主题

7

回帖

50

积分

注册会员

Rank: 2

积分
50
发表于 2024-4-24 14:13:58 | 显示全部楼层 |阅读模式
请问,如何在流程表单里实现查询自建数据表内的数据并赋值。

数据中心里有个 自建数据表A
No(编号)
Name(姓名)
Age(年龄)
1
张三
29
2
李四
33
3
王二
32
举例:在ProjectNo输入1,通过查询数据表A,把对应Name的值“张三”赋值给ProjectName

本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   100%

3

主题

1502

回帖

4933

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4933
发表于 2024-4-24 15:18:52 | 显示全部楼层
在第一个输入字段的change事件里可以写脚本,查询自建表数据,并将返回的数据通过this.data.xxx = "值"的方式赋值给另一个字段
查询自建表数据的方法如下:



本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   0%

2

主题

7

回帖

50

积分

注册会员

Rank: 2

积分
50
发表于 2024-4-25 09:46:43 | 显示全部楼层
xadmin 发表于 2024-4-24 15:18
在第一个输入字段的change事件里可以写脚本,查询自建表数据,并将返回的数据通过this.data.xxx = "值"的方 ...

ProjectNo字段里change事件里可以写脚本,查询字段projectNo等于TX2024-001的数据:

var table = new this.Table("ProjectStatisticsTable");
table.listRowSelect( "o.projectNo = 'TX2024-001'", function(data){
   this.data.ProjectName = data.data[0].projectName;
},function(xhr){});

然后再ProjectNo字段输入任何东西,ProjectName字段里不会出现任何字符,完全没有反应
但是我数据表查询里通过 SELECT o.projectName FROM ProjectStatisticsTable o where o.projectNo = 'TX2024-001',是可以正常查询到 projectName : ”测试项目3“这个数据的

问题1、是不是我脚本写错了?
问题2、table.listRowSelect( "o.projectNo = 'TX2024-001'", function(data)   这段脚本中,如何把TX2024-001 这个直接赋值,换成this.data.ProjectNo输入赋值?
回复

使用道具 举报

升级   0%

2

主题

7

回帖

50

积分

注册会员

Rank: 2

积分
50
发表于 2024-4-25 16:38:57 | 显示全部楼层
xadmin 发表于 2024-4-24 15:18
在第一个输入字段的change事件里可以写脚本,查询自建表数据,并将返回的数据通过this.data.xxx = "值"的方 ...

var table = new this.Table("ProjectStatisticsTable");
var C = "o.projectNo = " + "'" + this.data.ProjectNo + "'";
var X = table.listRowSelect( C, function(data){});
this.data.ProjectName = X.data[0].projectName;

上面这段脚本 写在表单 ProjectNo  change事件里,没用,ProjectName 不会被赋值
但是 写在流程 的里面的 活动执行后 环节,流程表单提交后,打开相关流转中工作,可以看到ProjectName 会被正确赋值
这要怎么解决?
回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37249
发表于 2024-4-26 09:44:02 | 显示全部楼层
F12跟踪一下,看看有没有报错,数据有没有正确拿到
回复

使用道具 举报

升级   0%

2

主题

7

回帖

50

积分

注册会员

Rank: 2

积分
50
发表于 2024-4-26 10:37:56 | 显示全部楼层
论坛管理员 发表于 2024-4-26 09:44
F12跟踪一下,看看有没有报错,数据有没有正确拿到

是这样吗?

本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37249
发表于 7 天前 | 显示全部楼层
不要在表单预览界面调试脚本,实际发起一个流程实例去测试
回复

使用道具 举报

升级   0%

2

主题

7

回帖

50

积分

注册会员

Rank: 2

积分
50
发表于 7 天前 | 显示全部楼层
论坛管理员 发表于 2024-4-28 09:43
不要在表单预览界面调试脚本,实际发起一个流程实例去测试

实际发起一个流程实列也是一的


本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   0%

2

主题

7

回帖

50

积分

注册会员

Rank: 2

积分
50
发表于 7 天前 | 显示全部楼层
论坛管理员 发表于 2024-4-28 09:43
不要在表单预览界面调试脚本,实际发起一个流程实例去测试

在脚本里 加了一条 “console.log(X);”



var table = new this.Table("ProjectStatisticsTable");
var C = "o.projectNo = '" + this.data.ProjectNo + "'";
var X = table.listRowSelect( C, function(data){});
console.log(X);
this.data.ProjectName = X.data[0].projectName;


调试的时候 数据已经查询出来了,但是赋值 报错了

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表回复

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

本版积分规则

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