Smart X 是 TOTVS 的元数据驱动 UI 框架,能够从数据字典表(SX2/SX3)自动生成现代 PO-UI 界面,而无需手写 Angular 组件。本技能覆盖开发 TOTVS Smart X 例程的完整链路:Object -> Model -> Interface -> Launcher。
用途:当用户需要构建、迁移或排查 Smart X 例程时使用。具体包括从零创建新的 Smart X 例程、将现有的 ADVPL 函数调用接入 Smart X 页面或表格操作、把旧版 MVC 例程的 browse(Data View)转换为 Smart X browse,以及调试 Smart X 屏幕、模型或接口问题。
主要能力:
- 记录 Model(totvs.framework.structure.model.th)和 Interface(totvs.framework.structure.Interface.th)这两个 TLPP 类所需的 include 与注解。
- Launcher 函数,用于将该例程注册到 Protheus 菜单中。
- 通过 pageActions、tableActions、events(如 onChange)将现有 ADVPL 函数集成到界面中。
- 仅将旧版 MVC 例程的 browse(Data View)转换为 Smart X 渲染,同时保持 ModelDef/ViewDef/MenuDef 不变。
参考文件与阅读时机:
- reference.md:始终阅读。包含 Smart X 概念、Object/Model/Interface/Launcher 架构、include/注解、最小端到端示例。
- patterns-model.md:编写或审查 Model(model.tlpp)类及其数据/业务规则定义时阅读。
- patterns-interface.md:编写或审查 Interface(interface.tlpp)类及其 UI 契约(browse/表单)时阅读。
- patterns-launcher-browse.md:仅将现有 MVC 例程的 browse(Data View)转换为 Smart X 渲染时阅读。
- patterns-advpl-integration.md:通过 pageActions、tableActions 或 onChange 等事件从 Smart X 调用现有 ADVPL 函数时阅读。
- patterns-migration.md:将完整旧版例程迁移为 100% Smart X 实现时阅读。
- troubleshooting.md:诊断 Smart X 屏幕、Model 或 Interface 中的错误或异常行为时阅读。
适用场景:创建新 Smart X 例程、接入 ADVPL 函数、转换旧版 MVC browse、排查 Smart X 相关问题。
限制:不覆盖没有 Smart X 的传统 MVC 例程开发(见 advpl-code-generation,file patterns-mvc.md);不覆盖 SX2/SX3 数据字典本身的配置脚本(见 sx-configuration)。也与 Smart View 无关——Smart View 是 TReports 分析工具,其自定义业务对象由 smartview-development 覆盖;两者名称相似,但框架不同。参考文件以巴西葡萄牙语撰写。