You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HCL Notes:如何在视图/表单中实现预算分类滚动余额计算

用Lotus公式实现办公耗材预算余额管理方案

1. 基础数据结构设计

先搭建核心表单,包含以下字段:

  • Category:下拉框字段,固定选项「办公耗材」(预留扩展其他分类的空间)
  • OpType:下拉框字段,选项为「存入」/「支出」,区分资金流向
  • Amount:数字型字段,限制仅输入正数,记录操作金额
  • OpDate:日期时间型,默认值设为@Now,自动记录操作时间
  • Remark:文本型(可选),用于记录操作说明

2. 实时余额计算实现

创建一个分组视图v_BudgetBalances,用来自动汇总各分类的余额:

  • 第一列:字段选择Category,设置为「按此列分组」
  • 第二列:输入公式@If(OpType = "存入"; Amount; -Amount),然后将该列的「汇总」属性设为「总和」

之后,在需要显示办公耗材余额的位置(比如表单的展示区域、导航页面),用@DbLookup实时获取汇总值:

balance := @DbLookup("":"NoCache"; @DbName; "v_BudgetBalances"; "办公耗材"; 2; [FailSilent]);
@If(@IsError(balance); 0; balance)
  • ":"NoCache"确保每次读取最新数据,避免缓存导致的延迟
  • [FailSilent]防止无数据时报错,配合@If将错误值转为0,保证显示正常

3. 录入金额的修正处理

因为余额是基于视图汇总计算的,只要修改对应操作文档的Amount或OpType字段,视图的汇总值会自动更新,余额同步修正。

为避免无效修改,给表单添加验证公式:

@If(
  @IsNewDoc; @True;
  @IsNumber(Amount) & Amount > 0; @True;
  @Failure("金额必须是正数,请重新输入")
)

同时在视图中添加「编辑文档」操作,方便用户快速定位并修改错误记录,保存后余额自动更新为准确值。

4. 实时显示优化

如果需要在录入新操作时即时看到余额变化,可在表单中添加一个计算字段,把上面的余额公式填入其中,并设置字段的「刷新时计算」属性,这样每次修改Amount或OpType后,字段会自动刷新显示最新余额。

内容的提问来源于stack exchange,提问作者Robin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 01:38:17