本帖最后由 szhtest 于 2024-5-21 14:28 编辑
附件的site是指父子流程的表单的附件的字段ID吗?这个父子流程的表单字段ID没法改成一样的,业务那边提供的父子流程的字段名不一样也不允许统一。
如何在发起流程时修改下附件site?你的意思是我表单这个字段名为a,走到流程调用这一步可以强行将字段名修改为与子流程附件字段同名的b,然后就可以用“拷贝附件”这个功能了吗
我现在在流程调用——数据脚本中写了一段赋值+附件从父流程传递到子流程的脚本,但是存在一个问题:我在数据脚本中无法获取到子流程ID,请问应该怎么获取?this.workcontext.getwork获取到的是主流程的ID
[Python] 纯文本查看 复制代码 var data = this.assignData.get();
data.data['返工类型'] = this.data['类型']
data.data['返工内容'] = this.data['内容摘要']
var workFlowDataId = this.workContext.getWork().id //父流程ID
var action1 = this.Actions.load("x_program_center");//中心服务
var host = "http://192.168.39.254" //this.Actions.getHost() 获取当前OA所在ip:port
print('--------------------------------------附件列表----------------------------------------------')
print(JSON.stringify(data.attachmentList))
filelist = data.attachmentList
var filelist_bhgfj = []
for(var i=0;i<filelist.length;i++){
if(filelist[i]['site'] == '关联附件'){
filelist_bhgfj.push(filelist[i])
//构造文件的下载链接
var downLoadUrl=host+'/x_processplatform_assemble_surface/jaxrs/attachment/download/'+filelist[i].id+'/work/'+workFlowDataId+'/stream'
//最后逐个文件拷贝到当前工作流
action1.InvokeAction.execute(
"将某个文件数据拷贝到工作流",
{
"workId" : currentWork.workId, //需要获取子流程ID但拿不到
"fileName" : filelist[i].id,
"fileUrl" : downLoadUrl,
"site" : "返工内容_附件",
"person" : filelist[i].person
},
function( json ){
console.log(json)
}
);
}
}
return data;
我也有试过在事件里面写,但是当我想拿取父流程附件字段我用this.data.附件字段时,打印出来的是附件名称,而非assignData能拿到的附件对象数组 |