メインコンテンツまでスキップ

Filter 与 TQL

翻訳準備中このガイドは現在、簡体字中国語版のみ提供しています。翻訳版は今後追加されます。

Filter 保存一段可复用 TQL(Task Query Language)。它可以在任务工作台中使用,也可以被页面设计器的 TaskList 引用。

1. 创建 Filter​

  1. 进入 Data & Permission → Filters。
  2. 点击 New Filter。
  3. 填写 Filter Name。
  4. 在 TQL 编辑器中输入查询。
  5. 按界面能力选择 Private 或 Shared 等可见范围。
  6. 通过语法和语义校验后保存。

Filter Key 由系统自动生成,不需要用户填写。Filter 也不需要配置 Status。

Filter 列表展示 Filter 名称、TQL、可见范围,以及编辑和删除操作。images/pd-filters-list-01.webp
截图待补充

2. 使用 TQL 编辑器​

TQL 编辑器提供字段、操作符、函数和值的在线建议,并执行语法和语义校验。输入时优先选择候选项,不要复制未经当前版本验证的字段名。

常用系统字段包括:

  • taskKey
  • title
  • taskType
  • status
  • step
  • assignee
  • creator
  • createdAt
  • updatedAt
  • priority

支持的自定义字段以搜索能力和补齐结果为准。

TQL 自动补齐展示字段、操作符、函数候选和实时语义校验。images/pd-tql-suggestions-02.webp
截图待补充

3. 采购案例查询​

开放采购申请:

taskType = "PURCHASE" AND status = "OPEN" ORDER BY updatedAt DESC

当前用户待办:

taskType = "PURCHASE" AND assignee = currentUser() ORDER BY updatedAt DESC

多个状态:

taskType = "PURCHASE" AND status IN ("OPEN", "PROCESSING") ORDER BY createdAt DESC

空值、组合条件等高级写法应通过编辑器候选和校验构建。自定义 Amount 字段的引用必须以当前编辑器补齐结果为准,不在文档中猜测语法。

4. AND、OR 和括号​

组合 AND 与 OR 时显式使用括号:

taskType = "PURCHASE"
AND (status = "OPEN" OR status = "PROCESSING")
ORDER BY updatedAt DESC

没有括号的混合表达式容易产生与阅读者预期不同的优先级。

5. 在页面设计器中引用​

TaskList 通过保存后的 Filter Key 绑定查询。修改 Filter 的 TQL 后,引用该 Filter 的 TaskList 会在对应版本发布后使用新定义。Worklist 则提供 My Pending、My Created、My Processed 等内置视图。

任务列表不使用 DataList。DataList 是 Business Object 模型列表,与 TQL 和任务权限无关。

6. 验证 Filter​

  1. 在设计器中通过语法和语义校验。
  2. 在 DEV 或 TEST 使用至少两种用户身份运行。
  3. 检查总数、分页和排序。
  4. 验证无权限任务不会因为 TQL 条件而被越权看到。
  5. 修改 Filter 后确认已发布到正在验证的环境。

TQL 描述查询条件,权限方案仍然是数据可见性的最终约束。查询条件不能提升用户权限。

7. 常见问题​

Filter 保存后 TaskList 为空:检查 Filter Key、当前环境版本、任务类型 Key、用户权限和实际任务状态。

编辑器提示未知字段:从候选列表重新选择字段;自定义字段可能未启用搜索或尚未发布。

当前用户查询没有结果:确认任务确实分配给当前登录用户,而不是仅属于其角色候选池且尚未认领。

下一步​