サポート > Wagby定義ファイル > 15 帳票 > プレースホルダ

テンプレートファイルに記述するプレースホルダの書式、ルール、表記例を説明します。(Wagby R6.0.1 より Excel 帳票におけるプレースホルダ指定で、日付型項目の値をシリアル値に変換するオプション指定が用意されました。) R6.0.1

プレースホルダの書式

帳票のテンプレートファイルは Excel を用いて自由に作成できます。 ここで、Excel のセル中に特別な表記である「プレースホルダ」を用意すると、その項目に、実際のデータが格納されます。

プレースホルダの書式は次のとおりです。

${プレゼンテーションモデル名.英語項目名}

Wagbyでは、詳細表示用のモデルを内部で「プレゼンテーションモデル」と呼びます。詳細表示用テンプレートファイルでは、モデル名に「_p」を付記して区別します。同様に、一覧表示用テンプレートファイルでは、モデル名に「_lp」を付記します。

プレースホルダの具体例

ここでは「顧客(customer)」というモデルの「氏名(customername)」という項目を例にとります。

詳細帳票におけるプレースホルダ表記を用意するには、まずモデル名の末尾に「_p」を付加します。これに「.」を付与し、英語の項目名をその後につけます。最後に、この文字列の先頭に”${”を、末尾に”}”を付加します。

すなわち、この例では「${customer_p.customername}」となります。 テンプレートファイル中にこの表記を埋め込んだ部分が、データベースに含まれる顧客氏名データに置き換わります。

プレースホルダのルール

ここでは、プレースホルダに関するいくつかのルールについて説明します。

(1) プレースホルダ名は半角英数字で入力する。
全角文字でプレースホルダを指定しても正しく置換されません。ただし1セル内にプレースホルダとそれ以外の通常の文字を混在させることはできます。このような場合はプレースホルダのみを置換し、他の文字列はそのまま残します。
(2) 該当するデータが存在しない場合は「空白」文字に置換される。
プレースホルダに該当する項目の値がデータに格納されていない場合、プレースホルダは空白文字に置換されます。
(3) 権限設定を行った項目は、帳票でも(同設定が)有効となる。
項目毎に権限設定を行った場合、帳票でも有効となります。例えばある項目に隠し権限を設定した場合、帳票でも出力されません。(プレースホルダは空白文字に置換されます。)
(4) 一つの項目についてのプレースホルダを複数、異なる場所に記述することもできる。
例を示します。${customer_p.customername} というプレースホルダをシート中に「複数」記述した場合、すべてのプレースホルダが置換されます。
(5) プレースホルダは(Excelファイルの)1 シート目のみに適用される。
プレースホルダが適用されるのは 1 シート目のみです。2 シート目以降はプレースホルダが適用されません。 このルールを使って、複雑なレイアウトを作成する方法も用意しています。

表記一覧

各データ型やデータの種類におけるプレースホルダの表記方法を示します。

表記 説明 詳細帳票 一覧帳票
文字列型/数値型/日付型 ${プレゼンテーションモデル名.項目名} プレゼンテーションモデル中の項目の値が転記されます。 ${customer_p.name} -
日付型 ${e:プレゼンテーションモデル名.項目名} プレゼンテーションモデル中の項目の値をExcel のシリアル値として転記します。この表記は Wagby R6.0.1 以降の版で有効です。 ${e:customer_p.date}
マスタモデル参照 ${プレゼンテーションモデル名.項目名} マスタモデルの「内容」が転記されます。 ${customer_p.ctype} -
繰り返し項目 ${プレゼンテーションモデル名.項目名.添字} 添字に対応した繰り返し項目の値が転記されます。添字は「0」から開始されます。 ${customer_p.email.0} -
繰り返しコンテナ ${プレゼンテーションモデル名.コンテナ名.添字.項目名} 添字に対応したコンテナの項目の値が転記されます。添字は「0」から開始されます。 ${customer_p.report.0.rid} -
一覧表示での各項目 ${リストのプレゼンテーションモデル名.項目名.添字} 一覧表示時における項目値の転記を行ないます。添字は「0」から開始されます。Excel帳票における一覧表示用テンプレートでは、この添字は数字ではなく「#」というワイルドカードを使用してください。
例:${customer_lp.name.#}
これにより Wagby 内でこのプレースホルダのある行を(0から)繰り返し生成します。
繰り返し項目の場合は最後の値のみ出力されます。
繰り返しコンテナの値は出力されません。
${customer_lp.name.#} -
ユーザアカウント (例に同じ) ログオンしているユーザアカウント名が転記されます。 ${username}
検索結果数 (例に同じ) 一覧表示アクションの場合は検索結果数が、ダウンロードアクションの場合はダウンロード処理を行なったあとでカウントされた行数が転記されます。その他のアクションでは無効です。 ${resultsize} -
帳票作成日時 (例に同じ) 帳票を作成(出力)した日時が転記されます。 ${createdate}
一覧帳票での検索条件値 ${検索条件(コンディション)のプレゼンテーションモデル名.項目名} 一覧表示している検索条件の値が転記されます。 ${customer_cp.ctype} -
マスタ/ストアモデル参照のコード値 ${プレゼンテーションモデル名.項目名#id} 参照しているマスタモデルまたは、ストアモデルのコード値が転記されます。項目名の後に「#id」をつけます。
※一覧帳票では出力できません。
${customer_p.ctype#id} -