12.3 查询模板:过滤条件

1.参数的作用

       通过过滤条件,可以对数据源模板中的所有表单进行筛选。譬如: “根据供应商查询采购单”,此时过滤条件中如果填写  采购单.供应商=“供应商A”,则查询的结果将只有供应商为供应商A的采购单,
图1:固定的过滤条件
       如果过滤条件中填写 采购单.供应商=“供应商B”,则查询的结果将只有供应商为供应商B的采购单.....这样虽然能查询到结果,但是每次查询都需要更改设计,非常不方便。
       为了能实现动态的查询,可使用参数,它是一个数据项,可设置参数的数据类型,用户在查询界面输入参数的值,执行查询时,将参数的值带入过滤条件中,根据该条件进行过滤查询。比如上面的例子,可添加参数“供应商”,数据项为文本类型,在过滤设置中显示自定义参数,将过滤条件改为 采购单.供应商=自定义参数.供应商,保存更改的设计。
图2:添加参数
       此时在查询界面,显示参数的设置,此参数的名称为供应商,输入参数具体的值后,单击【查询】,将参数的值传递给过滤条件,根据过滤条件 “采购单.供应商=自定义参数.供应商”从数据源采购单模板中查询符合条件的结果。
图3:查询界面

2.形如的使用

    在过滤条件中通过使用“形如”可实现模糊查询的效果它的使用方法为   “ABC”  形如 “A”,如果要实现供应商的模糊查询时,设置过滤条件 “采购单.供应商  形如  自定义参数.供应商”
   在查询界面输入供应商的任意几个字符,单击【查询】后将模糊查询出符合条件的结果。
图4:形如的使用

3.常量的使用

   针对是否类型的数据项,云表中用 常量.是 代表 true   常量.否 代表  false ,常量.空 代表 数据项未被赋值,譬如:筛选所有可用商品列表时,需要将不可用的商品过滤掉,则过滤条件为 “商品档案.是否停用  <>  常量.是”,这个过滤条件的效果等同于 “商品档案.是否停用 =常量.否  或者  商品档案.是否停用 =常量.空”。
图5:常量的使用

4.函数的使用

     譬如“按照年度查询采购情况”时,参数为“年份”,而在《采购单》模板中没有“年份”数据项应该如何做呢?此时就需要使用函数,在《采购单》中有“采购日期”数据项,通过函数获取数据项“采购日期”的年份值与自定义参数的年度,在过滤条件中做比较。关于云表中具体有哪些函数,这些函数该如何使用,请参考表达式编辑器的使用教程。
图6:函数的使用

5.多参数的使用

     当有多个参数时时会涉及到多个过滤条件,这些过滤条件之间需要遵循以下原则:
  • 每个过滤条件独立。譬如:查询从指定的开始日期到结束日期内的采购单明细,它有2个查询条件,采购单.采购日期≥自定义参数.开始日期 ,采购单.采购日期≤自定义参数.结束日期,这就是2个独立的过滤条件,而不能写成 自定义参数.开始日期≤ 采购日期 ≤自定义参数.结束日期。
  • 必须理清楚多个过滤条件之间的关系。多个条件之间同时满足需要用“并且”连接,如果是满足其中一个条件即可“或者”连接。还是以查询指定的开始日期到结束日期内的采购单明细为例,它有2个查询条件,采购单.采购日期≥自定义参数.开始日期 ,采购单.采购日期≤自定义参数.结束日期。这里的2个查询条件需要同时满足,因此过滤条件为 自定义参数.开始日期 ≤采购单.采购日期 并且 采购单.采购日期 ≤自定义参数.结束日期。
  • 括号内的条件先运行。譬如: (自定义参数.开始日期 ≤采购单.采购日期 或者 自定义参数.开始日期=常量.空 ) 并且 采购单.采购日期 ≤ 自定义参数.结束日期,这个条件会先运行括号内的内容 自定义参数.开始日期=常量.空 代表 开始日期没有填写时,因此该过滤条件的意思为-当开始日期填写时,查询“采购单的日期大于开始日期的采购单”,或者开始日期不填写时,“查询所有的采购单” ,查询完成后,同时筛选 满足 采购单的日期小于结束日期的采购单。这样当开始日期没有填写时,可只根据结束日期进行查询,当开始日期填写时,则根据开始日期和结束日期同时查询。
图7:设置多个参数及过滤条件
图8:设置多个参数后的查询效果

6.其他设置

图8:过滤条件的设置
     ①重复数据只显示一次,勾选后查询的结果中有重复的记录时,重复的记录将显示成一条记录;
     ②参数的必填设置,勾选参数后的必填后,在查询界面,必须填写填写参数的值,才能单击【查询】按钮执行查询;
     ③参数的默认值,当数据类型为文本或者数值时才生效,填写默认值后,在查询界面参数将被默认赋值,单击【查询】按钮可快速执行查询;
     ④参数的数据规范,可给参数设置填写规范(不能调用系统变量),譬如:在参数“供应商”的数据规范中调用《供应商》的供应商列表数据接口(图9),在查询界面,参数供应商上显示【...】,用户单击【...】,弹出“供应商列表”,它有多列,选择某个供应商后,数据规范默认将该数据接口中勾选“返回值”数据列的值赋值给参数,单击【查询】按钮后根据参数的值执行查询;
图9:给参数设置数据规范
图10:参数设置数据规范后的使用效果
      ⑤限制条数,填写限制条数后,将只返回满足过滤条件的前多少条数,譬如,满足过滤条件的记录有2000条,限制条数设置100条后,将只显示前100条记录;
 
    
    
2022-09-21
43 39