请问保存时计算字段如何后台重新计算。
在表单中有创建保存时计算的字段 field3,脚本如下:let field1 = this.form.get("field1").getData();
let field2 = this.form.get("field2").getData();
return field1 + field2;
创建文档:field1 = 1; field2 = 2;保存后 field3 = 3 符合预期;
在其他地方调用脚本修改该文档的 field1 值:
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,
请问这该如何实现,感谢。
请问“在其他地方调用脚本”是指哪里?因为有一些表单或者组件的事件是不能操作数据的。 感谢回复,其他地方调用脚本指的是在某个按钮,或是某个事件中需要更新这个文档中的某些值,希望这个文档的其他计算的字段也可以计算更新。 简单来说就是是否有什么API可以根据表单上字段的计算公式,重新计算,刷新业务数据字段的值。 本帖最后由 论坛管理员 于 2021-11-16 10:14 编辑
let 命令所在的代码块 {} 内有效
这个我就不知道您field1第一个参数field1 和第二个参数field1是否是同一个参数。您这边的field1只是变量。未涉及到表单内容的修改
修改表单中的某控件数值
this.form.get(标识).setData(数据); //赋值
论坛管理员 发表于 2021-11-16 10:13
let 命令所在的代码块 {} 内有效
这个我就不知道您field1第一个参数field1 和第二个参数field1是否 ...
谢谢回复,用脚本修改控件值目前是没问题的,现在的需求是如果我修改了表单中的计算公式,那么之前已经保存的文档是否有什么方法可以根据新的计算公式重新计算值。
victor 发表于 2021-11-16 10:26
谢谢回复,用脚本修改控件值目前是没问题的,现在的需求是如果我修改了表单中的计算公式,那么之前已经保 ...
表单修改过,对历史文档是没有影响的
这应该所有的软件都是一样的。
除非主动对历史文档进行处理
论坛管理员 发表于 2021-11-16 10:56
表单修改过,对历史文档是没有影响的
这应该所有的软件都是一样的。
除非主动对历史文档进行处理
是的,有没有比较方便的办法,例如一个表单有10个计算的字段,总不能每次都需要手动编辑保存一次。通过代码把所有计算公式再写一遍也麻烦,是否有可以批量刷新计算字段的方法,类似 Domino 的 ComputeWithForm。 victor 发表于 2021-11-16 11:07
是的,有没有比较方便的办法,例如一个表单有10个计算的字段,总不能每次都需要手动编辑保存一次。通过代 ...
您好:暂时没有该功能! 了解了,谢谢。
		页: 
[1] 
2