概述
原理
判断结果只有“Y”或者“N”。若使用查询方式,则查询的结果只有一行一列,这一行一列的值同样只有“Y”或者“N”。
主要介绍表达式在“审批条件”中的应用。遵循以下格式:着红色为推荐的格式。
注:标准单据使用取细表界面值时, [<TD>:Field](可以循环细表行,会逐行判断), [XXXxxA:Field](不能循环细表行,永远只判断第一行),根据实际需求选择格式!!!
以下为介绍的示例内容
示例 | 说明 |
示例(主表-表达式) | 制作销售退货单,如果含税金额达1000以上,则触发审批。 |
示例(主表-查询) | 制作销售退货单,如果制单人所在部门是销售二部(部门编号’S02’),则触发审批。 |
示例(细表-表达式) | 制作销售退货单,如果每一行的含税行计都超过1000,则触发审批。 |
示例(细表-查询) | 一:制作产品入库单,如果存在行的入库数量超过对应订单数量的5%,则触发审批。 二:制作销售订单时,至少有一个细行满足以下条件则触发审批:a.Factor1/Factor2的值在0.96~1.01范围内;b.行物料类型的父节点编号是根节点Root。 |
示例(主表-表达式)
需求:制作销售退货单,如果含税金额达1000以上,则触发审批。
设置:
示例(主表-查询)
需求:制作销售退货单,如果制单人所在部门是销售二部(部门编号’S02’),则触发审批。
设置:
1.因为退货单上不会记录制单人所在部门字段,所以审批条件中需要使用查询。
2.查询结果必须是一行一列,且值为“Y”或“N”,所以推荐使用统计结果来判断。
综上得出如下语句:
示例(细表-表达式)
需求:制作销售退货单,如果每一行的含税行计都超过1000,则触发审批。
设置:
注意:这里使用[<TD>:Field]格式,可以循环判断每行是否满足上述条件!!
示例(细表-查询)
需求一:制作产品入库单,如果存在行的入库数量超过对应订单数量的5%,则触发审批。
设置:
1.因为产品入库单上不会记录订单的数量,所以审批条件中需要使用查询。
2.查询结果必须是一行一列,且值为“Y”或“N”,所以可以直接使用Case语句判断。
综上得出如下语句:
注意:
应使用拉式制作产品入库单,此时界面上的Base信息为订单的信息。如果是由产品送检单创建后续创建的产品入库单,则界面上Base信息为产品送检单的信息,待添加至数据库之后,才会变成订单的Base信息。
需求二:制作销售订单时,至少有一个细行满足以下条件则触发审批:a.Factor1/Factor2的值在0.96~1.01范围内;b.行物料类型的父节点编号是根节点Root。
设置:
1.因为销售订单细行不会记录物料类型,所以审批条件中需要使用查询。
2.查询结果必须是一行一列,且值为“Y”或“N”,所以推荐使用统计结果来判断。
综上得出如下语句:
1 2 3 4 5 6 7 | |
注意事项
1.使用查询时,Select语句必须有From 表。
2.使用函数时注意区分大小写。通常第一个字母大写,其余小写。在表达式和查询中,Substring函数有所不同:在表达式中Substring(‘lvhengyan’,4,1)=’n’;在查询中Substring(‘lvhengyan’,4,1)=’e’。
3.如果界面上字符型字段不填写内容,则其界面值为空,而非NULL!!!