12下一页
发帖
查看: 24797|回复: 10

请问保存时计算字段如何后台重新计算。

升级   1.36%

6

主题

25

回帖

136

积分

注册会员

Rank: 2

积分
136
发表于 2021-11-15 16:04:55 | 显示全部楼层 |阅读模式
在表单中有创建保存时计算的字段 field3,脚本如下:
[JavaScript] 纯文本查看 复制代码
let field1 = this.form.get("field1").getData();
let field2 = this.form.get("field2").getData();
return field1 + field2;


创建文档:field1 = 1; field2 = 2;  保存后 field3 = 3 符合预期;

在其他地方调用脚本修改该文档的 field1 值:

[JavaScript] 纯文本查看 复制代码
let field1 = this.form.get("field1").getData() + 1;
            data["field1"] = field1;
            action.DataAction.updateWithDocument(
                id,
                data,
                function (json) {
                    console.log("updateWithDocument success");
                    console.log(json);
                }.bind(t),
                function (json) {
                    console.log("updateWithDocument failed");
                    console.log(json);
                }.bind(t)
            );





脚本执行完毕后,field1 = 2; field2 = 3; field3 =3 没有变化;期望是 field3 可以根据表单中定义的脚本重新自动计算得到新的值4,
请问这该如何实现,感谢。

回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2021-11-15 17:31:17 | 显示全部楼层
请问“在其他地方调用脚本”是指哪里?因为有一些表单或者组件的事件是不能操作数据的。
回复

使用道具 举报

升级   1.36%

6

主题

25

回帖

136

积分

注册会员

Rank: 2

积分
136
发表于 2021-11-15 18:02:02 | 显示全部楼层
感谢回复,其他地方调用脚本指的是在某个按钮,或是某个事件中需要更新这个文档中的某些值,希望这个文档的其他计算的字段也可以计算更新。
回复

使用道具 举报

升级   1.36%

6

主题

25

回帖

136

积分

注册会员

Rank: 2

积分
136
发表于 2021-11-15 18:03:40 | 显示全部楼层
简单来说就是是否有什么API可以根据表单上字段的计算公式,重新计算,刷新业务数据字段的值。
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2021-11-16 10:13:45 | 显示全部楼层
本帖最后由 论坛管理员 于 2021-11-16 10:14 编辑


let 命令所在的代码块 {} 内有效

这个我就不知道您field1  第一个参数field1 和第二个参数field1  是否是同一个参数。  您这边的field1  只是变量。未涉及到表单内容的修改


修改表单中的某控件数值
this.form.get(标识).setData(数据); //赋值



回复

使用道具 举报

升级   1.36%

6

主题

25

回帖

136

积分

注册会员

Rank: 2

积分
136
发表于 2021-11-16 10:26:24 | 显示全部楼层
论坛管理员 发表于 2021-11-16 10:13
let 命令所在的代码块 {} 内有效

这个我就不知道您field1  第一个参数field1 和第二个参数field1  是否 ...

谢谢回复,用脚本修改控件值目前是没问题的,现在的需求是如果我修改了表单中的计算公式,那么之前已经保存的文档是否有什么方法可以根据新的计算公式重新计算值。
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2021-11-16 10:56:34 | 显示全部楼层

victor 发表于 2021-11-16 10:26
谢谢回复,用脚本修改控件值目前是没问题的,现在的需求是如果我修改了表单中的计算公式,那么之前已经保 ...


表单修改过,对历史文档是没有影响的
这应该所有的软件都是一样的。
除非主动对历史文档进行处理



回复

使用道具 举报

升级   1.36%

6

主题

25

回帖

136

积分

注册会员

Rank: 2

积分
136
发表于 2021-11-16 11:07:15 | 显示全部楼层
论坛管理员 发表于 2021-11-16 10:56
表单修改过,对历史文档是没有影响的
这应该所有的软件都是一样的。
除非主动对历史文档进行处理

是的,有没有比较方便的办法,例如一个表单有10个计算的字段,总不能每次都需要手动编辑保存一次。通过代码把所有计算公式再写一遍也麻烦,是否有可以批量刷新计算字段的方法,类似 Domino 的 ComputeWithForm。
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2021-11-16 11:11:09 | 显示全部楼层
victor 发表于 2021-11-16 11:07
是的,有没有比较方便的办法,例如一个表单有10个计算的字段,总不能每次都需要手动编辑保存一次。通过代 ...

您好:暂时没有该功能!
回复

使用道具 举报

升级   1.36%

6

主题

25

回帖

136

积分

注册会员

Rank: 2

积分
136
发表于 2021-11-16 11:18:46 | 显示全部楼层
了解了,谢谢。
回复

使用道具 举报

12下一页
发帖

发表回复

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

本版积分规则

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