云表的逐行累计余额的实现,对于初学者来说还是有点难度,但是在设计中又不得不掌握的一个技术点。逐行累计余额包括二种情况,一个是在填报输入时就要实现逐行累计余额的效果,另外一种情况就是在查询或者生成报表时需要实现逐行累计余额的效果。今天,我们就来讲解一下填报单据时即时自动实现逐行累计余额的方法。
先来看一下效果图:
00:54
那么这效果是怎么实现的呢?
其实,只需应用到云表的值变化事件、再添加二个辅助字段,就可以很容易实现了,有些技术点其实只要给你点拨一下,就会让你有一种豁然开朗、茅塞顿开的感觉,便觉没那么神秘了!
首先,我们来看一下表格数据字段的设置,如下图:
添加了“余额临时值”、“序列号”二个隐藏的辅助字段,添加隐藏字段的好处,他不用占用界面的版面位置,让界面显得简洁干净。
添加辅助字段是这个设计的关键点,否则就无法实现这个效果。在云表的设计中,添加辅助字段也是一种常用的技巧,可以大大地简化设计的难度。
下面就来设计值变化事件。
一、选择影响值变化事件的相关数据项字段
如下图右侧框中的数据项,也就是说,只要这些字段中的任意一个字段值发生变化,都可引发下图中1、2、3相应的事件发生,如下图:
二、填表公式的设计
1、行号赋值
按下图进行相关的设置,给收支记账明细数据项“NO."项进行赋值公式:“ROW()".
2、余额临时值和序列号清0
这就是对图片中的这些字段赋值初始值0,使之不循环叠加。如下图:
3、余额临时值和序列号赋值
这一步的值变化事件,才真正为主表的这几个字段更新实质性的数值,从而因其的更新而影响到下一个事件“明细余额赋值“的发生,将每一次更新的”临时余额值“递次地填充到明细表的行累计余额里,从而实现行累计余额的效果。
4、还要注意一个情况,就是如果期初余额发生改变,也会引起收支余额的改变,所以我们还要加上一条事件公式,这里我们只要引用我们在前面已设计好的事件公式,引用公式的好处是如果源公式发生修改,所引用的公式就可以同步得到更新,这样不但可以减少设计工作量,还可以避免公式修改不完全而出现运行的出错。
以上这四步,就是这个设计的关键步骤,当然为了使设计更加完美,我们还可以把运行环境的各种可能都能考虑到,例如当我们删除或者更新数据时,所触发的事件也要设计公式,这里我就不说详细说明了,这些大都可以引用或者复制现成的公式,有些稍做修改就可以了。
如:我们因删除行的这个事件的发生,我们需要设计和引用下图中的事件公式。
是不是很简单?
今天就讲到这里,我们下一篇就讲:云表:逐行累计余额的设计方法(报表篇)
,为了能及时得到更新的消息提醒,请关注和收藏”高效工作“百家号。