> ## Documentation Index
> Fetch the complete documentation index at: https://docs.box.com/llms.txt
> Use this file to discover all available pages before exploring further.

# テンプレートタグのリファレンス

<div className="article_labels_list" style={{display: 'none'}} dangerouslySetInnerHTML={{__html: "End User , Established , P5 , Box Doc Gen"}} />

<Note>
  現在、Box Doc Genテンプレートタグでは、英語のみがサポートされています。 実稼働環境で使用する前に、テンプレートをテストして、言語の要件を満たしていることを確認してください。
</Note>

テンプレートタグを使用すると、データが自動的に入力されるドキュメントテンプレートを作成できます。 ドキュメントの生成時に、Box Doc Genは、テンプレート内のタグを探し、それらをJSON入力のフィールドと照合して、各タグを対応する値に置き換えます。

<h2 id="1-text-tags">
  1\. テキストタグ
</h2>

テキストタグは、文字列型、数値型、または日付型のデータフィールドです。 以下の例では、`id`、`date`、`customerId`、`customerName`、`currency`、`amount`をテキストタグに変換できます。

```json theme={null}
{
  "invoice":{
    "id": "Inv1203",
    "date": "13-03-2023",
    "customerId": "90158",
    "customerName": "Acme Inc",
    "currency": "$",
    "amount": 5060.50
  }
}
```

生成される出力ドキュメントでは、すべてのテンプレートタグが入力データに置き換えられます。

<Note>
  Doc Genタグでは、タグ内のキーワード間のスペースやハイフンはサポートされていません。 例えば、`**{{first name}}**`や`**{{first-name}}**`はサポートされません。
</Note>

| <strong>ドキュメントテンプレート</strong> | <strong>出力ドキュメント</strong> |
| - | - |
| <strong>請求書</strong><br /><strong>請求書ID: </strong><code>\{\{invoice.id}}</code><br /><strong>請求日:</strong> <code>\{\{invoice.date}}</code><br /><strong>顧客の詳細:</strong><br />顧客ID: <code>\{\{invoice.customerId}}</code><br />顧客名: <code>\{\{invoice.customerName}}</code><br /><strong>支払い金額:</strong><br /><code><strong>\{\{invoice.currency}}\{\{invoice.amount}}</strong></code> | <strong>請求書</strong><br /><strong>請求書ID: </strong>Inv1203<br /><strong>請求日:</strong> 13-03-2023<br /><strong>顧客の詳細:</strong><br />顧客ID: 90158<br />顧客名: Acme Inc<br /><strong>支払い金額:</strong><br /><strong>\$5060.50</strong> |

### 省略可能なタグ

| <strong>入力形式</strong> | <strong>入力データ</strong> | <strong>出力データ</strong> |
| - | - | - |
| <code>\{\{invoice.customerName}}</code> | - | \{\{invoice.customerName}} |
| <code>\{\{invoice.customerName :: optional}}</code> | - | |

### デフォルト値

| <strong>入力形式</strong> | <strong>入力データ</strong> | <strong>出力データ</strong> |
| - | - | - |
| <code>\{\{invoice.customerName}}</code> | - | \{\{invoice.customerName}} |
| <code>\{\{invoice.customerName :: default(“Box Inc”)}}</code> | - | Box Inc |

### テキストタグの書式設定

| <strong>入力形式</strong> | <strong>入力データ</strong> | <strong>出力データ</strong> | <strong>スクリプトによる</strong><br /><strong>サポート</strong> | <strong>アドインによる</strong><br /><strong>サポート</strong> |
| - | - | - | - | - |
| <code>\{\{invoice.customerName :: uppercase}}</code> | Acme Inc | ACME INC | 〇 | × |
| <code>\{\{invoice.customerName :: lowercase}}</code> | Acme Inc | acme inc | 〇 | × |
| <code>\{\{invoice.date :: format(</code><br /><code>“dd-mm-yyyy”) }}</code> | 13-03-2023 | 13-03-2023 | 〇 | × |
| <code>\{\{invoice.date :: format(“mm-dd-yyyy”) }}</code> | 13-03-2023 | 03-13-2023 | 〇 | × |
| <code>\{\{invoice.date :: format(“dd-mmm-yy”) }}</code> | 13-03-2023 | 13-Mar-23 | 〇 | × |
| <code>\{\{invoice.id :: format(“xxx-xxxx”) }}</code> | Inv1203 | Inv-1203 | 〇 | × |
| <code>\{\{invoice.amount :: format(“EU-Number”) }}</code> | 300000 | 300.000 | 〇 | × |
| <code>\{\{invoice.amount :: format(“US-Number”) }}</code> | 300000 | 300,000 | 〇 | × |

### リッチテキスト

Box Doc Genでは、リッチテキストを含むドキュメントを生成できます。 入力用のJSONデータにHTMLタグ (太字、斜体、下線、改行、段落、アンカー、画像など) が含まれている場合、Doc Genでは、自動的にそのタグがリッチテキストとして解釈され、関連する書式が適用されます。

<table><thead><tr><th><strong>HTMLタグ</strong></th><th><strong>JSONデータ</strong></th><th><strong>出力</strong></th></tr></thead><tbody><tr><td><strong>太字</strong></td><td><code>\{ "company": "\<b>Acme Inc.\</b> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話:\<b> 999-999-9999\</b>" }</code></td><td><strong>Acme Inc.</strong> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: <strong>999-999-9999</strong></td></tr><tr><td><strong>斜体</strong></td><td><code>\{ "company": "\<i>Acme Inc.\</i> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話:\<i> 999-999-9999\</i>" }</code></td><td><em>Acme Inc.</em> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: <em>999-999-9999</em></td></tr><tr><td><strong>下線</strong></td><td><code>\{ "company": "\<u>Acme Inc.\</u> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話:\<u> 999-999-9999\</u>" }</code></td><td>Acme Inc. ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: 999-999-9999</td></tr><tr><td><strong>太字、斜体、下線</strong></td><td><code>\{ "company": "\<b>\<i>\<u>Acme Inc.\</u>\</i>\</b>ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話:\<b>\<i>\<u> 999-999-9999\</u>\</i>\</b>" }</code></td><td><em><strong>Acme Inc</strong>.</em> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: <em><strong>999-999-9999</strong></em></td></tr><tr><td><strong>強調</strong></td><td><code>\{ "company": "\<strong>Acme Inc.\</strong> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話:\<strong> 999-999-9999\</strong>" }</code></td><td><strong>Acme Inc.</strong> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: <strong>999-999-9999</strong></td></tr><tr><td><strong>範囲</strong></td><td><code>\{ "company": "\<span>Acme Inc.\</span> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話:\<span> 999-999-9999\</span>" }</code></td><td>Acme Inc. ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: 999-999-9999</td></tr><tr><td><strong>強調 (斜体)</strong></td><td><code>\{ "company": "\<em>Acme Inc.\</em> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話:\<em> 999-999-9999\</em>" }</code></td><td><em>Acme Inc.</em> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 電話: <em>999-999-9999</em></td></tr><tr><td><strong>改行</strong></td><td><code>\{ "company": "\<b>Acme Inc.\</b>  \n ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 \n 電話:\<b> 999-999-9999\</b>" }</code></td><td><strong>Acme Inc. </strong> <br />ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 <br />電話: <strong>999-999-9999</strong></td></tr><tr><td><strong>段落</strong></td><td><code>\{ "company": "\<b>Acme Inc.\</b>  \<p> ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 \</p>  \<p> 電話:\<b> 999-999-9999\</b>"\</p> }</code></td><td><strong>Acme Inc. </strong><br />ロードランナーショーでお約束のギャグとして登場する有名な架空の会社。 <br />電話: <strong>999-999-9999</strong></td></tr><tr><td><strong>順序付きリスト</strong></td><td><code>\<ol>\<li>青\</li>\<li>緑\</li>\<li>赤\</li>\</ol></code></td><td><ol><li>青</li><li>緑</li><li>赤</li></ol></td></tr><tr><td><strong>順序なしリスト</strong></td><td><code>\<ul>\<li>青\</li>\<li>緑\</li>\<li>赤\</li>\</ul></code></td><td><ul><li>青</li><li>緑</li><li>赤</li></ul></td></tr></tbody></table>

***

<span id="h_01JH9N4NTD93TD40270YTTBWYW" />

<h2 id="2-image-tags">
  2\. 画像タグ
</h2>

Doc Genでは、Box内の任意の画像ファイルを、生成されたドキュメントに埋め込むことができます。 そのためには、以下の手順に従う必要があります。

### 1. 画像ファイルをBoxにアップロードする

ドキュメント生成に使用される画像ファイルは、Boxにアップロードする必要があります。

**APIを使用してドキュメントを生成する**

APIを使用してドキュメントを生成する際にサービスアカウントを使用している場合は、そのサービスアカウントでファイルにアクセスできることを確認してください。

### 2. Doc Genテンプレートを作成する

Doc Genでは、以下の方法で、画像を使用したドキュメントの生成が可能です。

* プレースホルダ画像からドキュメントを生成する
* HTML画像を使用してドキュメントを生成する

#### プレースホルダ画像からドキュメントを生成する

**Microsoft Word用アドインを使用したDoc Genテンプレートの作成**

アドインを使用して画像タグを挿入するには、以下の手順に従います。

1. Box Doc Gen Template Creatorアドインで、希望するプレースホルダ画像を使用して画像タグを作成します。
2. \[**ドキュメントタグ**] > \[**画像タグ**] に移動します。
3. ドキュメント内で、画像タグを挿入する領域を選択します。
4. 画像タグをダブルクリックして挿入します。

これにより、プレースホルダ画像が挿入されます。この画像は、Box Doc Gen APIやその他の上流システムによる入力データに動的に置き換えられます。

Placeholder.png

プレースホルダ画像のサイズと配置は、Microsoft Wordの機能を使用して変更でき、 これらのプロパティは出力ドキュメントで維持されます。

プレースホルダ画像の「代替テキスト」には次のコードが追加されています。 これを表示するには、画像を選択して右クリックし、\[**代替テキストを表示**] を選択します。

```json theme={null}
{
  "image-path": "singleImage",
  "alt-text": ""
}
```

<Note>
  * image-pathは、ドキュメント生成リクエストを作成する際に使用されるJSONペイロード内の画像に関する主要なフィールドです。
  * プレースホルダ画像の追加も可能です。追加するには、その画像をドキュメントにドラッグアンドドロップするか、画像のプレースホルダを挿入するだけです。 ただし、必要なコードは必ず、ALT TEXTフィールドに手動で入力してください。
</Note>

**forループ内で画像を反復処理する:**

forループで複数の画像を含むドキュメントを生成するには、以下のように、画像が\_**For関数**\_でラップされていることを確認してください。

```auto theme={null}
{{ for item in multipleImages }}

{
  "image-path": "{{ item.id }}",
  "alt-text": ""
}

{{ endfor }}
```

**tableループ内で画像を反復処理する:**

tableループで複数の画像を含むドキュメントを生成するには、以下のように、画像が\_**Table関数**\_でラップされていることを確認してください。

<table><tbody><tr><td><code>\{\{ tablerow item in multipleImages }}</code></td><td /></tr><tr><td><code>\{\{ item.name }}</code></td><td><code>image-path</code>を含むJSONが代替テキストに設定された埋め込み画像</td></tr><tr><td><code>\{\{ endtablerow }}</code></td><td /></tr></tbody></table>

<Note>
  画像のALT TEXTセクションに必ず画像パスを含めるようにしてください。
</Note>

```json theme={null}
{
  "image-path": "singleImage",
  "alt-text": ""
}
```

#### HTML画像を使用してドキュメントを生成する

JSONペイロードからHTML画像を含むドキュメントを生成するには、テンプレートにテキストタグを含めます。

```auto theme={null}
For example: {{htmlImage}}
```

<Note>
  この方法は、単純な画像の生成のみに対応しており、ForループやTableループで繰り返される画像の生成には対応していません。
</Note>

### 3. ドキュメントを生成するためのJSONペイロードを作成する

#### プレースホルダ画像からドキュメントを生成する

Box内の画像ファイルを含むドキュメントを生成するには、以下のスキーマを使用します。

1. プレースホルダ画像で使用される**キー** (例: singleImage)
2. **id** - Box内の画像ファイルのファイルIDを渡すため
3. **type** - これがドキュメントに埋め込む画像ファイルであることを示すため

```json theme={null}
{
  "singleImage": {
    "id": "1948600448426",
    "type": "image",
    "name": "Title for image 1"
  }
}
```

<Note>
  ここで言及されている画像ファイルIDは、Box内のファイルIDを指しています。
</Note>

```json theme={null}
{
  "image-path": "singleImage",
  "alt-text": ""
}
```

**複数の画像を含むプレースホルダからドキュメントを生成する**

Box内の複数の画像ファイルを含むドキュメントを生成するには、以下に示すように、画像スキーマの配列を実行します。

```json theme={null}
{
  "multipleImages": [
    {
      "id": "1948600448426",
      "type": "image",
      "name": "Title for image 2"
    },
    {
      "id": "1948600448427",
      "type": "image",
      "name": "Title for image 3"
    },
    {
      "id": "1948600448428",
      "type": "image",
      "name": "Title for image 4"
    }
  ]
}
```

#### HTML画像を使用してドキュメントを生成する

HTML画像タグを使用してBox内の画像をドキュメントに含めるには、次の形式でJSONスキーマを定義します。

```json theme={null}
{
  "htmlImage": "<img src='file://[FILE_ID]' alt='Sample product image' height='500' width='500'/>"
}
```

この例では、以下のように定義されています。

* \*\*file://\[FILE\_ID]\*\*は、Boxに保存されている画像のファイルIDを指します
* **height**と**width**では、画像の表示サイズを定義します
* **alt**では、画像の代替テキストを指定します

### 4. ドキュメント生成リクエストを作成する

Doc Genを使用すると、Boxから直接取得した画像が埋め込まれたドキュメントを作成できます。 生成されたドキュメントに画像を含めるには、以下のいずれかの方法を使用できます。

* **Box Doc Gen API** – 画像を含むドキュメントをプログラムで生成します。 手順を説明するガイダンスについては、Box Doc Gen APIのドキュメントを参照してください。
* **Box Doc Genウェブアプリ** – ウェブインターフェースを使用して、画像が埋め込まれたドキュメントを作成します。 手順の詳細については、ドキュメントを参照してください。

**Salesforce統合** – BoxファイルIDを参照して、画像を含むドキュメントを生成します。 必要なJSONスキーマパターンに従っていることを確認してください。 設定や使用方法については、Salesforce統合のドキュメントを参照してください。

***

<h2 id="3-table-tags">
  3\. 表タグ
</h2>

入力データの配列を使用して、表を生成して動的に書式設定できます。

以下に例を示します。

* `items`は、動的な表として表示することができる配列です。
* `id`、`name`、`quantity`、`price`、`amount`は、配列内の変数であり、個々の列として動的な表に表示されます。

```json theme={null}
{
  "invoice":{
    "number": "Inv1203",
    "date": "13-03-2023",
    "customerId": "90158",
    "currency": "$",
    "amount": 5060.50,
    "items": [
      {
        "id": 1,
        "name": "A4 Papers",
        "quantity": 100,
        "price": 29,
        "amount": 2900
      },
      {
        "id": 2,
        "name": "Ink  Cartridge",
        "quantity": 40,
        "price": 39,
        "amount": 1560
      },
      {
        "id": 3,
        "name": "Adhesive tape",
        "quantity": 20,
        "price": 30,
        "amount": 600.50
      }
    ]
  }
}
```

### ドキュメントテンプレート

タグが挿入されたドキュメントテンプレートは次のようになります。

<table><thead><tr><th><strong>ID</strong></th><th><strong>名前</strong></th><th><strong>数量</strong></th><th><strong>価格</strong></th></tr></thead><tbody><tr><td colspan="4"><code>\{\{tablerow item in invoice.items}}</code></td></tr><tr><td><code>\{\{item.id}}</code></td><td><code>\{\{item.name}}</code></td><td><code>\{\{item.quantity}}</code></td><td><code>\{\{item.price}}</code></td></tr><tr><td colspan="4"><code>\{\{endtablerow}}</code></td></tr></tbody></table>

### 出力

Box Doc Genは、ドキュメントテンプレートに追加された表タグを自動的に識別して、入力JSONデータのフィールドと照合し、反復処理を数回実行して入力データに対応した表全体を生成します。

生成されたドキュメントに出力される表は次のようになります。

| <strong>ID</strong> | <strong>名前</strong> | <strong>数量</strong> | <strong>価格</strong> |
| - | - | - | - |
| 1 | A4用紙 | 100 | 29 |
| 2 | インクカートリッジ | 40 | 39 |
| 3 | 接着テープ | 20 | 30 |

***

<h2 id="4-list-tags">
  4\. リストタグ
</h2>

入力データの配列を使用して、順序付きリストまたは順序なしリストを動的に生成できます。

以下に例を示します。

* `items`は、動的なリストとして表示することができる配列です。
* `id`、`name`、`quantity`、`price`、`amount`は、配列内の変数であり、リスト内で繰り返されるフィールドとして表示されます。

```json theme={null}
{
  "invoice":{
    "number": "Inv1203",
    "date": "13-03-2023",
    "customerId": "90158",
    "currency": "$",
    "amount": 5060.50,
    "items": [
      {
        "id": 1,
        "name": "A4 Papers",
        "quantity": 100,
        "price": 29,
        "amount": 2900
      },
      {
        "id": 2,
        "name": "Ink  cartridge",
        "quantity": 40,
        "price": 39,
        "amount": 1560
      },
      {
        "id": 3,
        "name": "Adhesive tape",
        "quantity": 20,
        "price": 30,
        "amount": 600.50
      }
    ]
  }
 }
```

入力データを使用して、さまざまな種類のリストを生成できます。

| <strong>ユースケース</strong> | <strong>ドキュメントテンプレート</strong> | <strong>出力ドキュメント</strong> |
| - | - | - |
| <strong>箇条書きリストの追加</strong> | <strong>製品のリスト:</strong><br /><br /><code>\{\{ for item in invoice.items }}</code><br /><br />• <code>\{\{item.name}}</code><br /><code>\{\{ endfor }}</code> | <strong>製品のリスト:</strong><br /><br />• A4用紙<br />• インクカートリッジ<br />• 接着テープ |
| <strong>1つ以上の変数を含む箇条書きリストの追加</strong> | <strong>製品のリスト:</strong><br /><br /><code>\{\{ for item in invoice.items }}</code><br /><br />• <code>\{\{item.name}}, \{\{item.quantity}}</code><br /><code>\{\{ endfor }}</code> | <strong>製品のリスト:</strong><br /><br />• A4用紙, 100<br />• インクカートリッジ, 40<br />• 接着テープ, 20 |
| <strong>1つ以上の変数を含む、行頭文字が四角形の箇条書きリストの追加</strong> | <strong>製品のリスト:</strong><br /><br /><code>\{\{ for item in invoice.items }}</code><br /><br />• <code>\{\{item.name}}, \{\{item.quantity}}</code><br /><code>\{\{ endfor }}</code> | <strong>製品のリスト:</strong><br /><br />• A4用紙, 100<br />• インクカートリッジ, 40<br />• 接着テープ, 20 |
| <strong>1つ以上の変数を含む、行頭文字が白丸の箇条書きリストの追加</strong> | <strong>製品のリスト:</strong><br /><br /><code>\{\{ for item in invoice.items }}</code><br /><br />• <code>\{\{item.name}}, \{\{item.quantity}}</code><br /><code>\{\{ endfor }}</code> | <strong>製品のリスト:</strong><br /><br />• A4用紙, 100<br />• インクカートリッジ, 40<br />• 接着テープ, 20 |
| <strong>1つ以上の変数を含む番号付きリストの追加</strong> | <strong>製品のリスト:</strong><br /><br /><code>\{\{ for item in invoice.items }}</code><br /><br />1. <code>\{\{item.name}}, \{\{item.quantity}}</code><br /><code>\{\{ endfor }}</code> | <strong>製品のリスト:</strong><br /><br />1.  A4用紙, 100<br />2.  インクカートリッジ, 40<br />3.  接着テープ, 20 |
| <strong>1つ以上の変数を含むローマ数字付きリストの追加</strong> | <strong>製品のリスト:</strong><br /><br /><code>\{\{ for item in invoice.items }}</code><br /><br />1. <code>\{\{item.name}}, \{\{item.quantity}}</code><br /><code>\{\{ endfor }}</code> | <strong>製品のリスト:</strong><br /><br />1.  A4用紙, 100<br />2.  インクカートリッジ, 40<br />3.  接着テープ, 20 |
| <strong>1つ以上の変数を含むアルファベット付きリストの追加</strong> | <strong>製品のリスト:</strong><br /><br /><code>\{\{ for item in invoice.items }}</code><br /><br />1. <code>\{\{item.name}}, \{\{item.quantity}}</code><br /><code>\{\{ endfor }}</code> | <strong>製品のリスト:</strong><br /><br />1.  A4用紙, 100<br />2.  インクカートリッジ, 40<br />3.  接着テープ, 20 |

### リストの書式設定

Box Doc Genテンプレートは、ドキュメントテンプレートで使用できるさまざまなカスタムコードをサポートしています。 次のJSON入力データを参考に、さまざまな区切り記号や区切り文字を使用できます。

```json theme={null}
{
  "items": ["A4 Papers", "Ink  cartridge", "Adhesive tape"]
}
```

| <strong>リストのタイプ</strong> | <strong>ドキュメントテンプレート</strong> | <strong>出力ドキュメント</strong> |
| - | - | - |
| <strong>リスト - コンマ区切りを使用</strong> | <code>\{\{ items :: delimiter(“,”)}}</code> | A4用紙, インクカートリッジ, 接着テープ |
| <strong>リスト - セミコロン区切りを使用</strong> | <code>\{\{ items :: delimiter(“;”)}}</code> | A4用紙; インクカートリッジ; and 接着テープ |
| <strong>リスト - カスタム区切りを使用</strong> | <code>\{\{ items :: delimiter(“\~”)}}</code> | A4用紙\~ インクカートリッジ\~ 接着テープ |
| <strong>リスト - コンマ区切りと最後の区切り文字を使用</strong> | <code>\{\{ items :: delimiter(“,”) , lastdelimiter (“, and”)}}</code> | A4用紙, インクカートリッジ, and 接着テープ |
| <strong>リスト - セミコロン区切りと最後の区切り文字を使用</strong> | <code>\{\{ items :: delimiter(“;”) , lastdelimiter (“; and”)}}</code> | A4用紙; インクカートリッジ; and 接着テープ |
| <strong>リスト - カスタム区切りと最後の区切り文字を使用</strong> | <code>\{\{ items \| delimiter(“~~”) , lastdelimiter (“~~ and”)}}</code> | A4用紙\~ インクカートリッジ\~ and 接着テープ |

***

<h2 id="5-conditions">
  5\. 条件
</h2>

条件を使用して、出力ドキュメントに入力を追加できます。 Box Doc Gen Template Creatorアドインは、ドキュメントテンプレート内でこれらの条件を定義するのに役立ちます。

### サポートされている条件と演算子

<table><thead><tr><th><strong>タグの種類</strong></th><th><strong>サポートされている条件</strong></th><th><strong>条件のつなぎとしてサポートされている演算子</strong></th></tr></thead><tbody><tr><td>文字列</td><td>== (に等しい)、!= (に等しくない)、isPresent</td><td>AND、OR</td></tr><tr><td>日付</td><td>isPresent</td><td>AND、OR</td></tr><tr><td>数値</td><td>\<、>、==、!=、>=、\<=</td><td>AND、OR</td></tr></tbody></table>

以下のJSONを、Box Doc Genテンプレートの条件を定義するための入力とします。

```json theme={null}
{
  "invoice":{
    "number": "Inv1203",
    "date": "13-03-2023",
    "customerId": "90158",
    "currency": "$",
    "amount": 5060.50,
    "paymentMethod": "Cheque",
    "paymentTerms": "Net60",
    "deliveryDate": "23-03-2023",
    "items": [
      {
        "id": 1,
        "name": "A4 Papers",
        "quantity": 100,
        "price": 29,
        "amount": 2900
      },
      {
        "id": 2,
        "name": "Ink cartridge",
        "quantity": 40,
        "price": 39,
        "amount": 1560
      },
      {
        "id": 3,
        "name": "Adhesive tape",
        "quantity": 20,
        "price": 30,
        "amount": 600.50
      }
    ]
  }
 }
```

| <strong>ユースケース</strong> | <strong>ドキュメントテンプレート</strong> | <strong>出力ドキュメント</strong> |
| - | - | - |
| <strong>支払い方法と支払い条件に基づいたコンテンツの導入</strong> | <strong>支払い条件:</strong><br /><br /><code>\{\{ if invoice.paymentMethod == “オンライン送金” AND invoice.paymentTerms == “Net30” }} </code><br /><br />• 請求日から30日以内に請求書の金額をお支払いください。<br />• 備考には参考として請求書番号をご記入ください。<br /><code>\{\{ elseif invoice.paymentMethod == “小切手” AND invoice.paymentTerms == “Net60” }} </code><br /><br />• 請求日から60日以内に請求書の金額をお支払いください。<br />• 備考には参考として請求書番号をご記入ください。<br />• <strong>小切手の支払い先: </strong>Box Inc, 900 Jefferson Ave, Redwood City, CA 94063, United States.<br /><code>\{\{else}}</code><br /><br />• 請求日から7日以内に請求書の金額をお支払いください。<br /><code>\{\{endif}}</code> | <strong>支払い条件:</strong><br /><br />• 請求日から60日以内に請求書の金額をお支払いください。<br />• 備考には参考として請求書番号をご記入ください。<br />• <strong>小切手の支払い先:</strong> Box Inc, 900 Jefferson Ave, Redwood City, CA 94063, United States. |
| <strong>請求書の金額と支払い方法に基づいた処理手数料の追加</strong> | <strong>処理手数料:</strong><br /><br /><code>\{\{ if invoice.amount >  1000 AND invoice.amount \< 5000 AND invoice.paymentMethod == “小切手” }} </code><br /><br />• お客様のアカウントに追加で1%の処理手数料が加算されます。<br />• この処理手数料は次回の請求書に含まれます。<br /><code>\{\{ elseif invoice.amount > 5000 AND invoice.paymentMethod == “小切手”}} </code><br /><br />• 請求金額は、追加の処理手数料なしで小切手またはオンライン送金でお支払いいただけます。<br /><code>\{\{else}}</code><br /><br />• 請求日から7日以内に請求書の金額をお支払いください。<br /><code>\{\{endif}}</code> | <strong>処理手数料:</strong><br /><br />• 請求金額は、追加の処理手数料なしで小切手またはオンライン送金でお支払いいただけます。 |
| <strong>請求書の納品日に基づいた納品条件の追加</strong> | <strong>納品条件:</strong><br /><br /><code>\{\{ if invoice.deliveryDate isPresent }} </code><br /><br />• ご注文の商品は、<code><strong>\{\{ invoice.deliveryDate}}</strong></code>にお届けいたします。<br />• お届けした商品は、到着後10日以内であれば返品可能です。<br /><code>\{\{else}}</code><br /><br />• ご注文の商品は、今から7日以内にお届けいたします。<br />• お届けした商品は、到着後10日以内であれば返品可能です。 | <strong>納品条件:</strong><br /><br />• ご注文の商品は、<strong>23-03-2023</strong>にお届けいたします。<br />• お届けした商品は、到着後10日以内であれば返品可能です。 |

<h3 id="conditions-with-tables">
  表を伴う条件
</h3>

Doc Genでは、表や画像など、任意のコンテンツを条件に応じて表示できます。

`{{ if invoice.customerId isPresent }}`

<table><thead><tr><th><strong>ID</strong></th><th><strong>名前</strong></th><th><strong>数量</strong></th><th><strong>価格</strong></th></tr></thead><tbody><tr><td colspan="4"><code>\{\{tablerow item in invoice.items}}</code></td></tr><tr><td><code>\{\{item.id}}</code></td><td><code>\{\{item.name}}</code></td><td><code>\{\{item.quantity}}</code></td><td><code>\{\{item.price}}</code></td></tr><tr><td colspan="4"><code>\{\{endtablerow}}</code></td></tr></tbody></table>

`{{ endif }}`

### 表内の条件

Doc Genでは、表内の列で条件に応じてコンテンツを表示できます。

**例**

<table><thead><tr><th><strong>ID</strong></th><th><strong>名前</strong></th><th><strong>数量</strong></th><th><strong>価格</strong></th></tr></thead><tbody><tr><td colspan="4"><code>\{\{ tablerow item in invoice.items }}</code></td></tr><tr><td><code>\{\{ item.id}}</code></td><td><code>\{\{ item.name}}</code></td><td><code>\{\{ item.quantity}}</code></td><td><code>\{\{ if item.price isPresent}}\{\{item.price}}\{\{ else }}-\{\{ endif }}</code></td></tr><tr><td colspan="4"><code>\{\{ endtablerow }}</code></td></tr></tbody></table>

***

<h2 id="6-calculations">
  6\. 計算
</h2>

Box Doc Genテンプレートは動的な計算をサポートしています。 手動でタグ付け言語に計算コードを書き込むか、Box Doc Gen Template Creatorアドインを使用することができます。
サンプルコードの計算は以下のようになります。

* 請求書: 個々の明細項目から正味請求額の合計を決定する。
  **例:** *Sum (請求書の個々の明細項目の金額)*
* 発注書: 最大調達額の上限を設定する。
  **例:** *5% \* 正味発注額*
* 販売契約書: SLA違反に対する違約金を定義する。
  **例:** *10% \* 総販売額*

**サポートされている演算**

| <strong>算術演算</strong> | <strong>集約演算</strong> |
| - | - |
| % | PERCENT |
| + | SUM |
| \* | AVERAGE |
| - | COUNT |

以下のJSONを、ドキュメントテンプレートに計算を追加するための入力とします。

```json theme={null}
{
  "invoice":{
    "number": "Inv1203",
    "invoiceDate": "13-03-2023, 12:10 PM",
    "deliveryDate": "23-03-2023",
    "customerId": "90158",
    "currency": "$",
    "taxRate": 3,
    "taxAmount": 151.8,
    "shippingCharge": 15,
    "grossAmount": 5060,
    "penaltyRate": 10,
    "billCap": 25,
    "items": [
      {
        "id": 1,
        "name": "A4 Papers",
        "quantity": 100,
        "price": 29,
        "amount": 2900
      },
      {
        "id": 2,
        "name": "Ink  cartridge",
        "quantity": 40,
        "price": 39,
        "amount": 1560
      },
      {
        "id": 3,
        "name": "Adhesive tape",
        "quantity": 20,
        "price": 30,
        "amount": 600
      }
    ]
  }
}
```

例:

| <strong>ユースケース</strong> | <strong>ドキュメントテンプレート</strong> | <strong>出力ドキュメント</strong> |
| - | - | - |
| 指定の<em><strong>総額</strong></em>と<em><strong>税額</strong></em>から正味金額を計算する<br /><strong>算術計算</strong> | <strong>正味金額:</strong><br /><code>\{\{ invoice.grossAmount + invoice.taxAmount}}</code> | <strong>正味金額:</strong><br />5211,8<br /><em><strong>注釈:</strong></em><br /><em>5060 (grossAmount) + 151.8 (taxAmount)</em> |
| 指定の<em><strong>総額</strong></em>、<em><strong>税額</strong></em>、<em><strong>送料</strong></em>から正味金額を計算する<br /><strong>算術計算</strong> | <strong>正味金額:</strong><br /><code>\{\{ invoice.grossAmount + invoice.taxAmount + invoice.shippingCharge}}</code> | <strong>正味金額:</strong><br />5226.8<br /><em><strong>注釈:</strong></em><br /><em>5060 (grossAmount) + 151.8 (taxAmount) + 15 (shippingCharge)</em> |
| 指定の<em><strong>税率</strong></em>と<em><strong>総額</strong></em>から税額を計算する<br /><strong>算術計算</strong> | <strong>税額:</strong><br /><code>\{\{ invoice.taxRate % \* invoice.grossAmount}}</code> | <strong>税額:</strong><br />151.8<br /><em><strong>注釈:</strong></em><br /><em>3% (taxRate)  \* 5060 (grossAmount)</em> |
| <em><strong>個々の明細項目の金額</strong></em>から総額を計算する<br /><strong>集約計算</strong> | <strong>総額:</strong><br /><code>\{\{ \$sum(invoice.items.amount) }}</code> | <strong>総額:</strong><br />5060<br /><em><strong>注釈:</strong></em><br /><em>Sum (2900+1560+600)</em> |
| 明細項目の数を計算する<br /><strong>カウント計算</strong> | <strong>カウント:</strong><br /><code>\{\{ \$count(invoice.items.amount) }}</code> | <strong>カウント:</strong><br />3 |
| 明細項目の平均を計算する | <strong>平均金額:</strong><br /><code>\{\{ \$average(invoice.items.amount) }}</code> | <strong>平均金額:</strong><br />1686.66 |
| <em><strong>指定の明細金額</strong></em>と<em><strong>税率</strong></em>から正味金額を計算する<br /><strong>算術計算 + 集約計算</strong> | <strong>正味金額:</strong><br /><code>\{\{ $sum(invoice.items.amount) + invoice.taxRate % * $sum(invoice.items.amount)}}</code> | <strong>正味金額:</strong><br />5211,8<br /><em><strong>注釈:</strong></em><br /><em>Sum (2900+1560+600) + </em><br /><em>3% \* Sum (2900+1560+600)</em> |

***

<h2 id="7-box-sign-template-tags">
  7\. Box Signテンプレートタグ
</h2>

[Box Signテンプレートタグ](/ja/box-sign/templates/creating-templates-using-tags)をBox Doc Genテンプレートに追加することで、Box Doc Genによって作成された出力ドキュメントを電子サイン用に送信できます。

以下の表に、Box Doc Gen Template Creatorアドインとタグ付けスクリプトで利用できるタグを示します。

| <strong>フィールド</strong> | <strong>Box Signのテンプレートコード</strong> | <strong>タグ付けスクリプト</strong><br /><strong>によるサポート</strong> | <strong>アドインによる</strong><br /><strong>サポート</strong> |
| - | - | - | - |
| テキストフィールド | <code>\[\[t\|0]]</code> | 〇 | 〇 |
| 日付フィールド | <code>\[\[d\|0]]</code> | 〇 | 〇 |
| チェックボックスフィールド | <code>\[\[c\|0]]</code> | 〇 | 〇 |
| 署名フィールド | <code>\[\[s\|0]]</code> | 〇 | 〇 |
| スタンプフィールド | <code>\[\[st\|0]]</code> | 〇 | 〇 |
| イニシャルフィールド | <code>\[\[i\|0]]</code> | 〇 | 〇 |
| 名前フィールド | <code>\[\[n\|0]]</code> | 〇 | 〇 |
| 名フィールド | <code>\[\[fn\|0]]</code> | 〇 | 〇 |
| 姓フィールド | <code>\[\[ln\|0]]</code> | 〇 | 〇 |
| 会社フィールド | <code>\[\[co\|0]]</code> | 〇 | 〇 |
| メールフィールド | <code>\[\[e\|0]]</code> | 〇 | 〇 |
| タイトルフィールド | <code>\[\[ti\|0]]</code> | 〇 | 〇 |
| 添付ファイルフィールド | <code>\[\[a\|0]]</code> | 〇 | 〇 |
