数据集成方案(附件集成)
变更记录
产品版本 | 更新内容 | 更新日期 |
V6.0.1 | 新增了附件集成创建人和创建时间信息,用户开启附件集成开关后,苍穹和EAS都能根据源创建人来构造上下文新增附件,创建时间也能修改成和源一致。 | 2023年09月01日 |
V6.0.7 | 新增了用户开启附件集成开关后,来源和目标为星空系统的同样能根据源创建人和创建时间来构造上下文的功能。 | 2024年02月18日 |
1 简介
1.1 功能介绍
数据集成方案支持附件同步,在单据同步时将相关联的附件同时同步。
特别说明:
1. 该功能支持EAS-EAS、EAS-苍穹、苍穹-EAS、苍穹-苍穹、星空-苍穹、苍穹-星空之间的单据附件同步。
2. EAS已经支持接收大于5M的附件接收,该功能EAS预计在2020年8月份发版,EAS850的补丁号为PT150559,并同步更新苍穹补丁和对应的EAS集成服务云的代理包 (V2.0.033)
3.星空附件集成需依赖苍穹补丁(BIZ_V4.0.017)和星空版本(8.0.186.8)
4.苍穹单据的附件面板不能关联其他单据标识(配置了会把附件挂到其他单据上),否则集成时无法查到该附件。
1.2 应用场景
当EAS、星空、苍穹之间的业务单据同步需要关联同步附件时可以使用该功能。
1.3 系统路径
路径一:【集成管理】→【数据集成】→【数据集成方案】→【新增】→【打开附件同步】
路径二:【集成管理】→【数据集成】→【附件信息】
路径三【集成管理】→【数据集成】→【附件集成日志】
1.4 关键字段/按钮说明
关键字段说明
字段名称 | 详细解释 |
使用源附件创建时间 | 开启此开关,会使用源附件的创建时间来新增目标附件。 |
附件创建人值转换规则 | 若配置了该值转换规则,则会使用源附件创建人id执行值转换规则来查找目标附件创建人,并以目标附件创建人来构造上下文新增附件。 |
2 主要操作
2.1 附件集成使用准备
EAS与苍穹附件集成:
2020-05-21 BIZ_V2.0.025 集成服务云新特性
需要更新EAS连接器,对应的EAS连接器部署包下载路径:https://club.kdcloud.com/article/51594788352946945
星空与苍穹附件集成:
需要更新苍穹的包:2022年3月发布,补丁号BIZ_V4.0.017
需要更新星空的包:预计2022年3月发布,版本号8.0.186.8
使用说明:勾选了附件同步,会先同步附件然后再同步单据内容,然后将附件信息跟单据关联。所有的附件同步信息都会记录在“集成管理-数据集成-数据集成监控-集成附件信息”。所以附件同步方案的附件源对象信息都是来源于“集成附件信息”的字段$file_list.tarAttachId。
集成附件信息包含附件文件名、附件类型、源系统附件ID、目标系统附件ID、源系统单据ID、源单编码、源单数据表、源系统连接编码和目标系统连接编码。
2.2 附件集成设计说明
设计说明:
集成任务运行期取数时,如果集成方案配置了启用附件集成方案,连接器返回的单据数据中同时包含单据所关联的附件列表,根据附件列表在集成云附件信息中间表登记的附件信息(源系统附件ID、附件名、附件类型、字节数等基本信息),迭代附件列表根据需要把附件内容从源系统搬运到目标系统,并把目标附件id回写附件中间表。在连接器写数阶段完成目标单与目标附件的绑定关系。
2.3 附件集成操作说明
数据集成方案新增“附件同步”选项,默认不勾选。
字段映射->其他参数->附件同步
支持两种类型的附件同步(附件面板和附件字段),注意:附件面板不能绑定别的单据标识,否则会读取不到。
2.4 方案配置
EAS为目标的方案配置
数据集成方案:开启“附件同步”;
配置前请先同步目标系统EAS的集成对象;
固定的目标对象字段$file_list.attachId;
固定的源对象字段$file_list.tarAttachId。
苍穹为目标的方案配置
数据集成方案:开启“附件同步”;
配置前请先同步目标系统苍穹的集成对象;
目标对象字段(根据实际情况选择);
固定的源对象字段:$file_list.tarAttachId。
星空为目标的方案配置
数据集成方案:勾选“附件同步”;
配置前请先同步目标系统星空的集成对象;
固定的目标对象字段$file_list.attachId;
固定的源对象字段$file_list.tarAttachId。
注意:星空有三种文件存储方式:
亚马逊云存储;
文件服务器;
数据库;
目前星空只提供了文件服务器类型的接口,所以目前只支持文件服务器类型的存储(FFILESTORAGE标识为1的存储类型)
查看日志
【集成管理】→【数据集成】→【数据集成监控】→【附件集成日志】/【启动方案】【执行结果】都可以查看附件日志。
注意:已经传递过的附件,不会重复传递,状态是忽略。
查看集成附件详细信息:包括源单ID、源单附件ID、附件大小、附件名等信息。
如果只想同步附件可以只配置唯一候选键和附件信息映射即可。
注意:附件初始化比较耗流量,可以过滤一下附件的时间范围。
2.5 EAS附件命名与附件大小问题
EAS附件允许重复重名设置,参数设置找到“附件重名”设置,根据现场实际情况修改。
参数设置->参数->公共参数
附件大小查看
EAS:在EAS客户端点击‘附件上传配置’可以看到允许上传的附件大小。
附件管理->附件上传配置
苍穹:
在【系统参数】->【公共参数】->【附件上传配置】可以对整个租户允许上传最大附件的设置,BOS设计器的附件有设置大小的属性“最大附件大小”。
2.6 其他说明
苍穹端:
如果想保存苍穹端附件面板已有的附件, 而不被其他系统覆盖,可以通过写脚本处理,参考脚本如下:
if(tar.id != null) { SELECT @@file_list[] = FID FROM $tar.T_BAS_ATTACHMENT@basedata where FINTERID = @@tar.id; var temp_list = []; for(item : file_list) { temp_list += {'id':L(item)}; } var map = tar.attachmentpanel.group(id); var map2=temp_list.group(id); Collection.removeAll(map, map2); tar.attachmentpanel = (map+map2).entries() => value; }
EAS端:
EAS端保留目标单已有附件不覆盖转换脚本DEMO
步骤1:根据候选键查询目标单id再根据目标单id查询目标单据已绑定的附件id列表
//根据实际调整业务目标单据表名及候选键 SELECT @@list[] = a.FATTACHMENTID from $tar.T_BAS_BOATTCHASSO a inner join CT_MY_Mmmmm b on a.FBOID = b.fid where b.fnumber = @@tar.number; var temp_list = []; for(var item : list){ temp_list += {'attachId': item}; }
步骤2:将目标已有的附件id列表也加入到附件列表中
var map = temp_list.group(attachId); var map2=tar.$file_list.group(attachId); Collection.removeAll(map, map2); tar.$file_list = (map+map2).entries() => value;
数据集成方案(附件集成)
本文2024-09-23 00:49:19发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-141959.html