caicai 发表于 2024-11-19 15:05:10

流程数据获取问题

表单设计如下


自建表如下

流程 文件收到后 的脚本如下

var table = new this.Table( "Item" );
var values = [];
var par = {
    "workid": this.workContext.getWork().id,
    "subject": this.data.subject,
    "eldatetime": this.data.eldatetime,
    "creatorPerson": this.workContext.getWork().creatorPerson,
    "creatorUnit": this.workContext.getWork().creatorUnit,
    "elinput": this.data.elinput,
    "elinput_1": this.data.elinput_1,
    "elinput_2": this.data.elinput_2,
    "elinput_3": this.data.elinput_3,
    "elinput_4": this.data.elinput_4,
    "eldatetime_1": this.data.eldatetime_1,
    "writingBoard": this.workContext.getWork().writingBoard,
    "creatorPerson2": this.workContext.getWork().creatorPerson2,
    "creatorPerson3": "qqqq",
    "eldatetime_2": this.data.eldatetime_2,
    "eldatetime_3": this.data.eldatetime_3,
    "elinput_5": this.data.elinput_5,
    "elinput_6": this.data.elinput_6,
    "elinput_7": this.data.elinput_7,
    "elinput_8": this.data.elinput_8,
    "elinput_9": this.data.elinput_9
}
values.push(par);
table.insertRow( values);

遇到的问题:
creatorPerson的值有存进去了。
creatorPerson2的值没有存进去。
流程脚本中this.workContext.getWork().creatorPerson2,这样获取人员组织的值应该是正确的吧





论坛管理员 发表于 2024-11-20 14:01:10

所有表单上的自定义字段,取值都用this.data.字段名
只有系统字段才用this.workContext.getWork().字段名

caicai 发表于 2024-11-20 14:51:48

论坛管理员 发表于 2024-11-20 14:01
所有表单上的自定义字段,取值都用this.data.字段名
只有系统字段才用this.workContext.getWork().字段名 ...

流程中 收到文件后脚本 。人员组织这种是使用的this.workContext.getWork().字段名这种取值方式吧。我如果使用this.data.字段名去获取人员组织值,是错误的,流程的所有数据都不会存到 自建表中。其他的比如elinput,使用this.data.elinput是可以正常获取数据存到自定义数据表的。唯有人员组织这个控件的值有问题。


论坛管理员 发表于 2024-11-22 09:38:54

人员组织的控件取值是,this.data.字段标识,和表单上所有的字段都一样
但是不同的控件存储的值的格式不同,org字段存储的是一个数组,数组里面是人员的json对象,所以这里this.data.org取到的值的格式和您自建表里列的格式不匹配,才导入不进去,您需要先解析一下org的取值再来传入进去
页: [1]
查看完整版本: 流程数据获取问题