寻源管理二开指南--附件开发要点
1. 附件开发要点
1.1 附件的类型
1.1.1 根据元数据划分
1、附件面板:“附件面板”一个面板控件,它不属于实体的属性,无法通过动态对象获取附件面板的信息。因此,如果我们需要获得一个表单的附件面板的数据,往往需要用到AttachmentServiceHelper进行查询。其数据存放在元数据bos_attachment中。
// 获取 报价单的附件面板的附件数据: List<Map<String, Object>> attachments = AttachmentServiceHelper.getAttachments(TndMetadataConstant.TND_QUOTEBILL, billId, sourceAttachPanel, false); // 绑定 数据到附件面板 AttachmentPanel attachmentPanel = this.getvew().getControl(targetAttachPanel); attachmentPanel.bindData(attachments);
|
2、附件字段:附件字段的本质是一个多选基础资料,其为一个实体的字段,在代码开发中可以从DynamicObject中获取到附件字段的信息,正如其他多选基础资料一样。也可以用附件字段的接口AttachmentFieldServiceHelper。其数据存放在元数据 bd_attachment 中。
附件字段的取值和赋值,同多选基础资料。
在寻源管理中,为了便于附件处理,封装了一些工具类,如下所示:
//标的附件获取 List<Map<String, Object>> purAttachs = AttachmentUtils.getEntryAttachments(SrcMetadataConstant.SRC_PURLISTF7, purfilter, SrcCommonConstant.PURLISTENTRY_FJ, context.getBillId());
// 标的附件携带(多选基础资料需要复制,否则会出现pkId重复) row.set(SrcPurlistConstant.PURLISTENTRY_FJ, PdsCommonUtils.cloneAttachment(materialObj, SrcPurlistConstant.PURLISTENTRY_FJ)); |
附件面板和附件字段应如何区分
1.1.2 根据应用场景划分
1、主单据中的附件面板
2、组件中的附件面板,如“开标说明组件”中的附件
3、分录附件,典型的有采购清单分录附件、标书分录附件等
4、独立的附件字段:类型与分录附件一样,但不是放在单据体中,而是作为一个独立的字段存在,如“报名登记”中的汇总附件。
5、报表附件,在主单据或组件上配置了打印模板,系统可以动态地将当前数据根据模板,转为pdf附件。也可以通过 电子归档,自动收集报表附件,详见电子归档资料。
特别注意:附件面板和独立的附件字段,其附件url均为临时地址,在保存到数据库之前,需要转换为正式地址,否则一段时间后就失效,无法查看和下载。
// 获取临时附件 DynamicObjectCollection attachRows = this.getModel().getDataEntity().getDynamicObjectCollection(SrcCommonConstant.ATTACHMENT); // 转化为正式附件 AttachmentUtils.convertTempAttachments(attachRows); |
1.2 附件的应用场景
典型附件的应用场景,主要包括:1)电子归档;2)附件汇总;3)移动审批
1.2.1 电子归档,根据归档方案,手工或自动归集
1.2.2 附件汇总组件,动态汇总
附件汇总组件可以挂到主业务节点上,如定标单或签约单,其数据是动态加载的。
1.2.3 移动审批
移动审批往往需要附件信息,这些附件的归集方式,与附件汇总或归档类似,可以通过配置实现复用。
1.3 附件的归集方式
1.3.1 电子归档的附件归集
根据归档对象、归档方案手工或自动进行归集
详见:https://vip.kingdee.com/article/312279711407517696?productLineId=2&isKnowledge=2
1.3.2 附件汇总组件的附件归集
方式一、通过电子归档方案获取附件
为了实现更灵活的附件收集方式,系统支持用电子归档模式动态获取附件到附件汇总或移动审批中。
1、配置相应的电子归档方案,需要设置对应的业务对象,如项目启动、供方入围等。
2、设置了归档方案后,系统获取附件数据时,将优先采用归档方案获取附件。
3、附件汇总组件和移动审批附件的处理方式是一样的。
方式二、通过插件获取附件
1、标准产品预置了大部分的附件获取插件,二开可参考这些插件,开发新的插件。
2、插件注册:将插件注册到需要挂载 附件汇总组件 的主节点中,如上述的定标附件汇总、签约附件汇总,注意插件编码为:主节点元数据标识_attach,如定标附件汇总:src_decision_attach, 签约附件汇总:src_contract_attach
1.3.3 移动审批的附件归集
移动审批的附件获取方式,与 附件汇总组件 类似,主节点移动表单/布局元数据标识_attach,如项目启动移动审批附件汇总:src_project_mov_attach
1.3.4 变更单移动审批的附件归集
寻源管理二开指南--附件开发要点
本文2024-09-22 23:57:39发表“云星瀚知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-xinghan-136375.html