Skip to content

[finding] 报表构建器只接受已声明的 dataset,不接受对象——AI 长出的新模块在报表里选不到,必须另写一份 dataset 声明 #13696

Description

@yinlianghui

来源:宣传视频车道 #147(一句话新模块·请假管理)为改版取景所做的只读侦察。未改动任何平台代码、未改任何配置,本单为纯只读观察。

本单只描述现象,不预设修正方向。 是否算缺陷、以及该往哪个方向处理(对象自动可报表、按需生成 dataset、保持显式声明并在别处补齐、或仅改文档与提示),全部留给负责人裁定。故不带 pm:queue——请先分级,不要被自动流程当成待开发任务直接领走。

现象

一位 AI agent 依据一句业务需求,在既有 CRM 应用里长出了一个完整的请假模块:对象 crm_leave_request(15 字段)、审批流、5 个 profile 的权限声明、4 个视图、写进既有应用导航的菜单项。这些在应用里都能用

但这个新模块在报表里选不到。

报表构建器本身是齐全的——Report type(Matrix)、Dataset、Values(measures)、Rows/Columns(dimensions)、Chart type,左侧还有带合计行的实时预览。问题在它的数据源入口:它只接受 dataset,不接受对象。

Dataset 下拉里共 13 项:

类别 数量 说明
平台级 sys_* 4 User / Organization / Session / Audit Log Metrics
业务对象的 9 account / case / contact / event / forecast / lead / opportunity / product / task —— 每一个都在 src/datasets/ 里逐个声明过
请假的 0 ——

机械核查:src/dashboards/src/reports/src/datasets/ 三个目录里零 leave 声明(唯一 grep 命中是 shared-widgets.ts 注释里的英文单词 "leave",假阳性)。

于是「本季度各人请假天数」这类报表现在出不来;要出,必须先另写一份 leave dataset 声明

为什么记下来

同一个模块,运行时的那一面是齐的(表单、审批、视图、导航、记录权限都能用),分析的那一面是空的——两者的开通方式不同:前者由对象与视图声明带出,后者要再声明一次 dataset。

对一个「按描述长出模块」的平台,这意味着任何新长出来的对象,其分析能力都不随模块一起到位,需要第二次声明。这是本次侦察观察到的事实;是否属于有意的设计取舍(例如 dataset 承担了治理、RLS、度量语义等对象本身不表达的东西),本单不判断。

相关的界面观察(同为只读)

  • widget 属性面板的 DATASET BINDING 帮助文本原文:「Bind a governed dataset. When set, it takes precedence over the inline object query above …」——即 widget 另有一条直接查对象的 inline query 路径
    未验证该路径能否指向 crm_leave_request:验证需要新建或修改一个 widget,属改配置,超出本次只读范围。如实记为未验证,不作推断。

复现最小路径

  1. 在一个已有若干 dataset 的应用里,新建一个对象(本例 crm_leave_request,15 字段),并为它声明视图与菜单项;
  2. 打开报表构建器,展开 Dataset 下拉;
  3. 新对象不在列表中——列表里只有 sys_* 与那些已被显式声明过 dataset 的业务对象。

取证环境

2026-08-31,载体 objectstack-ai/hotcrm,钉 @objectstack/* 17.1.0。纯只读 + 截图,未改数据、未改配置、未改源码。

邻近既有单(已查,非重复)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions