查看: 4224|回复: 9

[固定资产管理] 流程实例生成内容管理实例,附件怎么传到内容管理呢

升级   60.2%

47

主题

63

回帖

801

积分

高级会员

Rank: 4

积分
801
发表于 2023-3-26 16:21:19 | 显示全部楼层 |阅读模式
本帖最后由 Baymax 于 2023-3-26 16:34 编辑

管理员大大,通过流程实例生成内容管理实例,流程实例中的附件怎么传到内容管理呢?

在论坛找了一圈,找到了以前的回复https://www.o2oa.net/forum/forum.php?mod=viewthread&tid=25416&highlight=%E9%99%84%E4%BB%B6,但并没有看懂。

可以获取到附件的ID,那附件的地址是指URL吗?得到这两个之后要怎么样在内容管理中显示呢?通过赋值方式还是?有代码示例不?


我是通过以下方式赋值的,但没成功

本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   60.2%

47

主题

63

回帖

801

积分

高级会员

Rank: 4

积分
801
发表于 2023-3-26 16:59:09 | 显示全部楼层
本帖最后由 Baymax 于 2023-3-26 17:18 编辑

找到了另外一个帖子https://www.o2oa.net/forum/forum.php?mod=viewthread&tid=20858&highlight=%E9%99%84%E4%BB%B6,稍微改一改就OK了。

首先将
var doc = {
……
"attachmentList": _attachmentList,
……
}
改为

var doc = {
……
"wf_attachmentIds": _attachmentList,
……
};

其次传入的_attachmentList为附件的ID数组,之前传的是对象,要改成附件ID数组
var attachmentList = this.workContext.getAttachmentList(false).map(function(item,index,arr){
      return item.id;
});
this.asset.addAssetRepair(this.data,dt,attachmentList);


只能说有点小坑,新版本的接口名称改了,参数名称也改了,但固定资产管理里的那些接口和参数都是老的。



这么传的话,内容管理实例中的附件是流程实例附件的副本还是只是一个链接?


回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37249
发表于 2023-3-27 10:26:01 | 显示全部楼层
您用的什么版本?怎么关联的内容管理?7.2的版本开始有数据发布的活动节点,附件可以通过配置自动带过去的,很方便
回复

使用道具 举报

升级   60.2%

47

主题

63

回帖

801

积分

高级会员

Rank: 4

积分
801
发表于 2023-3-27 11:32:45 | 显示全部楼层
论坛管理员 发表于 2023-3-27 10:26
您用的什么版本?怎么关联的内容管理?7.2的版本开始有数据发布的活动节点,附件可以通过配置自动带过去的 ...

版本为最新版本V7.3.3。使用官方提供固定资产管理,里面有脚本,就没想着使用"数据发布"。有空我再试试数据发布。
回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37249
发表于 2023-3-27 16:31:13 | 显示全部楼层
哦哦,固定资产里确实是老的名称,管理员反馈给相关开发人员,后续优化
回复

使用道具 举报

升级   31%

57

主题

70

回帖

655

积分

高级会员

Rank: 4

积分
655
发表于 2023-3-31 15:27:44 | 显示全部楼层
您好 看到了这个贴子,我在办公用品管理的脚本中试了一下,发现依然没有将附件传递过去,这是什么原因呢

本帖子中包含更多资源

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

x
回复

使用道具 举报

升级   60.2%

47

主题

63

回帖

801

积分

高级会员

Rank: 4

积分
801
发表于 2023-3-31 15:40:11 | 显示全部楼层
Lxw100514 发表于 2023-3-31 15:27
您好 看到了这个贴子,我在办公用品管理的脚本中试了一下,发现依然没有将附件传递过去,这是什么原因呢 ...

你可以跟踪一下,这么写的话,"_attachmentList"应该是没有值的。在外面获取值这个值,然后传进来。比如说,把"goodsAdd(goodsData)"这个函数改一下"goodsAdd(goodsData,attachmentList)",然后在调用这个函数的地方,先获取attachmentList,再传进来。
回复

使用道具 举报

升级   31%

57

主题

70

回帖

655

积分

高级会员

Rank: 4

积分
655
发表于 2023-4-3 14:26:36 | 显示全部楼层
我这样写了,也没有获取到附件,脚本里面alert一下_attachmentList 是能获取到的  
this.action.publishDocumentComplex(document, function (json) {    }, null, false);   可能这个方法里面的json不包含附件
回复

使用道具 举报

升级   60.2%

47

主题

63

回帖

801

积分

高级会员

Rank: 4

积分
801
发表于 2023-4-4 11:31:49 | 显示全部楼层
Lxw100514 发表于 2023-4-3 14:26
我这样写了,也没有获取到附件,脚本里面alert一下_attachmentList 是能获取到的  
this.action.publishDoc ...

哦哦,那就搞不清楚了。首先要保证alert出来的值和附件ID是相同的,然后才能传递过去。直接在这里写this的话,感觉不是指向文档了而是指向该函数本身。可以加我好友,一起探讨一下。
回复

使用道具 举报

升级   6.67%

0

主题

3

回帖

60

积分

注册会员

Rank: 2

积分
60
发表于 2024-4-11 09:03:40 | 显示全部楼层
var action = this.Actions.load("x_cms_assemble_control");
var managerList = [];
managerList.push(
    {
        "permission": "作者",
        "permissionObjectType": "人员",
        "permissionObjectName": "人名",
        "permissionObjectCode": "人名@Office_12345678901@I"
    }
);
var attachmentList = this.workContext.getAttachmentList();
var data = {
    "identity": "人名@Office_12345678901@I",
    "wf_jobId": "",
    "wf_workId": "",
    "wf_attachmentIds": [attachmentList[0].id],//此处为文件的id组成的数组
    "cms_attachmentIds": [],
    "docData": this.data,//此处是表单上要推送的数据
    "readerList": [],
    "authorList": managerList,
    "skipPermission": false,
    "summary": "",
    "title": this.data.blDepartment[0].name +"-"+this.data.systemName,//此处是标题
    "documentType": "数据",
    "docStatus": "published",
    "categoryId": "3485b3fc-a3d2-4a22-b153",//此处是要推送到的内容管理器的标识
    "isTop": "",
    "stringValue01": "",
    "stringValue02": "",
    "stringValue03": "",
}
action.DocumentAction.persist_publishContent(data, null, null);
回复

使用道具 举报

发表回复

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

本版积分规则

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