表达式编辑器
本章介绍条件与取值表达式的书写方式。
取数的过滤条件、条件分支的判断、修改数据的新值,都通过表达式配置。不需要编写代码。
1. 当前只有表达式模式
条件的编写统一使用表达式,不再提供引导式的逐项选择。
早期版本曾支持在引导式与表达式之间切换,当前版本已统一为表达式模式。已有的引导式条件在只读展示时仍保持结构化视图,但点开编辑时内容为空,确认后会覆盖原有条件——修改此类存量条件时需重新完整书写。
视图设计器有独立的条件编辑机制,不适用本章内容。
2. 书写心法:把条件念成一句话
每条条件都是一句完整的话:
谁的什么 + 怎么样 + 什么值
- "采购订单的订单编号 等于 本报表的订单编号"
- "销售订单的订单日期 不早于 本报表的开始日期"
先把这句话念顺再动手,念不顺的条件写出来通常也是错的。
3. 三种取值来源
| 想用的值 | 编辑器中的选法 | 示例 |
|---|---|---|
| 来源表的数据 | 从来源表选字段 | 采购订单的订单编号 |
| 本表单填写的内容 | 从"本报表"选字段 | 本单据的客户编号 |
| 固定值 | 直接输入 | '已审核'、100 |
字段选择器的分组顺序:来源表按配置顺序排在前,本报表垫底。字段后的图标表示其数据类型。
4. 系统变量
可随取随用的系统变量:当前用户、当前用户所在部门、当前时间、今天。
例如"只看本人填写的单据"即一句:制单人 等于 系统变量的当前用户。
5. 常见写法
| 目的 | 写法要点 |
|---|---|
| 匹配另一张表的同名字段 | 来源表字段 等于 本报表对应字段 |
| 限定日期范围 | 用不早于、不晚于组合成区间 |
| 排除某些状态 | 用不等于;多个值用不在列表中 |
| 文本包含判断 | 用包含类运算 |
| 判断为空 | 注意区分"未填写"与"填写了空文本",见字段属性 |
6. 排查条件不生效
- 确认引用的字段选对了表——最常见的错误是把来源表字段与本报表字段选反;
- 用编辑器的测试功能实际执行一次,查看返回结果;
- 留意编辑器给出的"条件未生效"一类提示,据此判断是条件写错还是数据本身没有匹配项。
7. 相关章节
字段树、检查与引用核对
在统一表达式窗口中从字段树点选引用,利用搜索定位字段;使用函数和运算入口组织条件后,阅读语法状态及具体诊断,再确认保存。不要照抄其他应用表达式中的字段引用,需要从当前可用目录重新选择。
当前表单字段与来源表字段不是同一范围,特别是明细行、关联来源和写回目标,需要先明确哪张表、哪一行及返回单值还是多值。支持图片或附件的取数、回写场景应保留文件内容的对应关系,不把显示文件名当作文件值。
涉及日期边界时选用日期时间字段并核对操作人的时区;不要把旧的独立日期或逻辑字段类型作为新建方案。流程中的发起条件、自动办理、引导线条件也通过相应表达式入口配置。

通过字段目录插入引用,筛选单价大于10的物品
本例来自视图筛选,使用与动作条件相同的表达式编辑器;结果为单价大于10的三项办公用品。

单价大于10的筛选返回三项物品