帳票出力テンプレートファイルについて

帳票出力テンプレートファイルは、Microsoft Excelブック形式(.xlsx)、Microsoft Excelマクロ有効ブック形式(.xlsm)、またはExcel 97-2003 ブック形式(.xls)で作成します。
Excelで通常と同じように帳票を作成し、UnitBaseからフィールドのデータを出力するセルにキーワードを記入します。
帳票出力テンプレートファイルに複数のシートがある場合、それぞれのシートにキーワードを記入すると、各シートにフィールドのデータを反映することができます。
帳票出力テンプレートファイルの種類には、「帳票」と「レポート」があります。

帳票
1つのレコードのデータを1つの帳票出力テンプレートに出力します。
帳票出力テンプレートファイルに複数のシートがある場合、それぞれのシートにキーワードを記入すると、各シートにフィールドのデータを反映できます。
レポート
複数のレコードのデータを1つの帳票出力テンプレートに出力します。
帳票出力テンプレートファイルにシステムキーワード「${#レコード一覧開始#}」と「${#レコード一覧終了#}」があると、「レポート」と判断されます。
レポートの場合、帳票出力テンプレートファイルの1シートだけに出力できます。

帳票出力テンプレートの作成例と出力例

ここでは、帳票出力テンプレートファイルの作成に関する情報をまとめています。


キーワード

キーワードは、フィールドデータや決裁情報の出力先セルを決定するために使用する文字列データです。
帳票出力テンプレートを登録するときに、キーワードとフィールドを関連付けて、データの出力先を指定します。

※一部の決裁情報は関連付けはできません。システムがキーワードに対応する決裁情報を出力します。


UnitBaseは、「${」と「}」で囲まれた文字列をキーワードとして認識します。

[例] ${顧客名}${単価}${登録日}

キーワードには任意の文字列を使用できます。長さは、700文字までです。
通常は、フィールドとの関連をわかりやすくするために、フィールド名と同じ文字列を使用することをお勧めします。
フィールド名と同じ文字列をキーワードに使用すると、帳票出力テンプレートを登録するときの関連付けを簡単にすることができます。

※両端に「#」または「%」を使用するキーワード、および末尾に「^ファイル名」を使用するキーワードは、UnitBaseで予約されているため利用できません。


システムキーワード

帳票の作成日時を書き込んだり、明細の出力範囲を指定したりするために、システムキーワードが定義されています。
以下にシステムキーワードの一覧を示します。

システムキーワード説明
${%帳票作成者名%} 帳票作成を実行したユーザー名を出力します。
${%帳票作成日時%} 帳票作成を実行した日時を出力します。
${%レコード作成者名%} レコードを作成したユーザー名を出力します。
${%レコード作成日時%} レコードを作成した日時を出力します。
${%レコード更新者名%} レコードを更新したユーザー名を出力します。
${%レコード更新日時%} レコードを更新した日時を出力します。
${#明細開始#}
${#明細終了#}
${#固定明細行終了#}
${#偶数行背景#}
明細行の出力設定のために使用します。
作成された帳票では、これらのキーワードは消去されます。
${%明細行番号%} 明細行の行番号を出力します。

レポート用には、次のキーワードが用意されています。

システムキーワード説明
${#レコード一覧開始#}
${#レコード一覧終了#}
${#レコード一覧偶数行背景#}
${#明細外フィールド補完#}
レポートの出力設定のために使用します。
作成されたレポートでは、これらのキーワードは消去されます。
${%レコード一覧行番号%} レポート内のレコード一覧の行番号を出力します。
${%レコード一覧件数%} レポート内のレコード件数を出力します。

決裁キーワード


決裁キーワード説明
${%決裁状況%} 現在の決裁の状況[承認・却下・決裁中({ユーザー名})・取消・修正中]を表示します。
${%起案日%} 決裁の起案日を表示します。
${%決裁完了日%} 決裁の完了日を表示します。完了していない場合は空となります。
${%申請:本人%} 決裁の申請者名を表示します。
${%申請:代理%} 決裁の代理申請者名を表示します。本人が申請した場合は空となります。
${%申請:コメント%} 決裁の申請者のコメントを表示します。コメントがない場合は空となります。
${%決裁:本人[i]%} -20 ≦ i ≦ -1 または 1 ≦ i ≦ 20 です。
対応する決裁者名を表示します。対応しない場合は空となります。
※複数人決裁の場合は複数人決裁名が出力されます。複数人決裁メンバーの出力はできません。
${%決裁:代理[i]%} -20 ≦ i ≦ -1 または 1 ≦ i ≦ 20 です。
対応する決裁代理者名を表示します。対応しない場合は空となります。
※複数人決裁の場合は何も出力されません。複数人決裁メンバーの代理者の出力はできません。
${%決裁:状況[i]%} -20 ≦ i ≦ -1 または 1 ≦ i ≦ 20 です。
対応する決裁状況を表示します。対応しない場合は空となります。
${%決裁:日時[i]%} -20 ≦ i ≦ -1 または 1 ≦ i ≦ 20 です。
対応する決裁日時を表示します。対応しない場合は空となります。
${%決裁:コメント[i]%} -20 ≦ i ≦ -1 または 1 ≦ i ≦ 20 です。
対応する決裁コメントを表示します。対応しない場合は空となります。
※複数人決裁の承認時のコメントは出力されません。

フィールドの値の結合

1つのセルに文字列とキーワードを記述すると、帳票にはその文字列とフィールドの値が結合されて出力されます。複数のキーワードを記述すると、キーワードに関連付けられたそれぞれのフィールドの値が結合されて出力されます。システムキーワードを記述した場合は、そのキーワードで表される値が出力されます。
文字列以外のフィールドの値は、固定の書式で文字列に変換されたあとで結合されます。

[例]${姓} ${名} (${年齢})」と記述した場合
帳票には「佐藤 一郎 (35)」「鈴木 花子 (28)」のように出力されます。

※フォント設定は、セルに対して指定されたものが利用されます。文字単位で指定されたフォント設定は無視されます。


[キーワード一覧]ダイアログボックスの利用

[キーワード一覧]ダイアログボックスには、編集中のデータベースのフィールド名をキーワード化した文字列や、システムキーワードなどが一覧に表示されます。
表示されたキーワード文字列をコピーし、帳票出力テンプレートファイルで出力先としたいセルに貼り付けると、キーワードの入力ミスを防ぐことができ、効率よく帳票出力テンプレートを作成できます。

[キーワード一覧]ダイアログボックスは、データベース編集画面で、コマンドバーの 帳票出力テンプレートの登録や管理 をクリックし、表示されるメニューで[キーワード一覧]を選択すると表示されます。


[i]で表現した決裁キーワードは、以下が表示されます。

i が -3 以下、または 3 以上のキーワードが必要な場合は、上記キーワードを利用して、Excelのオートフィル機能を使用してキーワードを作成すると、書式の誤りを減らすことができます。

フィールドとセルのデータ型の対応

帳票を出力するときの、UnitBaseのフィールドとExcelのセルのデータ型の対応、およびフィールドを合成するときに文字列化する書式は、次のとおりです。

UnitBase
フィールドのデータ型
Excel
セルのデータ型
フィールド合成時の文字列化書式
文字列(1行)、文字列(複数行)、
ドロップダウン(文字列)、
選択リスト(文字列、数値)*1
自動採番、ユーザー
画像*2、ファイル*2
文字列 文字列
数値、ドロップダウン(数値)、
チェックボックス*3、時間量*4
数値計算、日時計算(結果 : 時間量)*4
年齢計算
数値 整数 : 整数表記
小数 : 桁指定による小数表記
日付時刻、日時計算(結果 : 日時)*5 日時 日時 : YYYY/MM/DD hh:mm(和暦の場合:元号YY年MM月DD日 hh時mm分ss秒*6
日付 : YYYY/MM/DD(和暦の場合:元号YY年MM月DD日
時刻 : hh:mm
URL、メール ハイパーリンク URL
画像*7 画像

*1 選択リストで複数の値が指定されている場合、「改行区切りの文字列」として値が出力されます。

*2 [帳票出力テンプレートの設定]ダイアログボックスで、キーワードとのマッピングで「画像フィールド名^ファイル名」または「ファイルフィールド名^ファイル名」を選択すると、登録した画像またはファイルのファイル名が出力されます。

*3 TRUE:1/FALSE:-1。
セルの書式設定を利用できます。
また、UnitBaseの設定でこの値を変更できます(管理者ガイド:8.20.帳票・レポート出力におけるチェックボックスの出力値の変更)。
UnitBaseの管理者に確認してください。

*4 最小単位で表現。

*5 日時形式で出力する場合、出力先のセルの表示形式で日付を設定する必要があります。[帳票出力テンプレートの設定]ダイアログボックスで、キーワードとのマッピングで「日付時刻^和暦」または「日時計算^和暦」を選択すると、和暦で出力されます(セルのデータ型は文字列)。
書式が設定されていない場合は、数値が表示されます。

*6 秒はフィールドの表示形式に秒が含まれるときに追加されます。

*7 [帳票出力テンプレートの設定]ダイアログボックスで、キーワードとのマッピングで[画像フィールド名^サムネイル<出力する画像のピクセル数>]を指定すると、指定したピクセル数にファイルサイズを縮小して出力されるので、大きなサイズの画像データを多数出力する場合にファイルサイズが大きくなる問題を軽減できます。

システムキーワード・決裁キーワードとセルのデータ型の対応


キーワード Excel
セルのデータ型
フィールド合成時の文字列化書式
${%帳票作成者名%} 文字列 文字列
${%レコード作成者名%}
${%レコード更新者名%}
${%決裁状況%}
${%申請:本人%}
${%申請:代理%}
${%申請:コメント%}
${%決裁:本人[i]%}
${%決裁:代理[i]%}
${%決裁:状況[i]%}
${%決裁:コメント[i]%}
${%帳票作成日時%} 日時 YYYY/MM/DD hh:mm
${%レコード作成日時%}
${%レコード更新日時%}
${%起案日%}
${%決裁完了日%}
${%決裁:日時[i]%}
${%明細行番号%} 数値 整数表記
${%レコード一覧行番号%}
${%レコード一覧件数%}

セルの書式設定

キーワードを記入したセルに書式を設定すると、帳票にレコードの値を出力するときに、その書式設定が有効になります。
書式を設定するときは、データ型に合ったものにする必要があります。

[例]

フィールドの値 2012/12/03
セルの書式 ユーザー定義「ggge"年"m"月"d"日"
Excel帳票での書式 平成24年12月3日

明細行の出力

明細フィールドを帳票に出力するには、帳票出力テンプレートファイルに明細行テンプレート範囲を作成します。
明細行テンプレート範囲は、明細の1行分の出力定義を記述した範囲です。複数の行で構成することができます。帳票出力時に明細行テンプレート範囲があると、UnitBaseはその範囲を明細フィールドの行数だけコピーした上で、明細内のフィールドのデータを出力します。
明細行テンプレート範囲は、帳票出力テンプレートファイルの各シートに1つずつ作成できます。


明細行テンプレート範囲の定義

明細行テンプレートは、システムキーワード「${#明細開始#}」と「${#明細終了#}」の間の、長方形の範囲内に記述します。
範囲内の罫線や背景色、文字色といったセル書式や、セル結合、計算式は、出力される明細行に反映されます。計算式中のセル座標は、明細行の座標にあわせて修正されます。

明細行テンプレート範囲の書式

[例] 明細行テンプレート範囲の定義例と出力例


明細行の出力形式

明細行は、システムキーワード「${#明細開始#}」が記述された行から出力されます。明細行の出力形式には、動的明細行出力と固定明細行出力があります。

動的明細行出力
レコードに存在する明細行の数だけ、明細行テンプレート範囲が挿入されます。システムキーワード「${#明細終了#}」より下にある行は、挿入された明細行の分だけ下へ移動します。
明細行が0行の場合は、何も出力されません。

[例]

動的明細行出力の例

  • 動的明細行出力の場合は、「${#明細開始#}」から「${#明細終了#}」までの行が動的に増減します。そのため、この範囲の左右にあるセルには、値や文字列、キーワードを記入しないでください。

    動的明細行出力で記入できないセル

  • ${#明細開始#}」/「${#明細終了#}」が記述された行は一度削除されるため、これらの行を直接参照する数式を含んだ帳票出力テンプレートの数式結果は保証されません。

    ※OFFSET関数などを用いて、明細行テンプレート範囲外セルからの相対参照として指定することで、対応できる場合があります。

固定明細行出力
システムキーワード「${#固定明細行終了#}」を使用して明細を出力する範囲を定義します。
${#明細開始#}」から「${#固定明細行終了#}」までの間に明細を出力します。

※テンプレート種類が「帳票」の場合は、「${#明細開始#}」から「${#固定明細行終了#}」までの間に1行は必要です。

明細の行数が、明細行出力に用意されている行数よりも多い場合は、「${#固定明細行終了#}」以降に行を挿入して明細行を出力します。
少ない場合は、残りの領域に明細行テンプレート範囲に設定された背景色や罫線、塗りつぶしパターンがコピーされます。明細行テンプレート範囲内の文字列や計算式はコピーされません。

[例]

固定明細行出力の例

※固定明細範囲の行数が明細テンプレート範囲の行数で割りきれない場合、余りの行にはコピーされません。

固定明細行範囲の行数が割りきれない場合の例1

固定明細行範囲の行数が割りきれない場合の例2

  • 固定明細行出力の場合は、明細テンプレート範囲の左右にあるセルに値や文字列、キーワードを記入できます。

    [例]

    固定明細行出力ので明細テンプレート範囲の左右にあるセルに記入した例


明細行の罫線と背景

画像の出力

キーワードと画像フィールドとを対応付けると、レコードの画像を帳票に出力することができます。
明細行に存在する画像も出力できます。
画像は、縦横比を維持しながら、キーワードのセルの大きさいっぱいに貼り付けられます。

※実際のサイズを超えては拡大されません。

決裁情報の出力

決裁情報を帳票に出力するには、帳票出力テンプレートファイルに決裁キーワードを指定します。

決裁履歴のキーワードには、次の種類があります。


インデックス値 i は、[ -20 ≦ i ≦ -1] または [1 ≦ i ≦ 20 ]とします。

決裁履歴は、現在有効な履歴だけを出力します。差し戻しや引き戻しで無効になった履歴は出力しません。
また、決裁履歴のキーワードは、フィールドとマッピングすることはできません。


決裁情報からの帳票出力例

次のような、決裁状況が「承認」の決裁情報から、帳票を出力します。


次のようなテンプレートを用意して出力することもできます。

リレーションパネルの帳票出力

データベースにリレーションパネルが配置されている場合は、帳票にリレーションパネルの内容を出力することができます。
リレーションパネルを帳票に出力する場合は、帳票出力テンプレートファイルにリレーションパネル領域を作成します。


リレーションパネルの帳票出力用キーワード記述形式

リレーションパネルの帳票出力用キーワードは、「${領域名##キーワード}と、通常のキーワードに領域名を付加したものを利用します。

[例] リレーションパネルの帳票出力キーワード記述例と出力例


リレーションパネルの帳票出力領域

リレーションパネルの帳票出力領域は、リレーションパネル領域として扱われるキーワードを囲む長方形の範囲内となります。
UnitBaseは、この範囲を1行目のリレーションパネルのレコードととらえ、2行目以降のリレーションパネルのレコードはその下に空行が入ることなく出力されます。

リレーションパネルの帳票出力領域


リレーションパネル領域として扱われるキーワード

以下にリレーションパネル領域として扱われるキーワードを示します。

リレーションパネル領域として扱われるキーワード
キーワード説明
${領域名##キーワード} リレーションパネル内の各フィールドを出力するようマッピングされたキーワードです。
${領域名##キーワード^ファイル名} リレーションパネル内のファイルを出力するようマッピングされたキーワードです。
${領域名##キーワード^サムネイル<出力するピクセルサイズ>} リレーションパネル内のサムネイルを出力するようマッピングされたキーワードです。
${%領域名##レコード作成者名%} リレーションパネル内のレコードを作成したユーザー名を出力します。
${%領域名##レコード作成日時%} リレーションパネル内のレコードを作成した日時を出力します。
${%領域名##レコード更新者名%} リレーションパネル内のレコードを更新したユーザー名を出力します。
${%領域名##レコード更新日時%} リレーションパネル内のレコードを更新した日時を出力します。
${%領域名##行番号%} リレーションパネル内のレコードの行番号を出力します。
${%領域名##決裁状況%} 現在の決裁の状況[承認・却下・決裁中({ユーザー名})・取消・修正中]を表示します。
${%領域名##起案日%} 決裁の起案日を表示します。
${%領域名##決裁完了日%} 決裁の完了日を表示します。完了していない場合は空となります。
${%領域名##申請:本人%} 決裁の申請者名を表示します。
${%領域名##申請:代理%} 決裁の代理申請者名を表示します。本人が申請した場合は空となります。
${%領域名##申請:コメント%} 決裁の申請者のコメントを表示します。コメントがない場合は空となります。
${%領域名##決裁:本人[i]%} -20 ≦ i ≦ -1 または 1 ≦ i ≦ 20 です。
対応する決裁代理者名を表示します。対応しない場合は空となります。
${%領域名##決裁:代理[i]%} -20 ≦ i ≦ -1 または 1 ≦ i ≦ 20 です。
対応する決裁状況を表示します。対応しない場合は空となります。
${%領域名##決裁:状況[i]%} -20 ≦ i ≦ -1 または 1 ≦ i ≦ 20 です。
対応する決裁状況を表示します。対応しない場合は空となります。
${%領域名##決裁:日時[i]%} -20 ≦ i ≦ -1 または 1 ≦ i ≦ 20 です。
対応する決裁日時を表示します。対応しない場合は空となります。
${%領域名##決裁:コメント[i]%} -20 ≦ i ≦ -1 または 1 ≦ i ≦ 20 です。
対応する決裁コメントを表示します。対応しない場合は空となります。
${#領域名##領域#} フィールドに対してはマッピングされず、出力時はキーワードは表示されません。
リレーションパネル領域を明示的に拡張する場合に指定します。
その他キーワード
以下のキーワードも指定できます。これらのキーワードは、リレーションパネル領域の範囲には影響しません。
キーワード説明
${%領域名##件数%} リレーションパネルに出力したレコード数を出力します。
他のリレーションパネル領域や保護領域、動的明細/固定明細の領域内に指定することもできます。
${#領域名##行数制限<制限値>#}*1 リレーションパネルの出力レコード行数の上限を指定します。
このキーワードを指定しない場合の出力レコード行数の上限は 20行です。リレーションパネルを出力する場合は1~100行まで指定できます。リレーションパネル領域に明細をマッピングして出力する場合(後述)は1行以上を上限なしで指定できます。
${#領域名##偶数行背景#}*1 このセルにリレーションパネルの偶数行背景スタイルを指定します。
${#保護領域1#}
${#保護領域5#}*1
帳票出力時に保護する領域を指定します。

*2 帳票出力時にキーワードは表示されません。


保護領域について

リレーションパネルの出力時は、リレーションパネルの出力するレコードの数だけリレーションパネル領域を下部に複製していくため、下部のセル内容は上書きされます。

※各フィールド値の出力結果や、動的明細/固定明細の出力結果についても、リレーションパネルがそれらの上部に配置されている場合は、リレーションパネルの出力によって上書きされます。

※リレーションパネルの出力がもう1つのリレーションパネルに達した場合については、もう1つのリレーションパネルは下部に移動して出力されます。

[例1] 上書きされるデータ

商品Aの出力行数が増えると、商品Bの見出しやヘッダーが商品Aの出力行に上書きされます。

保護領域の設定1

リレーションパネルの下部に上書きされたくないデータを配置する場合は、${#保護領域1#}を指定します。 リレーションパネルの出力が保護領域に達した場合は、保護領域の内容が下部に移動して出力されます。

※保護領域下部のセル内容は上書きされます。

[例2] 商品のBの見出しとヘッダーを保護領域に指定した場合

商品Bの見出しとヘッダーを、${#保護領域1#}で囲んで保護領域に指定すると、商品Bの見出しやヘッダーは商品Aの出力行に上書きされずに出力されます。

保護領域の設定2


Excel の名前定義機能を用いて、リレーションパネル領域や保護領域を指定/拡張する

Excel の名前定義機能にUnitBase.領域.領域名という名前でシートに定義しておくことで、リレーションパネルを明示的に拡張できます。またUnitBase.保護領域1UnitBase.保護領域5という名前でシートに定義しておくことで、保護領域の指定もできます。 リレーションパネルの端に数式を配置したい場合など、領域拡張が必要でセルに${#領域名#領域#}${#保護領域1#}などを記述できない場合に利用します。

※名前定義の参照範囲は単一の長方形となるように指定してください。

保護領域の設定2


リレーションパネルのマッピング

リレーションパネルの帳票出力では、以下のマッピングを行います。

[帳票出力テンプレートの設定]ダイアログで、帳票出力テンプレートに指定された領域名ごとにマッピングするリレーションパネルを選択し、その後各キーワードとフィールドをマッピングします。

※帳票出力テンプレート登録時は、領域名と一致するリレーションパネルがデータベースにある場合 あらかじめマッピングされた状態で表示されます。

※フィールドとキーワードについても、マッピングされたリレーションパネルにあるフィールドがキーワードと一致する場合は、 あらかじめマッピングされた状態で表示されます。


リレーションパネル領域に明細をマッピングする

データベースに明細がある場合、リレーションパネル領域 にリレーションパネルをマッピングする代わりに 明細をマッピングすることができます。


リレーションパネル形式での明細出力

リレーションパネルの参照元データベースの明細を帳票に出力するときは、リレーションパネルのキーワード記述形式を使用します。

記述形式
リレーションパネルの記述形式では、キーワードを「${明細名##フィールド名}」の形式で記述します。
  • 記述例
    リレーションパネル形式の明細キーワード記述例
  • 出力例
    リレーションパネル形式の明細出力例
  • リレーションパネル形式のキーワード自動マッピング
    リレーションパネル形式のキーワードとフィールドは、明細名が一致した場合に自動マッピングされます。
  • リレーションパネル形式の明細の領域指定
    リレーションパネル形式では、明細の領域は、対象となる明細のフィールドをすべて囲む長方形の範囲内となります。明細の領域は、キーワード${#明細名##領域#}で範囲を囲むことで拡張できます。領域の拡張に名前定義「UnitBase.明細名」も併用できます。

数式によるリレーションパネル領域・保護領域間の数式によるセル参照について

リレーションパネル領域・保護領域間の数式によるセル参照は、下記のルールで補正されます。

保護領域への参照

※補正対象となるのは、セルに指定された数式だけとなります。

※リレーションパネル領域・保護領域内セル → リレーションパネル・保護領域外のセルの出力結果の参照先は不定になるため、推奨されません。

レポートによるレコード一覧の出力

レポートを出力するには、帳票出力テンプレートファイルにレコード一覧テンプレート範囲を作成します。
レコード一覧テンプレート範囲は、レコード一覧の1行分の出力定義を記述した範囲です。複数の行で構成することができます。レポート出力時にレコード一覧テンプレート範囲があると、UnitBaseはその範囲をレコードの行数だけコピーした上で、レコード一覧のフィールドのデータを出力します。


レコード一覧テンプレート範囲の定義

レコード一覧テンプレートは、システムキーワード「${#レコード一覧開始#}」と「${#レコード一覧終了#}」の間の、長方形の範囲内に記述します。
範囲内の罫線や背景色、文字色といったセル書式や、セル結合、計算式は、出力されるレコード一覧行に反映されます。計算式中のセル座標は、レコード一覧行の座標にあわせて修正されます。

レコード一覧テンプレート範囲の書式

[例] レコード一覧テンプレート範囲の定義例と出力例


レコード一覧の出力形式

レコード一覧は、システムキーワード「${#レコード一覧開始#}」が記述された行から出力されます。出力時には、レコードの数だけレコード一覧テンプレート範囲が挿入されます。システムキーワード「${#レコード一覧終了#}」より下にある行は、挿入されたレコードの分だけ下へ移動します。
レコード一覧が0行の場合は、何も出力されません。

[例]

レコード一覧の出力例


レコード一覧の罫線と背景


レコード一覧テンプレート範囲外のキーワード

レコード一覧テンプレート範囲の外に記述したキーワードには、レコード一覧の1行目の値が出力されます。

[例] 下図の帳票出力テンプレートの場合

${訪問日}」と「${担当者}」がレコード一覧テンプレート範囲の外にあります。これらにはレコード一覧の1行目の値が出力されます。
${担当者}」がレコード一覧テンプレート範囲に記述されていなくても、データベースのフィールドに存在していれば値が出力されます。

レコード一覧テンプレート範囲外にあるキーワード


レコード一覧内の明細行出力

明細フィールドをレコード一覧に出力するには、レコード一覧テンプレート範囲に明細行テンプレート範囲が重なるように作成します。
レコード一覧に明細行を出力する場合は、帳票出力のときの「${#明細開始#}」と「${#固定明細行終了#}」の定義に、以下の制約が追加されます。

${#明細開始#}
システムキーワード「${#レコード一覧開始#}」と「${#レコード一覧終了#}」のセルを対角線の両端とする長方形の範囲内に、「${#明細開始#}」を配置する必要があります。

レコード一覧テンプレート範囲内に明細開始を配置できる範囲

${#固定明細行終了#}
テンプレート種類が「帳票」の場合と異なり、システムキーワード「${#明細開始#}」と「${#固定明細行終了#}」を同じ行に配置できます。

レコード一覧内の明細行出力では、帳票出力と同様に、「${#明細開始#}」が記述された行から明細が出力されます。出力形式には、動的明細行出力と、固定明細行出力があります。

レコード一覧内の動的明細行出力
レコード一覧テンプレート範囲に、明細行を動的に挿入します。動的明細行の定義により明細行の数だけ明細行テンプレート範囲が動的に増減するため、明細の左右にあるレコード一覧テンプレート範囲に影響が及びます。
明細行が0行の場合は、明細の左右に配置したフィールドも出力されません。明細行が0行のときも明細の左右に配置したフィールドを出力したい場合は、固定明細行出力を利用します。

レコード一覧テンプレート範囲内の動的明細行出力例

レコード一覧内の固定明細行出力
帳票の固定明細と同様に、「${#明細開始#}」から「${#固定明細行終了#}」までの間に最低限明細を出力する範囲を確保します。

※固定明細行出力用に確保する行数は、1件の明細の行数、つまり${#明細開始}${#明細終了#}で囲まれた領域の行数以上である必要があります。

固定明細行の行数設定

[例]

出力例のように、明細の行数が少なくても、固定明細行の範囲は確保されます。

レコード一覧テンプレート範囲内の固定明細行出力例

[例] 固定明細行に範囲が1行の帳票出力テンプレートの例

出力例の最後の行のように、明細の行数が0行でも出力されます。

レコード一覧テンプレート範囲内の固定明細行出力例:固定範囲1行


明細外フィールド補完

システムキーワード「${#明細外フィールド補完#}」を利用すると、明細2行目以降の明細外のセル部分に明細1行目のセルを複製することができます。「${#明細外フィールド補完#}」を利用する場合、各システムキーワードの配置条件に加えて、以下の条件をすべて満たす必要があります。

  1. システムキーワード「${#レコード一覧開始#}」・「${#明細開始#}」・「${#明細外フィールド補完#}」・「${#固定明細行終了#}」がすべて同じ行に存在すること

    ※「${#固定明細行終了#}」は必ずしも必要ではありません。ただし、存在しない場合は明細データがないレコードが出力されません。

  2. レコード一覧テンプレート範囲と明細テンプレート範囲の各フィールドキーワードが同じ行に存在すること
  3. システムキーワード「${#レコード一覧終了#}」と「${#明細終了#}」が同じ行に存在すること
  4. 上記 1.、2.、3.の行は、この順に並んで3行で記述すること
    順に並んで3行で記述されていない場合は、出力結果は保証されません。

明細1行目の明細外セルで、計算式などにセル座標が利用されている場合は、行の複製に合わせて補正されます。

[利用例]

明細外フィールド補完の使用例

補足・制限事項

補足

制限事項