# SAL_SaleOrder Save Model（CRM 销售订单）

**扩展字段统一使用 `{custom_field_name}` 占位，须替换为当前账套元数据中的实际标识。**

## 前置查询

- `BD_Customer`：`FNumber` + `FUseOrgId.FNUMBER`；如使用自定义客户基础资料，替换为其真实 FormId
- `BD_OPERATOR` / `BD_NEWSTAFF`：销售员、部门

## Model 要点

| 字段 | 说明 |
|------|------|
| fid | 0 新建，否则修改 |
| FBillTypeID.FNUMBER | `{sales_order_bill_type_number}` |
| FDate | yyyy-MM-dd |
| FSaleOrgId / FCustId / FSaleDeptId / FSalerId | FNumber 引用 |
| FSaleOrderEntry[] | FMaterialId.FNumber, FQty, FTaxPrice, FEntryTaxRate… |
| FSaleOrderPlan[] | 预收款计划（可选） |
| `{custom_external_id_field}` | 外部系统主键对照 |

## Save 后

- `NeedReturnFields`: `fid`, `billNo`, `FSaleOrderEntry.FEntryID`
- 回写 CRM 分录 `erpEntryId`
- `submit`；状态 `D` 时先 `workflowAudit`

FormId: `SAL_SaleOrder`