场景
在做供应商管理的时候,我想让供应商可控的看到有些数据比如送货单,正常思路是,我们先设计一个供应商的表单,然后在送货单的里面添加对应的供货商名称或者关联的人, 但实际场景是我们有可能有成百上千的供应商,而有些供应商来讲可能对应多个人。所以原先的设计方案无法满足。
为了满足,所以我们筛选数据的流程应该如下
1.设计一个供应商和用户管理表,用来确定供应商和用户的关系。
2.在筛选视图筛选数据时,我们先根据当前访问系统的用户,查出他属于哪一个供应商,然后根据供应商的名字进行查询相应的数据。
所以先通过一个条件查出来的数据,然后用这个数据二次进行筛选的行为。我们叫做视图的高级筛选。
视频
大家可以观看视频来理解这个需求。
设置步骤
1.前置条件
1.您是应用管理员,如果您对权限不了解请访问 👉 权限专题
2.核心概念
中间变量:用于存放初步筛选结果的变量,可以理解为 SQL 语句中的子查询的结果。点击访问子查询的概念
3.步骤
- 点击设置「高级筛选条件」,并点击「配置」
2.设置中间变量
比如我们现在想要根据当前用户获取他的供应商名称,我先设置中间变量为「公司名称」,然后点击配置
然后在目标表中,设置筛选条件,然后提取需要的字段,这里我们提取的 公司名称的字段。
3.用中间变量的值筛选数据
我们将提取出来的中间变量,当成筛选条件,进行最后的筛选。
注意,这里选择的是当前表单字段。与中间变量的里面的表单没有关系。
4.保存即可。
4.技术总结
1.我们先设计「中间变量 」用来提取我们想要的筛选条件。
如 在供应商表中根据当前登录的用户查询 ta 对应的供应商名称。 如 jack 对应公司名称为 速融云
2.用中间变量进行筛选,
如 我们把公司名称是 速融云的 在回款单 查询出来。
我们通过中间变量为我们打开了一道更加灵活的筛选门,而且查询几乎实时的。
注意事项
1.如果中间变量的数据查出来为空我们依然会当成查询条件进行查询。
2.如果中间变量配置错误,我们将会转化为空值进行筛选。
3.如果中间变量已经删除,我们将会转化为空值进行筛选。
4.高级筛选与普通筛选公用同一个 「所有」或者「任一」条件的筛选情况。