SpreadJS 审计数据关联方案
本帖最后由 KevinChen 于 2021-5-7 16:03 编辑审计数据关联方案
背景信息功能简介:审计系统中多财务报表数据关联解决方案。
需求和问题需求描述:当前有两张表,表一为审计表标准模板,如图所示:
以某高校为例,表二是其内部财务报表,如图所示:
用户需要把表二的数据、科目编码,关联到表一对应的项目中,这里会产生以下几种关联方式:
[*]1 对 1关联:
[*]1 对多关联:表一中一个单元格的值,来自于表二的一组值,这一组值通常会进行运算,把结果和科目代码的计算逻辑带回到表一。
[*]多对 1关联:表一中多个单元格的值,是由表二的一个值拆分而来,拆分后回填到表一的多个单元格中。
问题描述:原本的设计是,让用户在离线状态下,用Excel在本地执行手动填报。用户需要在两张表中反复切换,自己计算回填结果,同时要把科目编码手动拷贝过来。后台依赖用户填写的内容,执行解析和入库。这样做的问题有3点:
[*]带回的值需要自己计算,这个过程很麻烦,也容易出错;
[*]带回的科目编码需要手动拷贝,耗费精力且容易出错,一旦遇到多列情况,还需要自己拼接科目+列号,更加复杂和不友好;
[*]填写完的数据需要随Excel文件传回后台,后台必须先解析后才能做数据校验和汇总、入库。
设计方案:为了解决以上问题,通过引入SpreadJS,设计了以下两个方案:方案一:简述:为表一的关联区域设置tag,tag中设置对应的关联表格信息。当用户进入编辑状态时,会通过模态窗的形式加载表二;用户在表二中选择需要回填的数据后,点确定执行回填。如图:
[*]表一:添加标签tag
表一:导入页面,提供给用户填报
表二:双击表一中添加了tag的区域,可以自动实现关联,弹出表二
表二:选中对应的数据区域,自动获得科目编码、计算逻辑和汇总结果,计算逻辑可定制
表一:点击表二的确定,可以把回填数据带回表一,包括科目编码、计算逻辑和汇总结果
方案一的优缺点:优点:自动关联,操作步骤少,解决了客户手动填报的问题,基本实现了第2部分中提到的几个问题点。缺点:需要研发人员提前设置关联关系,或者由客户方的设计人员设置关联的标签,额外增加了工作量。方案二:在方案一的基础上,联系到原来用户的操作逻辑(用户会根据财务逻辑自己选择所需要的关联表),可以通过右键菜单的方式,给用户提供关联表列表,让用户自由选择关联的表格。如图:表一:右键菜单中添加了“关联表”选项
关联表列表:把所有相关的表格列出,让用户自由选择加载
表二:由关联表列表跳转而来,其余逻辑与方案一相同
方案二的优缺点:优点:在方案一的基础上,给用户提供了更大的自由度,用户可以自由选择需要关联的单元格,以及关联的数据表,避免了开发中复杂的关联设置,更贴近用户的原来的操作习惯。并且在执行某些复杂关联时,可以手动修改调整。缺点:需要添加回滚操作,需要添加数据校验和有效性判断等。总体来说,方案二更贴近客户的使用习惯,后期工作量相对更小。
页:
[1]