视图高级筛选

2833 上次更新时间:2021-01-20 21:24:22

Document

场景

  在做供应商管理的时候,我想让供应商可控的看到有些数据比如送货单,正常思路是,我们先设计一个供应商的表单,然后在送货单的里面添加对应的供货商名称或者关联的人, 但实际场景是我们有可能有成百上千的供应商,而有些供应商来讲可能对应多个人。所以原先的设计方案无法满足。

  为了满足,所以我们筛选数据的流程应该如下 
  1.设计一个供应商和用户管理表,用来确定供应商和用户的关系。
  2.在筛选视图筛选数据时,我们先根据当前访问系统的用户,查出他属于哪一个供应商,然后根据供应商的名字进行查询相应的数据。

  所以先通过一个条件查出来的数据,然后用这个数据二次进行筛选的行为。我们叫做视图的高级筛选。

视频

大家可以观看视频来理解这个需求。

设置步骤

1.前置条件

1.您是应用管理员,如果您对权限不了解请访问 👉 权限专题

2.核心概念

中间变量:用于存放初步筛选结果的变量,可以理解为 SQL 语句中的子查询的结果。点击访问子查询的概念

3.步骤

  1. 点击设置「高级筛选条件」,并点击「配置」


2.设置中间变量
比如我们现在想要根据当前用户获取他的供应商名称,我先设置中间变量为「公司名称」,然后点击配置

然后在目标表中,设置筛选条件,然后提取需要的字段,这里我们提取的 公司名称的字段。


3.用中间变量的值筛选数据
我们将提取出来的中间变量,当成筛选条件,进行最后的筛选。

注意,这里选择的是当前表单字段。与中间变量的里面的表单没有关系。

4.保存即可。

4.技术总结

1.我们先设计「中间变量 」用来提取我们想要的筛选条件。
   如 在供应商表中根据当前登录的用户查询 ta 对应的供应商名称。 如   jack 对应公司名称为 速融云
2.用中间变量进行筛选,
   如 我们把公司名称是 速融云的 在回款单 查询出来。
我们通过中间变量为我们打开了一道更加灵活的筛选门,而且查询几乎实时的。

注意事项

1.如果中间变量的数据查出来为空我们依然会当成查询条件进行查询。

2.如果中间变量配置错误,我们将会转化为空值进行筛选。

3.如果中间变量已经删除,我们将会转化为空值进行筛选。

4.高级筛选与普通筛选公用同一个 「所有」或者「任一」条件的筛选情况。