跳到正文

条件规则 ​

规则写在 rules.json 的 rules 数组中。每条规则可指定阶段、条件、材料要求、字段要求和提示。规则只读取注册字段,不执行表达式代码、正则表达式、文件访问或网络请求。

条件支持 all、any、not,以及字段比较。比较操作包括 present、eq、ne、in、gt、gte、lt 和 lte。结构深度最多 8 层,节点最多 100 个。比较操作须符合字段类型。

条件结果采用三值逻辑:条件成立为 true,不成立为 false,所需数据缺失为 unknown。缺值不会自动视作数字零。开发时用 explain 查看规则结果、材料计数和策略诊断。

完整度规则读取注册的发票金额、实付、主体 ID 和条目字段。它不能依赖批次、收款对象、本次导出值或会变化的方案字段。导出阶段可读取注册的收款类型、输出 ID 及允许的附加字段。

完整上下文字段目录用于模板和列映射,规则另有阶段白名单,不能将任意目录字段用作条件。输出通过 required_fields 声明所需字段,只阻止相关输出。材料 max_count 同时在整理和导出预检中检查。