1BOS平台部-何浩2020年9月金蝶云星空引入引出2Content010203总体介绍引入操作引出操作04常见问题答疑053Content010203总体介绍引入操作引出操作04常见问题答疑0544总体介绍-引入引入模板检查关键字段赋值使用组织、单据类型等校验器检查操作插件执行插件干预BeforeImportData可以修改数据,终止引入等字段赋值-值更新和实体规则等执行读取文件插件干预关键字段赋值字段赋值保存校验完成引入,提示引入结果引入是一个模拟录单的过程55总体介绍-引出动态表单列表引出报表按列表引出BeforeExportData引出BeforeExportDataNew•按列表引出•按引出模板引出•按引入模板引出•…BeforeExportDataNew引出操作加载引出数据源插件干预数据源引出到Excel数据格式化66总体介绍引出数据引入数据通过引入把Excel数据引入到星空系统中模拟录单过程,值更新和校验引入数据将星空数据按照特定格式引出引出干预和格式化等引出数据星空使用spread和NPOI组件支持引入和引出介绍第三方组件常见问题第三方组件7Content010203总体介绍引入操作引出操作04常见问题答疑0588•引入支持【追加】【覆盖】•仅暂存时,不校验保存的校验规则•暂存引入失败数据是将保存失败的数据暂存•覆盖模式允许追加•匹配字段,选择可以唯一区分的组合•启用分批,服务器有空闲资源可以勾选•引入模板根据字段【允许引入】生成引入操作99引入操作-覆盖模式自定义覆盖允许追加默认模式使用主业务组织(使用组织)+单据编号无单据编号使用excel主键数据根据选择字段条件,匹配数据然后覆盖覆盖模式无法匹配记录,使用追加模式保存1010引入过程左图是常见引入错误提示,如何分析:1.通过序号120128,找到对应的记录2.找到此行的供应商#编码列3.在单据录入界面模拟输入录入对应的供应商无法赋值成功4.如发生校验错误,检查对应数据1111动态表单引入插件事件•插件方法:BeforeImportData•继承基类:AbstractDynamicFormPlugIn•注册位置:表单插件•参数说明:e.DataSource,e.Cancel,e.ImportDataView•演示示例:动态表单引入数据,引入前校验数据合法性,如果合法更新数据库12Content010203总体介绍引入操作引出操作04常见问题答疑051313引出设置•引出模板根据【允许引出】生成•2007-2010格式支持百万级引出(使用NPOI引出)•可以设置是否引出分组字段(参数设置、分组设置仅支持单据)1414动态表单引出插件事件•插件方法:BeforeExportData•继承基类:AbstractDynamicFormPlugIn•注册位置:表单插件•对应操作:按列表引出(ExportData)•参数说明:e.Headers引出的excel列标题和列匹配信息e.DataSource引出的数据源,DynamicObjectCollection类型1515单据体引出插件事件•插件方法:BeforeEntityExport•继承基类:AbstractDynamicFormPlugIn•注册位置:表单插件•对应操作:引出单据体•参数说明:e.Headers,e.DataSource,e.CustomerFileName,e.ExportEntityKeyList•列头,数据源,自定义文件名,引入单据体key集合(引出多个单据体)•示例:按照自定义列引出,不是引出所有列1616列表引出插件事件•插件方法:BeforeExportDataNew•继承基类:AbstractListPlugIn•注册位置:列表插件•参数说明:Obj(DataTable)•DataTable(内存数据表格):https://docs.microsoft.com/en-us/dotnet/api/system.data.datatable•演示示例:采购订单列表导出,增加显示物料的【默认税率】数据1717报表引出插件事件•插件方法:BeforeExportDataNew•继承基类:AbstractSysReportPlugIn•注册位置:表单插件•参数说明:Obj(DataTable)•演示示例:对于采购订单执行明细报表,订货数量大于100增加显示提示18Content010203总体介绍引入操作引出操作04常见问题答疑051919常见问题NPOI版本问题Windows句柄引入性能内存溢出2020常见问题-NPOI版本问题•NPOI.OOXML.dll,文件版本:2.4.1.1•NPOI.dll,文件版本:2.4.1.1•NPOI.OpenXmlFormats.dll,文件版本:2.4.1.1•NPOI.OpenXml4Net.dll,文件版本:2.4.1.1•ICSharpCode.SharpZipLib.dll,文件版本:0.85.5.452解决方案:使用金蝶安装包内的NPOI相关版本组件2121常见问题-Windows句柄数不够引入引出过程,会在服务器上创建windows句柄如果windows句柄数不够,会提示报错解决方案:1.分析占用句柄数多的进程,尝试释放句柄2.修改windows注册表,将windows句柄数调整至最大2222常见问题-引入性能问题检查项:•Excel的大数据量引入;•表单配置的实体服务和值更新事件;•对应覆盖引入字段没有建立索引;•解决方案:•1.大数据量可以拆分成多个excel,分批引入•2.锁定行和必录性等界面相关可以设置【webapi和引入禁用】(不要取消正常的赋值的值更新和实体服务规则)•3.对检索的列建立组合索引;•4.性能监控工具;2323常见问题-内存溢出检查项:•Web服务器内存资源不足;•大数据量引出;•大并发大数据量引出;解决方案:•系统闲时引出;•列表引出配置引出队列,限制并发引出(ExportParalleNumber参数);•使用2007-2010格式引出,支持大数量引出(NPOI方式);2424常见问题-Excel限制•列宽限制:excel限制最大列宽,且宽度单位不同,不支持按照列表宽度引出;•行数限制:xls-65536行,xlsx-1048576行;•图片限制:图片不能放入单元格内,只能浮在单元格上;•文件名限制:成文件名时会对一些特殊字符进行替换或者转义;•货币符号限制:Excel币别符号与星空的币别不能对应,不支持引出币别符号;•负数格式限制:Excel负数格式与星空的币别不能对应,星空使用标准负数格式•基于上述一些限制,部分格式需要在excel中调整格式和样式2525常见问题-相关配置项(Common.config)ReportCountPerExportFile:报表分文件配置参数,超过设定值后分成多个文件,默认50000以上分成多个文件;BillCountPerExportFile:单据分文件配置参数,超过设定值后分成多个文件,默认50000以上分成多个文件;ExportPageSize:大数量引出时,每次获取的数据量数,默认50000,如果一个单据多次获取,单据头数据会多次引出;ExportParalleNumber:列表引出并行数,同时引出的最大数量默认0,不显示同时引出数量2626常见问题-后续规划•引出支持插件干预标题内容;•引入支持暂存跳过赋值失败数据;•单据体引出图片功能27Content010203总体介绍引入操作引出操作04常见问题答疑052828答疑时间答疑29Thanksterimakasih感謝谢谢ありがとうขอบคุณ