> ## 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入力のフィールドと照合して、各タグを対応する値に置き換えます。

動的に生成するには、以下のテンプレートタグを使用します。

1. [テキスト](#1-text-tags)
2. [画像](#2-image-tags)
3. [表](#3-表タグ)
4. [リスト](#4-リストタグ)
5. [条件](#5-条件)
6. [計算](#6-計算)
7. [Box Signテンプレートタグ](#7-box-signテンプレートタグ)

<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>
  **注**

  Box 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><br /><strong /> |
| ---------------------------------------------------------------------- | ---------------------- | ---------------------- | --------------------------------------------- | -------------------------------------------- |
| <code>\{\{invoice.customerName :: uppercase}}</code>                   | Acme Inc               | ACME INC               | 〇                                             | ×                                            |
| <code>\{\{invoice.customerName :: lowercase}}</code>                   | Acme Inc               | acme inc               | 〇                                             | ×                                            |
| <code>\{\{invoice.date :: format(“dd-mm-yyyy”) }}</code><br /><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>1. 青<br />2. 緑<br />3. 赤</td></tr><tr><td><strong>順序なしリスト</strong></td><td><code>\<ul>\<li>青\</li>\<li>緑\</li>\<li>赤\</li>\</ul></code></td><td>\* 青<br />\* 緑<br />\* 赤</td></tr></tbody></table>

***

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

画像タグを使用すると、画像を動的に追加して表示できます。 Box Doc GenはBase64形式の画像をサポートしています。

Box Doc Genテンプレートに画像タグを追加するには、以下の手順に従います。

1. プレースホルダ画像を挿入して、必要に応じて、位置を調整しサイズを変更します。
2. 画像の \[**代替テキスト**] に`$image-path`という変数を追加します。 この変数は、画像をBase64形式で保持するJSONデータ内の変数を参照します。\
   以下のサンプルJSONコードでは、Base64画像を保持する変数として***contract.logo***を参照しています。

```json theme={null}
{ 
  "image-path": "contract.logo", 
  "alt-text": "Alt text" 
}
```

Box Doc Genは、ドキュメント生成処理中に、このプレースホルダ画像を、指定されたキーに関連付けられているBase64値に置き換えます。

```json theme={null}
{
  "contract":{
    "customerId": "1203",
    "date": "18-08-2023",
    "country": "UK",
    "customerName": "Example Corporation",
    "logo": "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",
    "customerAddress":{
      "street": "Example street",
      "city": "Example city",
      "zip": "EX-456"
    }
  }
}
```

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

### 出力

Box Doc Genは、このプレースホルダ画像を、指定されたキーに関連付けられているBase64値に置き換えます。

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

<Frame>
  <img src="https://mintcdn.com/product-docs/W7v2MbKmGbQqsC_V/images/box-doc-gen/38079141309587.png?fit=max&auto=format&n=W7v2MbKmGbQqsC_V&q=85&s=5ce54d76c291cb6be8cd528937a89296" alt="" width="278" height="150" data-path="images/box-doc-gen/38079141309587.png" />
</Frame>

***

## 3. 表タグ

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

以下に例を示します。

* `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用紙",
        "quantity": 100,
        "price": 29,
        "amount": 2900
      },
      {
        "id": 2,
        "name": "インクカートリッジ",
        "quantity": 40,
        "price": 39,
        "amount": 1560
      },
      {
        "id": 3,
        "name": "接着テープ",
        "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                  |

***

## 4. リストタグ

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

以下に例を示します。

* `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用紙",
        "quantity": 100,
        "price": 29,
        "amount": 2900
      },
      {
        "id": 2,
        "name": "インクカートリッジ",
        "quantity": 40,
        "price": 39,
        "amount": 1560
      },
      {
        "id": 3,
        "name": "接着テープ",
        "quantity": 20,
        "price": 30,
        "amount": 600.50
      }
    ]
  }
 }
```

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

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

### リストの書式設定

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

```json theme={null}
{
  "items": ["A4用紙", "インクカートリッジ", "接着テープ"]
}
```

| <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 接着テープ |

***

## 5. 条件

条件を使用して、出力ドキュメントに入力を追加できます。 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": "小切手",
    "paymentTerms": "Net60",
    "deliveryDate": "23-03-2023",
    "items": [
      {
        "id": 1,
        "name": "A4用紙",
        "quantity": 100,
        "price": 29,
        "amount": 2900
      },
      {
        "id": 2,
        "name": "インクカートリッジ",
        "quantity": 40,
        "price": 39,
        "amount": 1560
      },
      {
        "id": 3,
        "name": "接着テープ",
        "quantity": 20,
        "price": 30,
        "amount": 600.50
      }
    ]
  }
 }
```

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

***

## 6. 計算

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用紙",
        "quantity": 100,
        "price": 29,
        "amount": 2900
      },
      {
        "id": 2,
        "name": "インクカートリッジ",
        "quantity": 40,
        "price": 39,
        "amount": 1560
      },
      {
        "id": 3,
        "name": "接着テープ",
        "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> |

***

## 7. Box Signテンプレートタグ

[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><br /><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>             | 〇                                                 | 〇                                            |
