连百产品文档

让系统自动算金额与合计

"金额 = 单价 × 数量"、"订单总价 = 各行金额加起来"、"列表底下显示一个合计"——这三件事都不用写逻辑:前两件是数字字段上的计算公式,第三件是一个勾选框。

入口:「设置管理 → 企业设置 → 应用中心 → 模块设计器」,打开你的应用,顶栏切到表格档。

一行之内:金额 = 单价 × 数量

  1. 在明细表里准备好「单价」「数量」「金额」三个字段,类型选小数或金额(数量也可以是整数);
  2. 点中「金额」这一行,右边属性面板往下找到「取值与显示规则」里的计算公式;
  3. 在输入框里直接写中文字段名:单价 × 数量。不想打字就点下面的字段 ▾挑字段,再点一排运算符按钮(+ - × ÷ ( ));
  4. 写对了,下面会出现一行绿色的「公式可用: 这一列以后自动算出来, 不用手填」;写错了是红色的一句话,说哪里不对;
  5. 再往下有一句提示建议把这一列设为只读,点旁边的设为只读——不然有人手工填了数,下次保存还是会被公式算掉。
「金额」字段的「计算公式」:输入框里是写好的公式,下面一排是「字段 ▾」「函数 ▾」和运算符按钮。
「金额」字段的「计算公式」:输入框里是写好的公式,下面一排是「字段 ▾」「函数 ▾」和运算符按钮。

只有整数、小数、金额三种类型的字段有「计算公式」这一格。

主表合计:把明细那一列加起来

订单主表上有一个子表字段「订单明细」,想让主表的「总价」等于各行金额之和:

  1. 在主表上加一个金额字段「总价」;
  2. 在它的计算公式里点字段 ▾,清单的「子表汇总」那一组里已经替你列好了写法,点 SUM(订单明细.金额) 插入即可;
  3. 想知道明细有几行,用 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 的条件里作判断。日期字段不能用在公式里。忘了怎么写,点输入框下面的怎么写?。

配了公式之后会发生什么

列表底下显示合计

选中金额字段,属性面板最下面展开高级,勾上列表合计,升级后这张表的列表底部就有合计行。整数、小数、金额字段才有这个勾选框。

让设计器帮你找漏

顶栏的还差什么会按固定规则扫一遍设计:明细金额没汇总到主表、金额列没勾列表合计,都会列出来,每条带一个按钮(如「补明细汇总」「勾上列表合计」),点了才改。

「还差什么」逐条列出缺口(图中是金额列没有列表合计、到期日没人提醒),每条给出一键补的按钮。
「还差什么」逐条列出缺口(图中是金额列没有列表合计、到期日没人提醒),每条给出一键补的按钮。

常见问题

找不到「计算公式」这一格:这个字段不是整数、小数或金额类型。

点「字段 ▾」提示还没有别的数字字段:先在这张表上加上要参与计算的数字字段(单价、数量),再回来写公式。

公式列还能手工改:没把它设成只读。勾上「只读」,或点公式下面的「设为只读」。

比公式更复杂的事(超额拦截、到期提醒、回写别的表):用规则拼装,见不写代码,让系统自动算一笔账。

相关:选了客户,自动带出电话和地址、让单据自动编号。