プレースホルダ
最終更新日: 2023年2月15日
R8 | R9
テンプレートファイル内に「プレースホルダ」を用意することができます。その項目に、実際のデータが格納されます。
プレースホルダの書式は次のとおりです。
プレースホルダの書式
${モデル名_p.英語項目名}
プレースホルダの具体例
ここでは「顧客(customer)」というモデルの「氏名(customername)」という項目を例にとります。
プレースホルダ表記は、まずモデル名の末尾に「_p」を付加します。これに「.」を付与し、英語の項目名をその後につけます。最後に、この文字列の先頭に”${”を、末尾に”}”を付加します。
この例では「${customer_p.customername}」となります。 テンプレートファイル中にこの表記を埋め込んだ部分が、データベースに含まれる顧客氏名データに置き換わります。
プレースホルダのルール
プレースホルダに関するいくつかのルールについて説明します。
(1) プレースホルダ名は半角英数字で入力する。
全角文字でプレースホルダを指定しても正しく置換されません。
(2) 該当するデータが存在しない場合は「空白」文字に置換される。
プレースホルダに該当する項目の値がデータに格納されていない場合、プレースホルダは空白文字に置換されます。
(3) 権限設定を行った項目は、帳票でも(同設定が)有効となる。
項目毎に権限設定を行った場合、帳票でも有効となります。例えばある項目に隠し権限を設定した場合、帳票でも出力されません。(プレースホルダは空白文字に置換されます。)
(4) 一つの項目についてのプレースホルダを複数、異なる場所に記述することもできる。
例えば ${customer_p.customername} というプレースホルダを複数個記述した場合、すべてのプレースホルダが置換されます。
(5) プレースホルダは(Excelファイルの)1 シート目のみに適用される。
プレースホルダが適用されるのは 1 シート目のみです。2 シート目以降はプレースホルダが適用されません。 このルールを使って、複雑なレイアウトを作成することもできます。
(6) プレースホルダとそれ以外の文字は混在できる。
プレースホルダとそれ以外の通常の文字を混在させることができます。プレースホルダのみが置換され、他の文字列はそのまま維持されます。例: 「顧客名は${customer_p.customername}です。」
表記一覧(詳細表示)
詳細表示用モデル (末尾が "_p" で終わるもの)について、各データ型やデータの種類におけるプレースホルダの表記方法を示します。
文字列型/数値型/日付型
モデル中の項目の値が転記されます。
表記 | ${モデル名_p.項目名} |
---|---|
例 | ${customer_p.name} |
数値型(出力フォーマット)
数値型項目は標準で、出力フォーマットは適用されません。 指定した出力フォーマットを適用した値を出力したい場合、接頭語 fmt: を付与します。
表記 | ${fmt:モデル名_p.項目名} |
---|---|
例 | ${fmt:sale_p.uriage} |
ワンポイント
fmt: 付与した場合、あわせてExcel帳票テンプレートの当該セルの「セルの書式設定...>数値」を指定してください。
日付型(シリアル値)
日付型項目は標準で、出力フォーマットが適用されます。 この出力フォーマットを無効にし、モデル中の項目の値をExcel のシリアル値として出力するオプションを用意しています。接頭語 e: を付与します。
表記 | ${e:モデル名_p.項目名} |
---|---|
例 | ${e:customer_p.date} |
ワンポイント
シリアル値を使うと、Excel帳票のテンプレートファイルで、(Excelが提供する)任意の日付書式を設定できます。Excel帳票テンプレートの当該セルの「セルの書式設定...>日付」を指定してください。
モデル参照
参照先モデルの「内容部」が転記されます。
表記 | ${モデル名_p.項目名} |
---|---|
例 | ${customer_p.ctype} |
モデル参照(ID部)
項目名の後ろに "#id" を付与すると、参照先モデルの「ID部」が転記されます。(一覧表示には未対応です。)
表記 | ${モデル名_p.項目名#id} |
---|---|
例 | ${customer_p.ctype#id} |
繰り返し項目
添字に対応した繰り返し項目の値が転記されます。添字は「0」から開始されます。
表記 | ${モデル名_p.項目名.添字} |
---|---|
例 | ${customer_p.email.0} |
繰り返しコンテナ(固定長)
添字に対応したコンテナの項目の値が転記されます。添字は「0」から開始されます。詳細は"繰り返し項目の固定長指定"をお読みください。
表記 | ${モデル名_p.コンテナ名.添字.項目名} |
---|---|
例 | ${customer_p.report.0.rid} |
繰り返しコンテナ(可変長)
出力する数に応じて帳票イメージが伸縮します。詳細は"繰り返し項目の可変長指定"をお読みください。
表記 | ${モデル名_p.コンテナ名.#.項目名} |
---|---|
例 | ${customer_p.report.#.rid} |
参照先モデルのデータ値
参照先モデルのデータ値が転記されます。 直接項目を参照していない項目についても、次の方法で参照先モデルの任意の項目のデータを転記することができます。
表記 | ${自モデル名_p.項目名.参照先モデル名_p.参照する項目名} |
---|---|
例 | ${management_p.name.customer_p.companyname} |
参照先モデルが外部キー連携している場合の子モデルのデータ値
参照先モデルが外部キー連携している場合の子モデルのデータ値が転記されます。
表記 | ${自モデル名_p.項目名.参照先モデル名_p->参照先モデルの子モデル名.添字.参照先モデルの子モデル名_p.参照する項目名} |
---|---|
例 | ${management_p.name.customer_p->support.0.support_p.supportdate} |
外部キー連携している場合の子モデルの繰り返しコンテナのデータ値
外部キー連携している場合の子モデル内の繰り返しコンテナのデータ値が転記されます。
表記 | ${自モデル名_p->参照先モデルの子モデル名.添字.参照先モデルの子モデル名_p.コンテナ名.添字.項目名} |
---|---|
例 | ${customer_p->support.0.support_p.report.0.supportdate} |
参照先モデルが外部キー連携している場合の子モデルの繰り返しコンテナのデータ値
参照先モデルが外部キー連携している場合の子モデル内の繰り返しコンテナのデータ値が転記されます。
表記 | ${自モデル名_p.項目名.参照先モデル名_p->参照先モデルの子モデル名.添字.参照先モデルの子モデル名_p.コンテナ名.添字.項目名} |
---|---|
例 | ${management_p.name.customer_p->support.0.support_p.report.0.supportdate} |
画像(ファイル型)
ファイル型項目は次のように扱うことができます。
ファイル名
表記 | ${モデル名_p.項目名} |
---|---|
例 | ${customer_p.photo}
${customer_p.report.0.photo} 繰り返しコンテナ(固定長) ${customer_p.report.#.photo} 繰り返しコンテナ(可変長) |
ファイルのパス
upload_dirフォルダからの相対パスとなります。
表記 | ${モデル名_p.項目名_jshfilename} |
---|---|
例 | ${customer_p.photo_jshfilename}
${customer_p.report.0.photo_jshfilename} 繰り返しコンテナ(固定長) ${customer_p.report.#.photo_jshfilename} 繰り返しコンテナ(可変長) |
画像
セルに画像を埋め込みます。対応しているフォーマットはjpeg,pngです。
表記 | ${モデル名_p.項目名_jshfilename:image} |
---|---|
例 | ${customer_p.photo_jshfilename:image}
${customer_p.report.0.photo_jshfilename:image} 繰り返しコンテナ(固定長) ${customer_p.report.#.photo_jshfilename:image} 繰り返しコンテナ(可変長) |
画像の埋め込み範囲
画像を埋め込むセルの範囲を指定することができます。省略時は col と row がそれぞれ 5 となります。
表記 | ${モデル名_p.項目名_jshfilename:image:col=(縦方向):row=(横方向):sx=(X軸スケール):sy=(Y軸スケール)} |
---|---|
例 | ${customer_p.photo_jshfilename:image:col=1:row=1:sx=1.0:sy=1.0} |
col, row, sx, sy は省略できます。省略時は登録画像のサイズが維持されます。1.0 を指定すると、指定したセルのサイズに収まるように調整されます。0.5 を指定すると、指定したセルの半分に収まるように調整されます。なお、sx, sy を指定するときは必ず両方を指定してください。
プレースホルダ jshfilename:image 表記ではなく、スクリプトで表示範囲を指定することもできます。(スクリプトの設定が優先されます。)
バーコード(文字列型)
使い方は「出力制御(スタイル)>バーコード出力」をお読み下さい。
表記 | ${モデル名_p.項目名_jshBarcode:sx=(X軸スケール):sy=(Y軸スケール)} |
---|---|
例 | ${customer_p.codebar_jshBarcode:sx=1.5:sy=1.0} |
sx, sy は省略できます。sx と sy にそれぞれ 1.0 を指定すると、指定したセルのサイズに収まるように調整されます。0.5 を指定すると、指定したセルの半分に収まるように調整されます。なお、sx, sy を指定するときは必ず両方を指定してください。
表記一覧(一覧表示)
一覧表示用モデル (末尾が "_lp" で終わるもの)について、各データ型やデータの種類におけるプレースホルダの表記方法を示します。
添字は「0」から開始されます。この添字は数字ではなく「#」というワイルドカードを使用します。このプレースホルダのある行を(0から)繰り返し生成します。
文字列型/数値型/日付型
モデル中の項目の値が転記されます。
表記 | ${モデル名_lp.項目名.添字} |
---|---|
例 | ${customer_lp.name.#} |
日付型項目の "e:" 指定、ならびに数字型項目の "fmt:" 指定も利用できます。
画像(ファイル型)
文字列型と同様に、末尾に「#」を指定します。例 ${customer_lp.photo_jshfilename:image.#}
画像の埋め込み範囲
画像を埋め込むセルの範囲を指定することができます。省略時は col と row がそれぞれ 5 となります。
表記 | ${モデル名_lp.項目名_jshfilename:image:col=(縦方向):row=(横方向):sx=(X軸スケール):sy=(Y軸スケール).#} |
---|---|
例 | ${customer_lp.photo_jshfilename:image:col=1:row=1:sx=1.0:sy=1.0.#} |
sx, sy は省略できます。省略時は登録画像のサイズが維持されます。1.0 を指定すると、指定したセルのサイズに収まるように調整されます。0.5 を指定すると、指定したセルの半分に収まるように調整されます。なお、sx, sy を指定するときは必ず両方を指定してください。(sxのみ、またはsyのみの指定は無視されます。)
繰り返し項目
繰り返し項目は「,(コンマ)」区切りで出力されます。
繰り返しコンテナ
繰り返しコンテナ内の項目は出力できません。(JOIN関数などを用いて繰り返しコンテナを「1つの」文字列に整形した出力用項目を内部で用意し、それを帳票で用いることはできます。
検索結果数
一覧表示の場合は検索結果数を、ダウンロードの場合はダウンロード処理を行なったあとでカウントされた行数が転記されます。
表記 | ${resultsize} |
---|---|
例 | (表記に同じ) |
検索条件値
一覧表示している検索条件の値が転記されます。検索条件はモデル名に "_cp" という文字を付与することで参照できます。
表記 | ${モデル名_cp.項目名} |
---|---|
例 |
${customer_cp.ctype} ※1
${customer_cp.refitem} ※2 ${customer_cp.refitem#id} ※3 |
※1は通常の項目です。
※2はモデル参照項目の内容部です。
※3はモデル参照項目のID部です。
検索条件値(繰り返しコンテナ)
検索条件に繰り返しコンテナを含む場合、コンテナ名は除きます。
表記 | ${モデル名_cp.コンテナを除く項目名} |
---|---|
例 |
繰り返しコンテナ cont 内の項目 field が検索条件として用いられており、これを一覧帳票に含める場合。
${customer_cp.field} |
検索条件値(範囲検索項目)
一覧表示している範囲検索条件の値が転記されます。項目名の末尾に "1jshparam", "2jshparam" を付与します。
表記 | 開始値:${モデル名_cp.項目名1jshparam}
終了値:${モデル名_cp.項目名2jshparam} |
---|---|
例 | ${customer_cp.cdate1jshparam} ${customer_cp.cdate2jshparam} |
注意
検索条件値は、検索処理を行ったタイミングで値がセットされます。画面に検索条件を入力しても、検索処理を行わずに一覧表示の出力を行った場合、検索条件のプレースホルダは空となります。
表記一覧(共通)
詳細表示、一覧表示のいずれでも利用できます。
ユーザアカウント
ログオンしているユーザアカウント名が転記されます。
表記 | ${username} |
---|---|
例 | (表記に同じ) |
作成日時
帳票を作成(出力)した日時が転記されます。なお「出力するファイル名」に適用する場合は ${createdatestr} となります。
表記 | ${createdate} |
---|---|
例 | (表記に同じ) |
モデルID
対象モデルのIDが転記されます。
表記 | ${modelid} |
---|---|
例 | (表記に同じ) |
モデル名
対象モデルの名前が転記されます。
表記 | ${modelname} |
---|---|
例 | (表記に同じ) |
制約
- 繰り返しコンテナの場合、出力可能な上限数は65,536行です。
- "自己参照による検索項目を指定する" を設定した項目には未対応です。(プレースホルダとして
${モデルID_cp.項目ID.モデルID_p.項目ID}
が生成されますが、利用することはできません。)