多个 IDO 筛选器示例
您的所有销售员都有一个 CloudSuite Industrial 登录名。他们可以查看自己的销售机会,但您还希望他们看到当前没有被分配销售员的所有销售机会,以使他们能够将这些销售机会分配给自己。
无需创建新的映射表,我们可以利用 slsman_mst 表中的现有映射,该表中既有一个用户名列,也有一个销售员列。
SLOpportunities 上的筛选器需要两个子句。
第一个子句:
字段 | 设置 | 备注 |
---|---|---|
IDO | SLOpportunities | 该筛选器只应用于 SLOpportunities IDO。(您将对该子句后面的另一个筛选器子句执行 OR 运算。) |
用户 | 留为空白以使该筛选器应用于所有用户。您需要使用表格联接功能来决定该筛选器将应用于哪些人。 | |
组 | 留为空白以使该筛选器应用于所有组中的用户。 | |
Property | 销售员 | “销售机会”表单上的“销售员”字段绑定到 SLOpportunities.slsman 属性。 |
(运算符) | = | |
该值 | 当前用户连接至 | 使用该设置指定表格联接。 |
该表格 | slsman_mst | 这是现有的 slsma_mstn 表,其中包含用户名(登录 ID)和销售员之间的映射。 |
其中该列是用户名 | 用户名 | 此下拉列表将在您指定该表格之后被填充。 |
且该列具有值 | 销售员 | 这是与 SLOpportunities IDO 上的销售员属性进行比较的值。 |
当单击“”时,所显示的虚拟 SQL 查询如下所示:
Slsman = ANY (SELECT [slsman] FROM [slsman_mst] WHERE [slsman_mst].[username] = dbo.UserNameSp()))
第二个子句:
字段 | 设置 | 备注 |
---|---|---|
IDO | SLOpportunities | 该筛选器只应用于 SLOpportunities IDO。(您将对照上一个子句对该筛选器子句执行 OR 运算。) |
用户 | 留为空白以使该筛选器应用于所有用户。 | |
组 | 留为空白以使该筛选器应用于所有组中的用户。 | |
Property | 销售员 | “销售机会”表单上的“销售员”字段绑定到 SLOpportunities.slsman 属性。 |
(运算符) | = | |
该值 | 文字 | 将该属性与相连字段中的文字值进行比较。 |
(文字) | 将该字段留为空白,或者指定 null 指示空值。空值将匹配尚未定义销售员的所有销售机会。 | |
对照上一个值执行 OR 而非 AND 运算 | (已选择) | 选择该框指示 OR |
当单击“”时,所显示的虚拟 SQL 查询如下所示:
Slsman = ANY (SELECT [slsman] FROM [slsman_mst] WHERE [slsman_mst].[username] = dbo.UserNameSp())) OR (Slsman = null)
激活并保存了该筛选器之后,当销售员登录到 CloudSuite Industrial 并尝试(或者通过表单,或者通过对 IDO 的基于 Web 的调用)访问销售机会 IDO 时,该筛选器会在 slsman_mst 表中查找登录 ID,并将他们能够查看的信息限制为具有该客户号的那些记录。但由于存在前面提到的 OR 和第二个子句,因此销售员也能够看到尚未被分配销售员的所有“销售机会”记录。