高效易用的“单据体引入”

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

高效易用的“单据体引入”

你是否还在低效地手工录入单据体数据?你是否给自己的某个单据单独开发了单据体的引入功能?你是否还想过:“如果能够实现单据体独立引入,工作效率将大大提升”。


如果这些问题困扰着你,那这篇文章就是你的解题密钥了。今天,小编带你了解苍穹平台V5.0新特性功能:单据体引入




1 适用版本


该功能适用版本为金蝶云·苍穹V5.0.002及以上。


2 功能详情


本期文章,小编将详细讲述单据体引入的4个步骤,分别包括:配置单据体引入模板录入数据引入数据插件干预


配置单据体引入模板


模板可以通过两个入口进行配置,路径一为:【配置工具】→【引入引出模板】→【单据体引入模板】,如下图所示:


模板进入路径一


路径二为:“单据体引入”按钮→【单据体引入起始页】→【模板下载】→【下载单据体引入模板】,如下图所示:


模板进入路径二


两个入口均可进入单据体引入模板的表单编辑界面,其中从单据体引入起始页进入,业务对象固定为当前所在表单,如下图所示:


单据体引入后业务对象示例


模板编辑界面中,可以在多选下拉框中选择单据体,勾选的单据体不参与生成模板。配置好需要引入的字段、基础资料的引入属性(可选编码/名称),填入模板的编码及名称保存即可。


录入数据


下载的模板中,单据体数据根据Excel页签隔离,页签名称为单据体名称,按照列中字段标识录入数据。如下图所示:



录入数据示例


引入数据


引入数据的流程有以下三步


首先,选择“单据体引入”操作并进行配置,如下图所示:


`

单据体引用操作示例


其次,引入单据。数据录入完成后,上传文件,后台进行文件校验,校验通过后(校验不通过时,文件无法上传成功),点击“引入数据”开启引入流程,引入完成后,可查看每个单据体的引入结果统计,如下图所示:




单据引入示例


最后,查看引入效果。如果数据全部引入成功,下方显示“关闭”按钮,如下图所示:


引入结果


如存在错误数据,下方显示“导出Excel错误数据”按钮,错误信息统一录在单据体页签的第一列,如某页签的单据体不存在错误信息,则该页签不会输出至错误文件。


按照错误提示修改对应数据后,错误文件可再次作为数据文件进行引入。



修正后的数据文件再次导入示例


插件干预


目前有两种方式对单据体引入进行插件干预:


方式一:模板下载。


在模板编辑界面中,通过“插件”编辑框,录入插件的相关信息(插件类全路径、说明)。插件可以在下载模板时,将模板中“基础资料”类型的列,修改其单元格格式为下拉格式,并给下拉项赋值。


例:将标识为“basedatafield1”的字段,下拉值列表设置为"0002", "0003", "0004","0005","0006","0007"。


public class TestImportEntryBaseDataPlugin implements ImportEntryTemplateListener{ 
    //将标识为“basedatafield1”的字段 
    //下拉值列表设置为"0002", "0003", "0004","0005","0006","0007" 
    @Override 
    public void beforeSetBaseData(BeforeDownloadImportEntryTemplateEvent evt) { 
        evt.getBaseDataDropDownValues().put("basedatafield1", Arrays.asList("客户","0002","0003","0004","0005","0006","0007")); 
    } 
}


设置效果如下:


设置效果示例


方式二:修改数据。


继承表单插件基类AbstractFormPlugin,实现beforeImportEntry方法,插件需要在单据设计器界面中注册,如下图所示:


插件注册页面


引入过程中,从Excel文件中读取数据,解析为JSON格式数据包。在转换为动态对象前,二次开发可以对JSON数据进行修改,转换流程将使用修改后的数据。


例:将“entryentity11”单据体的数据全部移除,不予引入,代码如下:


public class TestBeforeImportEntryPlugin extends AbstractFormPlugin { 
    private static final String ENTRYNAME = "entryentity11"; 
    @Override 
    public void beforeImportEntry(BeforeImportEntryEventArgs e) { 
        //获取JSON数据源 
        Map source = (Map) e.getSource(); 
        //判断是否包含单据体entryentity11的数据 
        if(source.get(ENTRYNAME) != null && source.get(ENTRYNAME) instanceof List){ 
            return; 
        } 
        //清除数据 
        ((List)source.get(ENTRYNAME)).clear(); 
    } }



3 亮点价值


亮点一:简单易用


模板可自由定制,可根据业务单据自动生成模板。


亮点二:同时引入多个单据体


单据体按Excel页签分离,可同时引入多个单据体数据。


亮点三:方便扩展


提供插件干预引入过程的数据,可增加业务校验规则。


4 划重点


1) 单据体引入划分为模板与引入两个功能模块,支持个性化定制引入模板、错误数据统计,并可以在新增/修改的表单界面连续操作单据体引入。


2) 单据体引入功能的优势主要包括以下六点


  • 各业务单据通用;

  • 支持单据体以Sheet页签隔离;

  • 支持快速解析转换;

  • 支持所有可编辑的分录字段;

  • 支持同时引入多个单据体数据;

  • 支持下载错误数据。




更多精彩内容,“码”上了解!↓



高效易用的“单据体引入”

你是否还在低效地手工录入单据体数据?你是否给自己的某个单据单独开发了单据体的引入功能?你是否还想过:“如果能够实现单据体独立引入,...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息