変数の一部を組み合わせて、より複雑な結果を得ることができます。変数をさまざまなシナリオで使用する例については、複雑さや使用例別に整理されたものをご参照ください。
この記事の内容:
一般的な変数パターンとその使用例を次の通り示します。
| パターン | 使用例 | 例 |
|---|---|---|
{#variable}...{/variable} |
項目をループ処理 | {#markups}{name}{/markups} |
{#!variable}...{/} |
変数が空の場合に表示 | {#!amount}$0.00{/} |
{#variable}...{/}{#!variable}...{/} |
値または既定値を表示 | {#previousAmount}{previousAmount}{/}{#!previousAmount}0{/} |
{variable | filter:"field":"value"} |
データをフィルタ | {items | filter:"type":"SOV"} |
{variable | sumBy:"field"} |
合計を計算 | {items | sumBy:"approved"} |
{#condition}...{/} |
条件付き表示 | {#amount!="0.00"}{amount}{/} |
{variable | groupItemsByXCO: 'type'} |
増減管理タイプ別にグループ化 | {items | groupItemsByXCO: 'COR'} |
ドキュメント テンプレートで変数を初めて使用する場合は、ここから開始します。これらの例では、すべてのドキュメント タイプに共通する基本的な概念を取り上げています。
変数を使用して、列とヘッダを含むテーブルの形式でデータを表示することができます。構文の例を次に示します。

開始セクションの変数を使用し、# (たとえば {#markups})で始まり、/ (たとえば {/markups})で終わります。
間違った使用法:

正しい使用法:

開始変数と終了変数の間に、{name} や {description} などの必要なデータをすべてリストできます。

生成されたドキュメントの結果は次のとおりです

シナリオ: ドキュメント テンプレートで {previousAmount} や {materialsStored} などの変数を使用していますが、ドキュメントを生成すると、一部の列が「$0」の代わりに空白で表示されることがあります。
変数が空または空白の場合に既定値を表示するには、次のパターンの条件式を使用します。
{#variableName} {variableName} {/}{#!variableName}default_value{/}たとえば、{previousAmount} が空白のときに「0」を表示するには、次のようにします。
{#previousAmount} {previousAmount} {/}{#!previousAmount}0{/}この条件式は次のように機能します。
{#previousAmount} - previousAmount に値がある場合、それを表示する{previousAmount} - 実際の変数値{/} - 最初の条件を閉じる{#!previousAmount} - previousAmount に値がない場合(空白/空の場合)0 - 既定値として「0」を表示する{/} - 2 番目の条件を閉じるこのパターンは、空白セルの代わりに既定値を表示する次のような任意の変数に適用できます。
{#materialsStored} {materialsStored} {/}{#!materialsStored}$0.00{/}{#currentAmount} {currentAmount} {/}{#!currentAmount}0{/}これらの例はドキュメント タイプごとに整理されており、特定の使用例に適した解決策を見つけやすくなっています。
支払い請求ドキュメントやスプレッドシートのカスタマイズ例。
支払い請求から空の行項目を削除するには、テーブルの先頭に条件式 {#amount!="0.00"}、行の末尾に {/} を使用します。例:

支払い請求または契約から小計を取り除くには、{#children.length===0}{xxx}{/}を使用して支払い行項目を入力することができます。例:

シナリオ:「譲渡許容値」という増減管理タイプを作成しました。
![[譲渡許容値]設定を示す増減管理タイプの設定](../../../../images/allowance-transfers-example-3.png#border-2px-black)
これらの許可に対する承認済みの所有者の変更を Excel スプレッドシートで確認する必要があります。これを行うためには、次の操作を実行します。
Excel スプレッドシートの列の「発注者要望による変更」を一覧表示します。
![[発注者要望による変更]列の設定を表示する Excel スプレッドシート](../../../../images/allowance-transfers-example.png#border-2px-black)
新しいタイプを OCO に適用します。
![[譲渡許容値]タイプが適用された OCO](../../../../images/allowance-transfers-example-1.png#border-2px-black)
名前を Excel スプレッドシートのタイプと一致させます。

シナリオ: 既定の費用支払い請求スプレッドシート テンプレートに、小計金額を表示せずに集計表項目のみを表示する新しいタブを作成します。
小計なしの新しいタブを費用支払い請求のスプレッドシート テンプレートに追加するには、次の変数パターンを使用します。
{#children.length===0}{xxx}{/}この条件式により、生成済みのスプレッドシート タブには、小計のない行項目のみが表示されます。{xxx} は、各行項目に含める特定のデータ フィールドを表します。
使用例: これは、小計の複雑な計算を必要とせず、個々の作業項目のクリーンなビューを下請業者に提供する場合に特に便利です。
シナリオ: 既定の予算支払い請求スプレッドシート テンプレートに新しいタブを作成し、個々の支払関連項目の詳細を表示せずに、項目を COR(増減管理依頼)別にグループ化します。
たとえば、予算支払い請求のスプレッドシート テンプレートに「COR ごとにグループ化されたオプションの詳細」と呼ばれる新しいタブを追加するには、次の変数パターンを使用します。
{#payment.lineView.rootItems|groupItemsByXCO: 'COR'}{number}{/payment.lineView.rootItems|groupItemsByXCO: 'COR'}この変数は、関連する COR によって支払い行項目をグループ化し、COR 番号のみを表示しますが、基礎となる支払関連項目の詳細は表示されません。
主な機能
RFQ、COR、OCO などの増減管理ドキュメントをカスタマイズする例。
シナリオ: 増減管理のライフタイム全体を通して追加されたコメントを含むドキュメントを作成する必要があります。
この例では、変数の開始タグとして {#rfq.comments} を表示し、終了タグとして {/rfq.comments} を表示します。他の関連する変数は、これら 2 つの変数の間に存在する必要があります。
たとえば、次のコメントセクションを含む RFQ です。

次を使用して、Word ドキュメントにテーブルを追加します。

すると、次のようになります。

ドキュメント テンプレートに入力する必要があるのは、テーブルの 1 行のみです。Cost Management のデータに基づいて、指定した情報を使用してテーブルが作成されます。
ドキュメント テンプレートのメイン契約価格表で COR または OCO を整理します。COR の場合、次のパターンを使用します。

OCO の場合は、rco を oco に置き換えます。
シナリオ: 増減管理ドキュメント(たとえば、OCO)を作成していて、その中に 2 つのテーブルを別々に含める必要があります。1 つ目は小計を持つ通常の支払関連項目、2 つ目はマークアップ支払関連項目です。増減管理価格の合計も追加する場合。これを行うためには、次の操作を実行します。次に、ドキュメントで使用される変数の例を示します。

関連付けられた COR および OCO 番号を表示するには、次の変数を使用します。
{this.costItem.corNumber}{this.costItem.ocoNumber}
結果:

契約ドキュメントおよび価格表の表示をカスタマイズするための例。
シナリオ: SOV サブ項目の小計のみを表示した契約を作成する必要があります。また、親項目を下請業者に表示したくありません。そのためには、ドキュメント テンプレートから次の変数を使用します。

また、[単価]と[金額]の値を $0 として表示したくありません。この場合、$0 を「含む」という単語に置き換えることができます。これを行うためには、次の操作を実行します。既に使用されている変数を強化する:

生成された契約の結果は、次のようになります。

ドキュメント テンプレートの予算コードと名前を参照するには、次の式を使用します。

たとえば、契約の価格表は次のようになります。

表示される式によって、次の結果が生成されます。

これらの例では、複雑なドキュメント カスタマイズ要件に対応する高度な変数の使用方法を紹介しています。
ドキュメント内の特定のデータを表示または非表示にするための高度なフィルタ技術です。
ドキュメントの生成にフィルタ機能を使用できます。たとえば、[リスク 偶発時用]項目のみを表示するには、変数 {#payment.columnView.rootItems | filter:"name":"Risk Contingency"} を使用します。
![[リスク 偶発時用]項目のフィルタ機能を表示するドキュメント テンプレート](../../../../images/payment-filter-func.png#border-2px-black)
結果:
![フィルタされた[リスク 偶発時用]の結果を表示する生成済みドキュメント](../../../../images/payment-filter-func-res.png#border-2px-black)
また、メンバーは、元の価格表と承認済みのすべての SCO を 2 つの個別のワークシートに分割することもできます。
元の SOV のみが含まれるワークシートを生成するには、次の変数を使用します。
{#payment.lineView.rootItems | filter:"associationType":"SOV"} {/payment.lineView.rootItems | filter:"associationType":"SOV"}承認済みの SCO のみが含まれるワークシートを生成するには、次の変数を使用します。
{#payment.lineView.rootItems | filter:"number":"Change Orders"} {/payment.lineView.rootItems | filter:"number":"Change Orders"}
管理者が臨時費用を生成されたドキュメントに表示したくない場合は、次のフィルタを使用できます。

結果:

ドキュメント内で合計を計算したり、データ集計を行ったりするための高度な技術です。
sumBy 関数は、データ セット内の値を集約するのに役立ちます。
例 1: 各 PCO の標準支払関連項目の承認済み値の小計を計算します。
{#oco.pco}{regular | sumBy:'approved'}{/oco.pco}例 2: 各 PCO のすべての支払関連項目の承認済み値の合計を計算します。
{#oco.pco}{this | getAll: "costItems" | sumBy: "approved"}{/oco.pco}
sumBy 関数は、計算された合計値が個別の変数として直接使用できない場合に特に便利です。