先放一下我做的测试模板的界面


希望达到的效果是在明细的新增、更新和删除时都能对<本期发出>内除数量外的列和<期末结存>内数据进行自动进行计算(<本期收入>内的数据和<本期发出>的数量由采购和销售的模板业务公式插入进来)

计算内容如下:
一、第一条记录:一般都是采购入库,所以很简单,<本期发出>内的数据都是0,<期末结存>内的数据都等于<本期收入>。这个已实现
二、非第一条记录:1.<本期发出>中的【单价】,对应的发出数量是0时,单价为0;当数量<>0时,单价为上一笔<期末结存>的【单价】
                              2.<本期发出>中的【金额】,对应的发出数量*单价
                              3.<期末结存>中的【数量】,对应的收入数量-对应的发出数量+上一笔<期末结存>的【数量】
                              4.<期末结存>中的【金额】,对应的收入金额-对应的发出金额+上一笔<期末结存>的【金额】
                              5.<期末结存>中的【单价】,对应的结存数量<=0时,单价为上一笔<期末结存>的【单价】;当对应的结存数量>0时,单价为对应的期末结存金额/期末结存数量


完成后的结果如下图:



目前能想到的唯一办法是用明细做数据源,过滤条件为具体的行,如:本表单.明细.序号=1,然后对本表单.明细进行更新,匹配条件为数据源的下一行,如:本表单.明细.序号=2,如下图

但是,这个办法肯定不是解决办法,如果有几千条的明细,就要添加几千条的公式了


求大神们指点!!!!谢谢



乐于助人已获得悬赏 3 云币

最佳答案

不太清楚你那边是怎么做触发的,我这边做了个填表公式示例,你看一下对你有没有帮助: 1.首先我这边是用单号触发的,单号填写完就计算每行结存,然后第一行结存是另外做一个公式 2.然后第二个是做了一个临时值做 ...
+10
收藏
11 条回帖
乐于助人云道2021-1-20 18:12:48
不太清楚你那边是怎么做触发的,我这边做了个填表公式示例,你看一下对你有没有帮助:
1.首先我这边是用单号触发的,单号填写完就计算每行结存,然后第一行结存是另外做一个公式




2.然后第二个是做了一个临时值做判断,临时值做成整数类型,行号用excel函数,row()获取,当触发当前行后,我需要获取上一行的数据来扣减,所以临时值这边就减一是为了做数据源明细判断获取







4.获取好后,我们明细就有针对性数据获取了,就只要上一行明细,计算当前结存




5.这个就是效果图了





+12

最近谁赞过

liynha云师2021-1-20 16:34:15来自手机
用相应的数据项的值触发应该是可以。
+10
乐于助人云道2021-1-20 16:41:10
你这个应该是有规律可以用值变化触发循环的,不过我还要研究一下你的规律和每行不同的规则
+10
160307202399534云粉2021-1-20 16:46:17
本帖最后由 160307202399534 于 2021-1-20 16:50 编辑

非第一条记录:1.<本期发出>中的【单价】,对应的发出数量是0时,单价为0;当数量<>0时,单价为上一笔<期末结存>的【单价】如果发出数量是可以实时同步更新的话,就可以将数量和单价在明细表中直接填写为0,合计数值也直接在表中计算。
+10
160307202399534云粉2021-1-20 16:46:48
160307202399534 发表于 2021-1-20 16:46
非第一条记录:1.中的【单价】,对应的发出数量是0时,单价为0;当数量0时,单价为上一笔的【单价】 ...

对应的发出数量是从哪里来的
+10
乐于助人云道2021-1-20 17:36:47
这个表示做报表不存储数据的还是做普通模板,记录在内,每次都是业务公式更新过来累加计算
+10
160307202399534云粉2021-1-20 20:10:25
介于你需要明细的新增、更新和删除时都能对表单进行实时处理,建议你尝试下新建报表,而不是新建模板。这样应该会容易一点。通过数据接口对你的入库和出库的最新信息来进行查询。计算按钮为点击后更新表单即可,至于你的单价问题数据接口也可以完成,注意查询条件和数据匹配条件即可。多尝试下不同的方法应该是可以完成的。
+10
需要登录后才可进行回复 登录

玩转云表从入门到精通
扫码添加微信立即领取

·云表创始人授课文件
·加入社群与培训学习
·切磋云表开发玩法

商务咨询:0756-3335860
客服咨询