让系统自动算金额与合计
"金额 = 单价 × 数量"、"订单总价 = 各行金额加起来"、"列表底下显示一个合计"——这三件事都不用写逻辑:前两件是数字字段上的计算公式,第三件是一个勾选框。
入口:「设置管理 → 企业设置 → 应用中心 → 模块设计器」,打开你的应用,顶栏切到表格档。
一行之内:金额 = 单价 × 数量
- 在明细表里准备好「单价」「数量」「金额」三个字段,类型选小数或金额(数量也可以是整数);
- 点中「金额」这一行,右边属性面板往下找到「取值与显示规则」里的计算公式;
- 在输入框里直接写中文字段名:
单价 × 数量。不想打字就点下面的字段 ▾挑字段,再点一排运算符按钮(+ - × ÷ ( )); - 写对了,下面会出现一行绿色的「公式可用: 这一列以后自动算出来, 不用手填」;写错了是红色的一句话,说哪里不对;
- 再往下有一句提示建议把这一列设为只读,点旁边的设为只读——不然有人手工填了数,下次保存还是会被公式算掉。

只有整数、小数、金额三种类型的字段有「计算公式」这一格。
主表合计:把明细那一列加起来
订单主表上有一个子表字段「订单明细」,想让主表的「总价」等于各行金额之和:
- 在主表上加一个金额字段「总价」;
- 在它的计算公式里点字段 ▾,清单的「子表汇总」那一组里已经替你列好了写法,点
SUM(订单明细.金额)插入即可; - 想知道明细有几行,用
COUNT(订单明细)。
能用的写法
运算只有 + - × ÷ 和括号;比较用 = <> > >= < <=;函数一共七个,点函数 ▾能看到每个的写法:
| 函数 | 写法 | 例子 |
|---|---|---|
| IF 条件判断 | IF(条件, 成立时用这个, 不成立用这个) | IF(数量 >= 100, 单价 × 0.9, 单价) |
| ROUND 四舍五入 | ROUND(数值, 保留几位小数) | ROUND(金额 × 0.13, 2) |
| SUM 子表求和 | SUM(子表.列) | SUM(订单明细.金额) |
| COUNT 子表行数 | COUNT(子表) | COUNT(订单明细) |
| MIN / MAX 取较小 / 取较大 | MIN(数值1, 数值2, …) | MAX(应收 - 已收, 0) |
| ABS 取绝对值 | ABS(数值) | ABS(差额) |
文本、下拉选项、是/否字段不能直接参与计算,但可以放在 IF 的条件里作判断。日期字段不能用在公式里。忘了怎么写,点输入框下面的怎么写?。
配了公式之后会发生什么
- 填单时改了公式里用到的字段,这一列当场重算;保存时、明细行增删改时也会重算;
- 除数为 0 时结果记 0;四舍五入与 Excel 一致(遇 5 进位);
- 已有的老记录不会立刻全部重算,要等它下次被修改保存时才算;
- 不用等升级就能验:顶栏切到预览档,勾上右上角的试填,改一下单价或数量,金额当场跟着变。
列表底下显示合计
选中金额字段,属性面板最下面展开高级,勾上列表合计,升级后这张表的列表底部就有合计行。整数、小数、金额字段才有这个勾选框。
让设计器帮你找漏
顶栏的还差什么会按固定规则扫一遍设计:明细金额没汇总到主表、金额列没勾列表合计,都会列出来,每条带一个按钮(如「补明细汇总」「勾上列表合计」),点了才改。

常见问题
找不到「计算公式」这一格:这个字段不是整数、小数或金额类型。
点「字段 ▾」提示还没有别的数字字段:先在这张表上加上要参与计算的数字字段(单价、数量),再回来写公式。
公式列还能手工改:没把它设成只读。勾上「只读」,或点公式下面的「设为只读」。
比公式更复杂的事(超额拦截、到期提醒、回写别的表):用规则拼装,见不写代码,让系统自动算一笔账。