找回密码
 立即注册

QQ登录

只需一步,快速开始

KevinChen 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-5-7 16:00  /   查看:1871  /  回复:0
本帖最后由 KevinChen 于 2021-5-7 16:03 编辑

审计数据关联方案
背景信息
功能简介:审计系统中多财务报表数据关联解决方案。

需求和问题
需求描述:

当前有两张表,表一为审计表标准模板,如图所示:

image.png715731506.png

以某高校为例,表二是其内部财务报表,如图所示:

image.png946010436.png

用户需要把表二的数据、科目编码,关联到表一对应的项目中,这里会产生以下几种关联方式:

  • 1 对 1关联:
  • 1 对多关联:表一中一个单元格的值,来自于表二的一组值,这一组值通常会进行运算,把结果和科目代码的计算逻辑带回到表一。
  • 多对 1关联:表一中多个单元格的值,是由表二的一个值拆分而来,拆分后回填到表一的多个单元格中。

问题描述:

原本的设计是,让用户在离线状态下,用Excel在本地执行手动填报。用户需要在两张表中反复切换,自己计算回填结果,同时要把科目编码手动拷贝过来。后台依赖用户填写的内容,执行解析和入库。

这样做的问题有3点:

  • 带回的值需要自己计算,这个过程很麻烦,也容易出错;
  • 带回的科目编码需要手动拷贝,耗费精力且容易出错,一旦遇到多列情况,还需要自己拼接科目+列号,更加复杂和不友好;
  • 填写完的数据需要随Excel文件传回后台,后台必须先解析后才能做数据校验和汇总、入库。


设计方案:

为了解决以上问题,通过引入SpreadJS,设计了以下两个方案:

方案一:

简述:为表一的关联区域设置tag,tag中设置对应的关联表格信息。当用户进入编辑状态时,会通过模态窗的形式加载表二;用户在表二中选择需要回填的数据后,点确定执行回填。

如图:

  • 表一:添加标签tag

image.png120003356.png
表一:导入页面,提供给用户填报

image.png765007934.png
表二:双击表一中添加了tag的区域,可以自动实现关联,弹出表二

image.png981812133.png
表二:选中对应的数据区域,自动获得科目编码、计算逻辑和汇总结果,计算逻辑可定制

image.png560016784.png
表一:点击表二的确定,可以把回填数据带回表一,包括科目编码、计算逻辑和汇总结果

image.png183781737.png

方案一的优缺点:

优点:自动关联,操作步骤少,解决了客户手动填报的问题,基本实现了第2部分中提到的几个问题点。

缺点:需要研发人员提前设置关联关系,或者由客户方的设计人员设置关联的标签,额外增加了工作量。

方案二:

在方案一的基础上,联系到原来用户的操作逻辑(用户会根据财务逻辑自己选择所需要的关联表),可以通过右键菜单的方式,给用户提供关联表列表,让用户自由选择关联的表格。

如图:

表一:右键菜单中添加了“关联表”选项

image.png378561095.png

关联表列表:把所有相关的表格列出,让用户自由选择加载
image.png530680541.png
表二:由关联表列表跳转而来,其余逻辑与方案一相同

image.png520619811.png

方案二的优缺点:

优点:在方案一的基础上,给用户提供了更大的自由度,用户可以自由选择需要关联的单元格,以及关联的数据表,避免了开发中复杂的关联设置,更贴近用户的原来的操作习惯。并且在执行某些复杂关联时,可以手动修改调整。

缺点:需要添加回滚操作,需要添加数据校验和有效性判断等。

总体来说,方案二更贴近客户的使用习惯,后期工作量相对更小。





0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部