如何在不影响原先上传附件的情况下,将“附件(文件服务)”字段改成“多选附件(文件服务)”

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

如何在不影响原先上传附件的情况下,将“附件(文件服务)”字段改成“多选附件(文件服务)”

【业务场景】

在使用“附件(文件服务)”字段一段时间后,业务需求变更,需要上传多个附件。

如何将字段的【元素类型】从“附件(文件服务)”更换为“多选附件(文件服务)”,并且不影响历史数据。


【注意事项】

如果存在二次开发读取“附件(文件服务)”数据做进一步处理的,请不要使用此方法。

因为“附件(文件服务)”和“多选附件(文件服务)”数据格式不一致,直接变更会影响二次开发

【操作步骤】

  1. 在BOS设计器中,将原“附件(文件服务)”隐藏或者删除。


2. 新拖入一个“多选附件(文件服务)”字段


3. 设新拖入字段的字段名等各项属性


4. 找到单据的表名,以及两个字段的字段名


5. 查询表数据,附件文件服务字段在数据库中存的是一串Id,多选附件文件服务字段存的是JSON字符串

SELECT 附件文件服务字段名,多选附件文件服务字段名, '[{"FileName":"' + B.ffilename + '","ServerFileName":"' + B.FFILEID + '","FileLength":' + convert(varchar,B.FFileSize/1024) + ',"FileBytesLength":' + convert(varchar,B.ffileSize) + '}]' FROM 单据表名 A

inner join T_BAS_FILESERVERFILEINFO B on A.附件文件服务字段名 = B.FFILEID;


6. 将附件文件服务字段的数据迁移到多选附件文件服务字段

UPDATE A set A.多选附件文件服务字段名= '[{"FileName":"' + B.ffilename + '","ServerFileName":"' + B.FFILEID + '","FileLength":' + convert(varchar,B.FFileSize/1024) + ',"FileBytesLength":' + convert(varchar,B.ffileSize) + '}]' from 单据表名 A inner join T_BAS_FILESERVERFILEINFO B on A.附件文件服务字段名 = B.FFILEID WHERE A.附件文件服务字段名 is not NULL AND A.附件文件服务字段名 <> ' ' AND a.附件文件服务字段名 <> '';


7. 打开单据检查,确认数据已同步


如何在不影响原先上传附件的情况下,将“附件(文件服务)”字段改成“多选附件(文件服务)”

【业务场景】在使用“附件(文件服务)”字段一段时间后,业务需求变更,需要上传多个附件。如何将字段的【元素类型】从“附件(文件服务)”更...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息