> **前置条件** — 执行以下任何命令前，请先确认已完成认证。如未认证，参见 [`../../shb-shared/SKILL.md`](../../shb-shared/SKILL.md)。

# PaaS 创建链路

创建类操作的权威文档,覆盖两个不同层次(**不要混淆**):**创建表单**(`template create`,建一个新的业务模块/结构,不是数据)和**创建数据记录**(`form create`,在已有表单下新增一条数据),以及字段新增与流程发起。编辑(更新)已有记录见 [`shb-paas-update.md`](shb-paas-update.md),删除见 [`shb-paas-delete.md`](shb-paas-delete.md)。

## 定位表单

按 [`shb-paas-form.md`](shb-paas-form.md) 定位表单拿到 `bizId` / `appId`，再查表单结构与字段：

```bash
shb-cli paas template get --biz-id <template-biz-id>
shb-cli paas template fields --template-biz-id <template-biz-id>
```

## 创建表单(新业务模块的结构,不是数据)

```bash
# app-id 来自 paas app forms 结果里的 appId,是内部标识
shb-cli paas template create --name <name> --app-id <app-id> --confirm-write
shb-cli paas template check-state --template-biz-id <template-biz-id>
```

## 给表单新增字段

给表单加字段(`template add-fields` 增量 / `save-fields` 全量替换)属于字段定义写操作,**见 [`shb-paas-fields.md`](shb-paas-fields.md)「字段定义写操作」**,本文档不重复。

## 创建数据记录(在已有表单下新增一条数据)

```bash
shb-cli paas form create --data '<json>' --dry-run
shb-cli paas form create --data '<json>' --confirm-write
```

`form create` 使用后端真实保存接口 `editWfFormContent`(与 `form save` 同接口,`create` 是新建语义别名)。复杂字段按页面保存格式传值: select/user/address/logistics 等复合控件使用 JSON 字符串; 子表新增行不传 `subFormContentBizId`。payload 里的自定义字段 key(`fieldName`)与类型先查 `paas template fields`,不要臆造。

## 发起流程

```bash
shb-cli paas form start-content --data '<json>' --confirm-write
shb-cli paas flow buttons --content-biz-id <content-biz-id>
```

## 继续流程

```bash
shb-cli paas form finish-content --data '<json>' --confirm-write
shb-cli paas flow log --content-biz-id <content-biz-id>
```

`finish-content` 的 `flowTaskId`、`nodeButtonName`、`approveResult` 必须来自 `flow buttons` 返回结果,具体字段对应见 [`shb-paas-flow.md`](shb-paas-flow.md)「关键取值来源」,不要臆造。

## 注意

- 真实写入前先核 `shb-cli config` 的租户和用户。
- 字段定义的增删改(`add-fields` / `save-fields`)统一见 [`shb-paas-fields.md`](shb-paas-fields.md)「字段定义写操作」。
- 写操作先 `--dry-run`,再 `--confirm-write`; 删除类操作按命令要求使用 `--yes`。
