3.8 条件表达式的使用

通过在业务公式操作中设置条件表达式,实现同一个数据项在不同的条件下被赋予不同的值。

1.前言

在3.7中,通过更新表单实现了入库时更新库存表,累加数量和金额。但取消入库时需要扣减数量和金额,当扣减到库存数量等于0时,单价也需要同步处理为0。这些场景无法通过单一的赋值表达式完成。
本教程讲解如何在业务公式的操作中使用条件表达式,根据不同的条件对同一个数据项赋不同的值。

2.操作步骤

(1) 理解条件表达式

目标:了解条件表达式的作用和执行规则。
① 条件表达式用在操作的赋值项上。每个赋值项可以设置多个条件,每个条件对应一个赋值表达式。系统从上至下依次判断,满足哪个条件就按哪个条件赋值。
② 赋值顺序说明:业务公式中的赋值项是按从上到下的顺序依次执行的。先执行数量、金额的赋值,再执行单价的赋值,因此单价的条件表达式可以直接引用前面已经计算好的库存数量。

(2) 复制公式并改为取消入库

目标:复制3.7中入库的更新库存公式,粘贴为取消入库的公式,并将数量和金额改为扣减。
① 打开"采购入库单"模板,找到3.7中创建的"更新库存"业务公式。
② 在情况1上右键复制,再点击"新建并粘贴",粘贴为情况2,将情况2的名称改为"取消入库-更新库存"。
③ 将情况2的执行条件改为:本表单.入库 = 常量.否
④ 修改情况2的赋值关系,将数量和金额改为扣减:
  • 库存表.数量 = 库存表.数量 - 本表单.明细.数量
  • 库存表.金额 = 库存表.金额 - 本表单.明细.金额

(3) 设置条件表达式

目标:取消入库扣减库存后,当库存数量等于0时,单价赋值为0。
① 找到情况2中"库存表.单价"的赋值项,点击"条件表达式"设置按钮。
② 添加第一个条件:当库存数量不等于0时,单价按移动平均法计算。
条件:库存表.数量 <> 0 赋值:库存表.单价 = 库存表.金额 / 库存表.数量
③ 添加第二个条件:当库存数量等于0时,单价赋值为0。
条件:库存表.数量 = 0 赋值:库存表.单价 = 0

(4) 运行业务公式验证效果

使用效果:入库时累加库存数量和金额并计算单价;取消入库时扣减数量和金额,当库存扣减到0时单价自动赋值为0,避免出现错误的单价数据。
条件表达式与执行条件的区别:
  • 执行条件:作用于整个情况(情况级别),控制该情况是否执行
  • 条件表达式:作用于操作内部的赋值项(赋值级别),控制单个赋值项按什么条件赋值

3.核心要点回顾

(1)条件表达式用在操作的赋值项上,每个赋值项可以设置多个条件。
(2)条件表达式从上至下依次判断,只执行最先匹配到的条件。
(3)业务公式的赋值按从上到下的顺序执行,前面的赋值结果可以被后面的条件表达式引用。
(4)执行条件控制整个情况是否运行,条件表达式控制单个赋值项的赋值方式,两者级别不同。
2026-07-17
0 0