> For the complete documentation index, see [llms.txt](https://docs.docbits.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.docbits.com/chinese/guan-li-yu-she-zhi/workflow/cards-overview/field-manipulation-guide.md).

# 字段和表格操作卡片

## 字段和表格操作卡片 - 完整指南

**涵盖：** 用于修改文档字段和表格的 9 张卡片

***

本页中的字段和表格卡片位于工作流构建器的 **Then** 组中 — 当 When/And 条件匹配后运行的操作：

<figure><img src="https://1870485400-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlPczlNw8zzYNLfjfispX%2Fuploads%2Fgit-blob-11ce06578b5d0bd3c75de5b078b38ce1a85ef74e%2Fworkflow_designer_cards.png?alt=media" alt="工作流构建器画布，包含 When、And 和 Then 卡片组"><figcaption><p>通过 <strong>Add Card</strong> 将字段和表格操作卡片添加到 <strong>Then</strong> 组。</p></figcaption></figure>

***

### 📌 版本信息

**多版本卡片：** CALC\_COLUMNS (v2)、CALC\_COLUMNS\_REGEX (v2)、EDIT\_COLUMN (v2)、AI\_CALC\_MTZ\_ETZ (v2)

**版本模式：** 所有字段操作卡片都遵循 v1 → v2 模式 **关键更改：** v2 增加了国际化 (i18n) 支持，使用翻译键

📖 [完整版本历史](https://github.com/Fellow-Consulting-AG/docbits/tree/main/readme/administration-and-setup/changelog/release.md#-data-manipulation-cards) | [卡片版本数据库](https://github.com/Fellow-Consulting-AG/docbits/tree/main/readme/DocFlow/docs/card_version.md)

***

## 文档字段操作 <a href="#storing-api-data" id="storing-api-data"></a>

### 卡片：ACTION\_SET\_FIELD\_TO\_TEXT / 将字段设为文本值 <a href="#set-field" id="set-field"></a>

#### 用途

自动将指定文本填入文档字段

#### 使用场景

* 根据决策填写字段
* 设置默认值
* 填写标准化信息
* 根据条件更新字段

#### 工作原理

```
IF 条件为 true
    THEN 将字段 "Category" 设置为值 "Premium"
```

#### 示例场景

**场景 1：设置审批类别**

```
条件：发票金额 > €10,000
    ↓
操作：将字段 "Approval_Category" 设置为 "High Value"
    ↓
结果：文档现在显示 "Approval_Category: High Value"
```

**场景 2：设置供应商类别**

```
条件：供应商名称包含 "ABC"
    ↓
操作：将字段 "Supplier_Type" 设置为 "Preferred Supplier"
    ↓
结果：文档标记为 "Preferred Supplier"
```

**场景 3：设置处理备注**

```
条件：文档已被拒绝
    ↓
操作：将 "Processing_Notes" 设置为 "Requires supplier revision"
    ↓
结果：下一位处理人员可以看到此备注
```

#### 参数

**字段名称** 要更新的字段

```
示例：Category、Type、Status、Comment、Notes
```

**文本值** 要填入字段的内容

```
示例："Approved"、"Pending Review"、"High Priority"
```

#### 配置步骤

1. 选择要填写的字段
2. 输入文本值
3. 设置条件（何时填写）
4. 保存

***

### 卡片：ACTION\_SET\_BOOLEAN\_FIELD / 设置复选框字段

#### 用途

自动选中或取消选中复选框字段

#### 使用场景

* 标记为已处理
* 设置审批标记
* 启用/禁用选项
* 标记为待导出

#### 工作原理

```
IF 条件为 true
    THEN 勾选/取消勾选 "Approved" 复选框
```

#### True = 已选中，False = 未选中

**示例：**

**示例 1：标记为已验证**

```
条件：采购订单完全匹配
    ↓
操作：勾选 "Verified" 复选框
    ↓
结果：✅ Verified（已勾选）
```

**示例 2：标记为需人工审核**

```
条件：价格差异 > 10%
    ↓
操作：勾选 "Requires_Manual_Review" 复选框
    ↓
结果：✅ Requires_Manual_Review（已标记）
```

**示例 3：取消预填复选框的选中状态**

```
条件：供应商已列入黑名单
    ↓
操作：取消勾选 "Approved_for_Payment" 复选框
    ↓
结果：☐ Approved_for_Payment（未勾选 - 已拦截）
```

#### 参数

```
复选框字段：[选择字段]
设置为：☑ 已勾选（✅ True）
   或：☐ 未勾选（❌ False）
```

***

### 卡片：ACTION\_INVERT\_BOOLEAN\_FIELD / 切换复选框

#### 用途

切换复选框状态（已选中 → 未选中，反之亦然）

#### 使用场景

* 切换审批状态
* 切换处理模式
* 反转先前状态
* 更新布尔标记

#### 工作原理

```
当前状态：✅（已勾选）
    ↓
ACTION_INVERT：切换复选框状态
    ↓
新状态：☐（未勾选）

OR

当前状态：☐（未勾选）
    ↓
ACTION_INVERT：切换复选框状态
    ↓
新状态：✅（已勾选）
```

#### 示例

```
收到的发票上已勾选 "Priority"
    ↓
处理后，切换 "Priority" 复选框状态
    ↓
复选框现在为未勾选状态（不再具有优先级）
```

***

### 卡片：ACTION\_COPY\_DOCFIELD\_TO\_DOCFIELD / 复制字段值 <a href="#copy-field" id="copy-field"></a>

#### 用途

将一个字段的值复制到另一个字段

#### 使用场景

* 将供应商信息复制到账单信息
* 在多个字段间复制数据
* 统一数据格式
* 创建值的备份

#### 工作原理

```
源字段："Invoice_Supplier"  值："ABC Corp"
    ↓
复制到
    ↓
目标字段："Billing_Partner"  值："ABC Corp"

现在两个字段的值相同
```

#### 实际示例

**示例 1：复制交货地址**

```
源："Delivery_Address" = "123 Main St, Berlin"
    ↓
复制到："Billing_Address"
    ↓
结果：两个字段均显示 "123 Main St, Berlin"
```

**示例 2：复制供应商代码**

```
源："Supplier_Code_External" = "SUPP-789"
    ↓
复制到："Supplier_Code_Internal"
    ↓
结果：两个代码匹配，系统可识别该供应商
```

**示例 3：复制金额以供验证**

```
源："Invoice_Total" = "€5000"
    ↓
复制到："Amount_to_Validate"
    ↓
结果：验证字段中包含正确金额
```

#### 参数

```
源字段：[选择要从中复制的字段]
目标字段：[选择要复制到的字段]
```

#### 备注

* 原字段保持不变
* 目标字段会被源字段的值覆盖
* 适用于统一数据

***

## 表格操作

### 卡片：EDIT\_COLUMN / 编辑表格列

#### 用途

根据条件更改表格列中的值

#### 使用场景

* 修正行项目中的定价错误
* 更新数量
* 更正商品描述
* 统一值

#### 工作原理

```
表格列："Unit_Price"
原始值：[100, 105, 103]
    ↓
查找：符合条件的值
替换：替换为新值
    ↓
更新后的列：[100, 110, 110]（示例）
```

#### 示例：修正定价

**场景：价格使用了错误的货币**

```
表格 "Line_Items"，包含列 "Price"

当前价格：[100, 100, 100]（货币单位错误）
    ↓
条件："如果 Price 列等于 100"
    ↓
操作：替换为 95（修正后的价格）
    ↓
结果：[95, 95, 95]（价格已修正）
```

#### 参数

```
表格：[选择表格]
列：[选择要编辑的列]
查找：[要查找的值]
替换为：[新值]
条件：[应用时机]
```

#### 常见用途

* 修正单价
* 统一描述
* 更正数量
* 更新 SKU 编号

***

### 卡片：CALC\_COLUMNS / 计算列值

#### 用途

对表格列执行计算并保存结果

#### 使用场景

* 计算行项目总额（数量 × 单价）
* 汇总列
* 计算折扣
* 计算百分比

#### 工作原理

```
列 A（数量）：100
列 B（单价）：€50
    ↓
计算：A × B
    ↓
列 C（行项目总额）：€5000
```

#### 计算类型

**类型 1：简单乘法**

```
公式：数量 × 单价 = 行项目总额

示例：
100 件 × €50/件 = €5000

配置：
  列 1：数量
  运算符：×
  列 2：单价
  结果列：行项目总额
```

**类型 2：加法**

```
公式：基础价格 + 运费 + 税费 = 总额

示例：
€5000 + €100 + €950 = €6050

配置：
  列 1：基础价格
  运算符：+
  列 2：运费
  运算符：+
  列 3：税费
  结果列：总额
```

**类型 3：百分比计算**

```
公式：金额 × (1 + 税率%) = 含税总额

示例：
€5000 × 1.19 = €5950

配置：
  列：金额
  运算符：× (1 + Tax%)
  结果列：Amount_with_Tax
```

**类型 4：减法**

```
公式：原价 - 折扣 = 最终价格

示例：
€100 - €10 = €90

配置：
  列 1：原价
  运算符：-
  列 2：折扣
  结果列：最终价格
```

#### 实际示例

**发票行项目计算：**

```
表：Invoice_Lines

行 1：
  数量：100
  单价：€25.00
  计算：100 × €25.00 = €2500.00（行项目总额）

行 2：
  数量：50
  单价：€40.00
  计算：50 × €40.00 = €2000.00（行项目总额）

行 3：
  数量：200
  单价：€10.00
  计算：200 × €10.00 = €2000.00（行项目总额）

小计：€6500.00（行项目总额之和）
税费（19%）：€1235.00
运费：€100.00
总计：€7835.00
```

#### 参数

```
表格：[选择表格]
列 1：[第一列]
运算符：[×, +, -, ÷, %]
列 2：[第二列]（如需要）
结果列：[答案写入位置]
```

***

### 卡片：CALC\_COLUMNS\_REGEX / 使用正则表达式模式计算

#### 用途

根据模式匹配计算列值

#### 使用场景

* 使用模式从文本中提取值
* 根据规则设置数据格式
* 根据模式转换值
* 解析结构化文本

#### 工作原理

**正则表达式模式匹配：**

```
原始值："ABC-12345-XYZ"
模式：仅提取数字
计算：转换为 "12345"
结果："12345"
```

#### 示例：提取供应商代码

**场景：商品编号中包含供应商信息**

```
表格列：“Article_Code”
值：["SUPP001-2025-A", "SUPP002-2025-B"]

模式：提取供应商代码（前 7 个字符）
    ↓
计算：SUPP001、SUPP002
    ↓
存入：“Supplier_Code”列

结果：
Article_Code: SUPP001-2025-A  →  Supplier_Code: SUPP001
Article_Code: SUPP002-2025-B  →  Supplier_Code: SUPP002
```

#### 示例：设置电话号码格式

**场景：电话号码未格式化**

```
原始值："491234567890"
模式：格式化为：+49 123 4567 890
结果："+49 123 4567 890"
```

#### 示例：从文本中提取价格

**场景：价格采用文本格式**

```
原始值："Price is 99.99 EUR"
模式：仅提取数字
结果："99.99"
```

#### 参数

```
表格：[选择表格]
列：[要分析的列]
Regex Pattern：[要查找的模式]
替换内容：[替换为的内容]
结果列：[结果存储位置]
```

#### 常见正则表达式模式

```
仅数字：[0-9]+
仅字母：[a-zA-Z]+
第一个单词：^\w+
提取 €：€(\d+\.\d{2})
日期格式：\d{4}-\d{2}-\d{2}
```

***

## 计算示例

### 示例 1：发票总额计算

```
步骤 1：计算行项目总额
  每行：数量 × 单价

步骤 2：汇总所有行项目总额
  总和：€2500 + €2000 + €2000 = €6500

步骤 3：计算税费
  税费：€6500 × 0.19 = €1235

步骤 4：添加运费
  最终金额：€6500 + €1235 + €100 = €7835
```

### 示例 2：差异计算

```
采购订单价格：€100
发票价格：€103

差异 = |(发票 - 采购订单)| / 采购订单 × 100
差异 = |3| / 100 × 100 = 3%

存储在 "Price_Variance%" 列中
```

### 示例 3：应用折扣

```
原价：€100
折扣率：10%
折扣金额：€100 × 0.10 = €10
最终价格：€100 - €10 = €90
```

***

## 字段操作工作流示例

```
文档到达
    ↓
检查条件：“Amount > €5000?”
    ↓
是 → 将字段“Category”设为“High Value”（高价值）
    ↓
检查条件：“Supplier is preferred?”（供应商是否为首选？）
    ↓
是 → 勾选“FastTrack”复选框
    ↓
将“Delivery_Address”复制到“Invoice_Address”
    ↓
在表中：计算行项目总额（Qty × Price）
    ↓
在表中：计算含税总额
    ↓
文档现在已填充所有计算所得字段和其他字段
```

***

## 最佳实践

✅ **建议：**

* 保持公式简单
* 使用示例数据测试计算
* 确认结果合理
* 记录更改字段的原因
* 数据相同时使用复制字段卡片

❌ **避免：**

* 创建循环引用（A=B，B=A）
* 无故覆盖重要数据
* 编写过于复杂的正则表达式模式
* 忘记核实计算结果
* 在错误的表格或列上执行计算

***

## 故障排除

### “字段未更新”

**原因：** 条件未满足或卡片未触发

**解决方案：**

* 检查条件是否为真
* 确认卡片已添加到工作流
* 使用示例数据进行测试
* 检查字段名称是否有拼写错误

### “计算结果错误”

**原因：** 选择了错误的列或公式不正确

**解决方案：**

* 核实源列
* 检查公式是否正确
* 手动测试
* 检查小数位数和舍入方式

### “表格显示错误”

**原因：** 引用的列不存在

**解决方案：**

* 核实列名拼写
* 检查列中是否有数据
* 确保列数据类型与计算匹配
* 如有需要，添加缺失的列

***

## 相关卡片

* **ACTION\_COPY\_DOCFIELD\_TO\_DOCFIELD** - 复制值
* **EDIT\_COLUMN** - 更改表格值
* **CALC\_COLUMNS** - 计算公式
* **ACTION\_SET\_FIELD\_TO\_TEXT** - 设置文本值
* **ACTION\_SET\_BOOLEAN\_FIELD** - 选中复选框


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.docbits.com/chinese/guan-li-yu-she-zhi/workflow/cards-overview/field-manipulation-guide.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
