Report Engine リファレンス

目次

概要

Report Engineで作成したVisualforceページは、付属の拡張コントローラとコンポーネントで構成される文書生成エンジン「Report Engine」の機能を用いて文書を出力します。ここでは、Report Engineで用意されているコンポーネント、プロパティや、それを用いたページの構成について説明します。作成したVisualforceページのソースを編集して、Designer機能だけではできないようなカスタマイズを行いたい場合などにご参照ください。

ページの基本構成

ページは主に以下のコンポーネントで構成されます。配置するコンポーネントは希望する表示方法のコンポーネント内に記述します。ここでは一部コンポーネントを省略していますので、詳細な構成と記述方法については各コンポーネントの説明をご覧ください。

テーブルなしの場合
apex:page
└ OPROARTS020:verticalReport 出力対象者毎に繰り返すコンポーネントを記述
縦テーブルを用いる場合
apex:page
└ OPROARTS020:verticalReport 出力対象者毎に繰り返すコンポーネントを記述
  └ OPROARTS020:verticalContainer
    ├ OPROARTS020:reportHeader 先頭ページにのみ表示するコンポーネントを記述
    └ OPROARTS020:reportDetail
      ├ OPROARTS020:columnHeader 毎ページ、データバンドの先頭に表示するコンポーネントを記述
      ├ OPROARTS020:dataBand 明細データを繰り返し表示するコンポーネントを記述
      └ OPROARTS020:reportFooter 終端ページにのみ表示するコンポーネントを記述
横テーブルを用いる場合
apex:page
└ OPROARTS020:horizontalReport 出力対象者毎に繰り返すコンポーネントを記述
  └ OPROARTS020:horizontalContainer
    └ OPROARTS020:HTReportDetail
      ├ OPROARTS020:HTReportHeader 先頭ページにのみ表示するコンポーネントを記述
      ├ OPROARTS020:HTColumnHeader 毎ページ、データバンドの先頭に表示するコンポーネントを記述
      ├ OPROARTS020:HTDataBand 明細データを繰り返し表示するコンポーネントを記述
      └ OPROARTS020:HTReportFooter 終端ページにのみ表示するコンポーネントを記述

注意: 複数テーブルの配置、縦テーブルと横テーブルの併用はできません。

ページ制御等を行うコントローラ拡張として、apex:pageコンポーネントのextensions属性にOPROARTS020.MultiContactTemplateControllerクラスを指定します。

<apex:page renderAs="pdf" showHeader="false" sidebar="false"
    standardController="CustomObject1__c" extensions="OPROARTS020.MultiContactTemplateController">

独自に作成したApexクラスにてReport Engineのパラメータを指定する場合、extensions属性内において以下のようにApexクラスの名前を「OPROARTS020.MultiContactTemplateController」の前に指定してください。後に指定すると指定したパラメータがReport Engineに正しく反映されません。

<apex:page renderAs="pdf" showHeader="false" sidebar="false"
    standardController="CustomObject1__c" extensions="MyExtension, OPROARTS020.MultiContactTemplateController">

パラメータ

ページを呼び出す際に指定できるパラメータは以下の通りです。

パラメータ名 概要
id 表示させるオブジェクトデータのIDを指定します。
targetIds 文書を出力する対象者を、取引先責任者、リード、またはユーザのIDで指定します。カンマ(,)区切りで複数指定することができます。指定した対象者全員分(3人指定した場合、3部)の文書が出力されます。指定しない場合でも1部出力されますので、省略しても構いません。
listSize 自作のApexクラスで独自に作成・抽出したデータリストのプロパティをテーブルの明細に指定して表示させる場合に、そのリストのサイズを指定します。サブオブジェクトの項目を指定するような通常の指定方法であれば、指定する必要はありません。本パラメータは自作のApexクラスのコンストラクタで指定することをお奨めします。

コンポーネント

表示

  1. OPROARTS020:image
  2. OPROARTS020:label
  3. OPROARTS020:line
  4. OPROARTS020:pageNumber
  5. OPROARTS020:rectangle

OPROARTS020:image

画像を配置します。画像にリンクを設定することもできます。

属性
属性名 既定値 概要
bottom String 下部の位置を指定します。styleにstatic以外のposition属性を指定する必要があります。
height String 高さを指定します。
href String 画像をクリックしたときのリンク先を指定します。指定しない場合は、画像にリンクは設定されません。
left String 0px 左端部の位置を指定します。styleにstatic以外のposition属性を指定する必要があります。
preserveAspectRatio Boolean false 縦横比を維持して表示させる場合はtrueを、コンポーネントサイズに合わせて縦横比を無視して伸縮させる場合はfalseを指定します。
right String 右端部の位置を指定します。styleにstatic以外のposition属性を指定する必要があります。
src String 表示させる画像のURLを指定します。画像項目(image関数を返す数式項目)を指定する場合、「/artsImageURL/{!オブジェクトAPI名.画像項目API名}」を指定します。
style String CSSのスタイル属性を指定します。
styleClass String CSSのスタイルクラス名を指定します。
top String 5px 上部の位置を指定します。styleにstatic以外のposition属性を指定する必要があります。
width String 幅を指定します。
使用例
1. 静的リソースの画像を表示
<OPROARTS020:image src="/resource/logo"
    left="10px" right="110px" top="10px" bottom="110px"
    width="100px" height="100px" style="position: absolute;" />
2. 外部URLの画像を縦横比を維持して表示
<OPROARTS020:image src="http://www.example.com/image/image1.png" preserveAspectRatio="true"
    left="10px" right="110px" top="10px" bottom="110px"
    width="100px" height="100px" style="position: absolute;" />
3. 画像項目の画像を表示、リンクを設定
<OPROARTS020:image src="/artsImageURL/{!Exp__c.ProductImg__c}" href="http://www.example.com/product/index.html"
    left="10px" right="110px" top="10px" bottom="110px"
    width="100px" height="100px" style="position: absolute;" />

OPROARTS020:label

文字列や項目のデータを表示するラベルを配置します。

属性
属性名 既定値 概要
bottom String 下部の位置を指定します。
condition Boolean false trueを指定した場合にtrueContent、trueStyleClass、trueStyle、trueFormat属性で指定したスタイルや書式を適用します。表示値が負の場合に赤色表示させるときなどに用います。
content Object 表示テキストまたは項目を指定します。type属性がstring、textarea、sfdate、datetime、hyperlinkのときに有効です。
currencyIsoCode String ISO通貨コードを指定します。マルチ通貨が有効な組織では必須となります。組織の通貨とユーザーの通貨が異なる場合、オブジェクトの「CurrencyIsoCode」項目に格納されている通貨コードを指定してください。
display String block 表示形式を指定します。CSSのdisplay属性に対応します。
escape Boolean true 表示内容をエスケープ(タグや特殊記号をそのまま表示させるよう変換)して表示する場合はtrueを指定します。
figure Double 数値型か通貨型の表示させる値または項目を指定します。type属性がnumberまたはsfcurrencyのときに有効です。
format String 表示文字列の書式を指定します。書式文字列はJavaのjava.text.DecimalFormatクラス、または、java.text.SimpleDateFormatクラスの形式と、以下に示すReport Engine独自の形式が使用できます。
書式文字 概要 書式例 表示例
N 日本の年号を表示します。平成から昭和まで対応し、それ以前は西暦、紀元前を表示します。書式文字数によって以下のように表示されます。
年号\文字 N NN NNN NNNN
平成 H 平成
昭和 S 昭和
大正 T 大正
明治 M 明治
西暦 AD 西 西暦
紀元前 BC 紀元前
NNNN生まれ 平成生まれ
j 和暦を表示します。平成から昭和まで対応し、それ以前は西暦、紀元前の年を表示します。書式文字を複数指定することで、数値の桁が書式文字数より少ない場合に上位桁を0で埋めます。 Njjjj H0023
J 和暦を表示します。数値の桁が書式文字数より少ない場合に上位桁を空白で埋めます。書式文字数が1で和暦が1の場合、元年を示す「元」を表示します。それ以外は「j」と同じです。 NNNNjj年 平成 3年
b 曜日を英語で表示します。書式文字数によって以下のように表示されます。
文字 b bb bbb bbbb
表示例 M Mo Mon Monday
(bbb) (Tue)
B 曜日を日本語で表示します。書式文字数によって以下のように表示されます。
文字 B BB BBB BBBB
表示例 月曜 月曜日
(BB) (火)
height String 高さを指定します。
left String 左端部の位置を指定します。
position String relative 配置方法を指定します。CSSのposition属性に対応します。
reParam String Report Engine内部属性です。この属性がある場合、削除や改変しないでください。
right String 右端部の位置を指定します。
showAsLink Boolean false type属性がhyperlinkのとき、表示文字列にリンクを示す下線を表示する場合はtrueを指定します。
style String CSSのスタイル属性を指定します。
styleClass String CSSのスタイルクラス名を指定します。
top String 上部の位置を指定します。
trueContent String condition属性がtrueのときの、表示内容または項目を指定します。
trueFigure String condition属性がtrueのときの、数値型か通貨型の表示させる値または項目を指定します。
trueFormat String condition属性がtrueのときの、表示文字列の書式を指定します。
trueStyle String condition属性がtrueのときの、CSSのスタイル属性を指定します。
trueStyleClass String condition属性がtrueのときの、CSSのスタイルクラス名を指定します。
type String string データ型を以下から指定します。
string 文字列型
textarea テキストエリア型
number 数値型
sfcurrency 通貨型
sfdate 日付型
datetime 日付/時間型
hyperlink ハイパーリンク型(リンクが設定されます)
urlPath String リンク先URLのパスを指定します。指定しない場合、content属性の内容がリンク先URLとなります。type属性がhyperlinkのときに有効です。リンクのURLは、urlPrefix + urlPath + urlSuffixとなります。
urlPrefix String リンク先URLパスの先頭につけるプレフィックスを指定します。type属性がhyperlinkのときに有効です。リンクのURLは、urlPrefix + urlPath + urlSuffixとなります。
urlSuffix String リンク先URLパスの終端につけるサフィックスを指定します。type属性がhyperlinkのときに有効です。リンクのURLは、urlPrefix + urlPath + urlSuffixとなります。
width String 100% 幅を指定します。
使用例
1. 文字列の表示
<OPROARTS020:label type="string" content="<タイトル>" escape="true"
    left="10px" top="10px" width="100px" height="30px" position="absolute" />
2. テキスト型項目の表示
<OPROARTS020:label type="string" content="{!Exp__c.Title__c}"
    left="20px" top="40px" width="300px" height="30px" position="absolute" />
3. パーセント表示
<OPROARTS020:label type="number" figure="{!Exp__c.Process__c}" format="0.#%"
    left="10px" top="10px" width="300px" height="30px" position="absolute" />
4. 通貨型項目から金額の表示(負なら赤字表示、マルチ通貨が有効な組織)
<OPROARTS020:label type="sfcurrency" figure="{!Exp__c.Profit__c}" trueStyle="color: red;"
    condition="{!Exp__c.Profit__c < 0.0}" currencyIsoCode="{!Exp__c.CurrencyIsoCode}"
    left="10px" top="10px" width="300px" height="30px" position="absolute" />
5. 日付の表示
<OPROARTS020:label type="sfdate" content="{!Exp__c.LasyModifiedDate}" format="yyyy年MM月dd日に作成または変更されました。"
    left="10px" top="10px" width="300px" height="30px" position="absolute" />
6. ハイパーリンクを表示
<OPROARTS020:label type="hyperlink" content="ホームページ" showAsLink="true" urlPath="{!Exp__c.HomePageUrl__c}"
    left="10px" top="10px" width="100px" height="30px" position="absolute" />

OPROARTS020:line

平行線または垂直線を配置します。斜線には対応していません。

属性
属性名 既定値 概要
bottom String 下部の位置を指定します。
color String black 線の色を指定します。
left String 左端部の位置を指定します。
position String absolute 配置方法を指定します。CSSのposition属性に対応します。
right String 右端部の位置を指定します。
size String 1px 線の太さを指定します。
style String CSSのスタイル属性を指定します。
top String 上部の位置を指定します。
使用例
1. 実線を配置
<OPROARTS020:line size="1px"
    left="10px" top="10px" right="110px" bottom="10px" position="relative" />
<OPROARTS020:line size="3px"
    left="10px" top="10px" right="10px" bottom="110px" position="relative" />
表示例
2. 点線で表示
<OPROARTS020:line size="1px" style="border-style:dashed;"
    left="10px" top="10px" right="110px" bottom="10px" position="relative" />
表示例

OPROARTS020:pageNumber

各ページにページ番号を表示するためのラベルを配置します。明細データバンド(dataBandまたはHTDataBandコンポーネント内)に記述します。

属性
属性名 既定値 概要
escape Boolean true 表示内容をエスケープ(タグや特殊記号をそのまま表示させるよう変換)して表示する場合はtrueを指定します。
height String 高さを指定します。
left String 左端部の位置を、明細データバンド内での相対位置で指定します。(配置する絶対位置 - 明細データバンドの位置 - 1 = 相対位置)
style String CSSのスタイル属性を指定します。
text String ページ番号として表示する文字列を指定します。ページ番号はpageNumberプロパティ、総ページ数はtotalPagesプロパティを指定します。
top String 上部の位置を、明細データバンド内での相対位置で指定します。(配置する絶対位置 - 明細データバンドの位置 - 1 = 相対位置)
width String 幅を指定します。
xParam OPROARTS020.
TemplateDataBean
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。
使用例
1. ページ番号を(580px, 1000px)に配置したい場合
<OPROARTS020:reportHeader rendered="true" xParam="{!data.templateDataBean}"
    left="40px" top="190px" width="710px" height="230px">
  ~省略~
  <OPROARTS020:columnHeader height="50px" width="708px" rendered="true" xParam="{!data.templateDataBean}">
    ~省略~
  </OPROARTS020:columnHeader>
  <OPROARTS020:dataBand height="40px" autoAdjust="false" xParam="{!data.templateDataBean}" rendered="true">
    <!-- left = 580 - reportHeaderのleft - 1 = 539 -->
    <!-- top = 1000 - reportHeaderのtop - reportHeaderのheight - columnHeaderのheight - 1 = 529 -->
    <OPROARTS020:pageNumber size="1px" text="Page {!pageNumber} / {!totalPages}"
      left="539px" top="529px" width="100px" height="18px" />
    ~省略~
  </OPROARTS020:dataBand>
</OPROARTS020:reportHeader>

OPROARTS020:rectangle

長方形を配置します。

属性
属性名 既定値 概要
color String black 線の色を指定します。
height String 高さを指定します。
left String 左端部の位置を指定します。
position String absolute 配置方法を指定します。CSSのposition属性に対応します。
size String 1px 線の太さを指定します。
style String CSSのスタイル属性を指定します。
top String 上部の位置を指定します。
width String 幅を指定します。
使用例
1. 青色で描画
<OPROARTS020:rectangle color="#00f" size="1px"
    left="10px" top="10px" width="100px" height="30px" position="relative" />
表示例

数式・集計

  1. OPROARTS020:aggregate
  2. OPROARTS020:expression

OPROARTS020:aggregate

明細の繰り返し項目を集計して表示するラベルを配置します。

属性
属性名 既定値 概要
bottom String 下部の位置を指定します。
currencyIsoCode String ISO通貨コードを指定します。マルチ通貨が有効な組織では必須となります。組織の通貨とユーザーの通貨が異なる場合、オブジェクトの「CurrencyIsoCode」項目に格納されている通貨コードを指定してください。
display String block 表示形式を指定します。CSSのdisplay属性に対応します。
format String 表示文字列の書式を指定します。書式文字列はJavaのjava.text.DecimalFormatクラスの形式に同じです。
formula String 数値型か通貨型の集計する項目のAPI名を指定します。四則演算子(+, -, *, /, (, ))を用いて複数項目を演算させることもできます。
function String 集計方法を以下から指定します。
SUM 合計を求めます。
AVG 平均を求めます。
MAX 最大値を求めます。
MIN 最小値を求めます。
COUNT データの個数を求めます。
height String 高さを指定します。
id String expressionコンポーネントで集計結果を使用するための識別子を指定します。
left String 左端部の位置を指定します。
position String absolute 配置方法を指定します。CSSのposition属性に対応します。
right String 右端部の位置を指定します。
style String CSSのスタイル属性を指定します。
styleClass String CSSのスタイルクラス名を指定します。
top String 上部の位置を指定します。
type String number データ型を以下から指定します。
number 数値型
sfcurrency 通貨型
width String 100% 幅を指定します。
使用例
1. 明細のオブジェクトの項目Price__cの合計
<OPROARTS020:aggregate formula="Price__c" type="sfcurrency" function="SUM"
    left="10px" top="10px" width="100px" height="15px" position="relative" />
表示例
¥1,234,567.00
2. 明細のオブジェクトの項目Score1__c~Score3__cの重みづけ点数の最大値
<OPROARTS020:aggregate formula="Score3__c * 3 + Score2__c * 2 + Score1__c" format="#,##0 pt" type="number" function="MAX"
    left="10px" top="10px" width="100px" height="15px" position="relative" />
表示例
12,345 pt

OPROARTS020:expression

項目を四則演算して表示するラベルを配置します。

属性
属性名 既定値 概要
bottom String 下部の位置を指定します。
currencyIsoCode String ISO通貨コードを指定します。マルチ通貨が有効な組織では必須となります。組織の通貨とユーザーの通貨が異なる場合、オブジェクトの「CurrencyIsoCode」項目に格納されている通貨コードを指定してください。
display String block 表示形式を指定します。CSSのdisplay属性に対応します。
format String 表示文字列の書式を指定します。書式文字列はJavaのDecimalFormatクラスの形式に同じです。
formula String 数値、他のexpressionやaggregateコンポーネントのId名、四則演算子(+, -, *, /, (, ))を組み合わせて式を指定します。項目はマージフィールドシンタックス({!オブジェクトAPI名.項目API名})で指定します。左記6種類の演算子以外(べき乗、比較演算等)には対応していません。記述方法は下記使用例をご覧ください。
height String 高さを指定します。
id String 他のexpressionコンポーネントで計算結果を使用するための識別子を指定します。
left String 左端部の位置を指定します。
position String absolute 配置方法を指定します。CSSのposition属性に対応します。
right String 右端部の位置を指定します。
style String CSSのスタイル属性を指定します。
styleClass String CSSのスタイルクラス名を指定します。
top String 上部の位置を指定します。
type String number データ型を以下から指定します。
number 数値型
sfcurrency 通貨型
width String 100% 幅を指定します。
使用例
1. UnitPrice1__c = 100, Quantity1__c = 3, UnitPrice2__c = 300, Quantity2__c = 5, discrateパラメータ = 0.1, TaxRate__c = 0.05の場合
<OPROARTS020:expression id="amt" type="sfcurrency"
    formula="{!Exp__c.UnitPrice1__c} * {!Exp__c.Quantity1__c} + {!Exp__c.UnitPrice2__c} * {!Exp__c.Quantity2__c}"
    left="10px" top="10px" width="100px" height="10px" position="relative" />
<OPROARTS020:expression id="discr" type="number"
    formula="{!$Currentpage.Parameters.discrate} * 100" format="0.# percent"
    left="10px" top="20px" width="100px" height="10px" position="relative" />
<OPROARTS020:expression id="" type="sfcurrency"
    formula="amt * (1 - discr / 100.0) * (1 + {!Exp__c.TaxRate__c})"
    left="10px" top="30px" width="100px" height="10px" position="relative" />
表示例
¥1,800
10 persent
¥1,701

設定

  1. OPROARTS020:font
  2. OPROARTS020:settings

OPROARTS020:font

既定のフォントを指定します。styleタグ内に記述します。

属性
属性名 既定値 概要
fontFamily String Times New Roman フォント名を指定します。指定するフォントはSalesforceが対応しているものである必要があります。
fontSize String 12px フォントサイズを指定します。
fontStyle String normal 斜体などのフォントスタイルを指定します。CSSのfont-style属性に対応します。
fontWeight String normal フォントの太さを指定します。CSSのfont-wieght属性に対応します。
style String CSSのスタイル属性を指定します。
textColor String black フォントの色を指定します。
使用例
1. Arial Unicode MS, 12pxを指定
<apex:page renderAs="pdf" showHeader="false" sidebar="false"
    standardController="Exp__c" extensions="OPROARTS020.MultiContactTemplateController">
  <head>
    <style type="text/css">
      <OPROARTS020:font fontFamily="Arial Unicode MS" fontSize="12px" />
    </style>
  </head>
  ~省略~
</apex:page>

OPROARTS020:settings

出力用紙の形式を指定します。styleタグ内に記述します。

属性
属性名 既定値 概要
orientation String portrait 出力用紙の向きを指定します。縦向きの場合「portrait」を、横向きの場合「landscape」を指定します。
paperSize String A4 出力用紙のサイズを以下の規格名、または「XXmm YYmm」(ミリ単位)、「XXin YYin」(インチ単位)の形式で指定します。
A3 297mm 420mm
A4 210mm 297mm
A5 148mm 210mm
B4 250mm 353mm
B5 176mm 250mm
Ledger 279.4mm 431.8mm
Legal 215.9mm 355.6mm
Letter 215.9mm 279.4mm
xParam OPROARTS020.
MultiContactTemplateController
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。
使用例
1. 用紙サイズを規格名で指定
<apex:page renderAs="pdf" showHeader="false" sidebar="false"
    standardController="Exp__c" extensions="OPROARTS020.MultiContactTemplateController">
  <head>
    <style type="text/css">
      <OPROARTS020:settings xParam="{!mainParams}" paperSize="A4" orientation="Portrait" />
    </style>
  </head>
  ~省略~
</apex:page>
2. 用紙サイズを数値で指定
<apex:page renderAs="pdf" showHeader="false" sidebar="false"
    standardController="Exp__c" extensions="OPROARTS020.MultiContactTemplateController">
  <head>
    <style type="text/css">
      <OPROARTS020:settings xParam="{!mainParams}" paperSize="210mm 297mm" orientation="Portrait" />
    </style>
  </head>
  ~省略~
</apex:page>

レポート

  1. OPROARTS020:verticalReport
  2. OPROARTS020:horizontalReport

OPROARTS020:verticalReport

縦テーブルを使用するテンプレートにおいて、配置するコンポーネントを記述するためのコンポーネントです。以下の例のように記述します。

属性
属性名 既定値 概要
bodyHeight String reportHeadercolumnHeaderを除いた高さを指定します。verticalContainerにも指定されている場合はverticalContainerに指定された値を優先して適用します。
left String 左端部の位置を指定します。verticalContainerにも指定されている場合はverticalContainerに指定された値を優先して適用します。
pageBreak String none ページ先頭または終端に空白ページを挿入するかを指定します。先頭に挿入する場合はbeforeを、終端に挿入する場合はafterを、両方に挿入する場合はbothを、挿入しない場合はnoneを指定します。
top String 上部の位置を指定します。verticalContainerにも指定されている場合はverticalContainerに指定された値を優先して適用します。
value Object[] contactListプロパティを指定します。
var String 「recipients」を指定します。
使用例
1. 標準形
<apex:page renderAs="pdf" showHeader="false" sidebar="false"
    standardController="Exp__c" extensions="OPROARTS020.MultiContactTemplateController">
  ~省略~
  <OPROARTS020:verticalReport value="{!contactList}" var="recipients">
    <apex:repeat value="{!recipients.dataList}" var="data">
      ~省略(すべてのコンポーネントを記述)~
    </apex:repeat>
  </OPROARTS020:verticalReport>
</apex:page>
2. 直下に配置する(verticalContainer内に配置しない)コンポーネントには、上部位置にcurrentPositionプロパティを加算します。
<OPROARTS020:verticalReport value="{!contactList}" var="recipients">
  <apex:repeat value="{!recipients.dataList}" var="data">
    <OPROARTS020:label type="string" content="見積書"
        left="20px" top="{!data.currentPosition + 10}px" position="absolute" />
    ~省略~
  </apex:repeat>
</OPROARTS020:verticalReport>

OPROARTS020:horizontalReport

横テーブルを使用するテンプレートにおいて、配置するコンポーネントを記述するためのコンポーネントです。以下の例のように記述します。

属性
属性名 既定値 概要
bodyWidth String HTReportHeaderHTColumnHeaderを除いた幅を指定します。horizontalContainerにも指定されている場合はhorizontalContainerに指定された値を優先して適用します。
left String 左端部の位置を指定します。horizontalContainerにも指定されている場合はhorizontalContainerに指定された値を優先して適用します。
pageBreak String none ページ先頭または終端に空白ページを挿入するかを指定します。先頭に挿入する場合はbeforeを、終端に挿入する場合はafterを、両方に挿入する場合はbothを、挿入しない場合はnoneを指定します。
value Object[] contactListプロパティを指定します。
var String 「recipients」を指定します。
使用例
1. 標準形
<apex:page renderAs="pdf" showHeader="false" sidebar="false"
    standardController="Exp__c" extensions="OPROARTS020.MultiContactTemplateController">
  ~省略~
  <OPROARTS020:horizontalReport value="{!contactList}" var="recipients">
    <apex:repeat value="{!recipients.dataList}" var="data">
      ~省略(すべてのコンポーネントを記述)~
    </apex:repeat>
  </OPROARTS020:horizontalReport>
</apex:page>
2. 直下に配置する(horizontalContainer内に配置しない)コンポーネントには、上部位置にcurrentPositionプロパティを加算します。
<OPROARTS020:horizontalReport value="{!contactList}" var="recipients">
  <apex:repeat value="{!recipients.dataList}" var="data">
    <OPROARTS020:label type="string" content="見積書"
        left="20px" top="{!data.currentPosition + 10}px" position="absolute" />
    ~省略~
  </apex:repeat>
</OPROARTS020:horizontalReport>

縦テーブル

  1. OPROARTS020:columnHeader
  2. OPROARTS020:dataBand
  3. OPROARTS020:reportDetail
  4. OPROARTS020:reportFooter
  5. OPROARTS020:reportHeader
  6. OPROARTS020:verticalContainer

OPROARTS020:columnHeader

カラムヘッダ(データバンドのヘッダ)を配置します。reportDetailコンポーネント内に記述します。

属性
属性名 既定値 概要
height String 30px 高さを指定します。ここで指定した値はstyleにもheight属性で2px小さい値を指定する必要があります。
style String CSSのスタイル属性を指定します。指定したコンポーネントの幅と高さを、ここにもwidth、height属性で指定する必要があります。
width String 幅を指定します。通常はreportDetailより2px小さい幅を指定します。ここで指定した値はstyleにもwidth属性で指定する必要があります。
xParam OPROARTS020.
TemplateDataBean
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。
使用例
1. 標準形
<OPROARTS020:reportDetail left="32px" width="733px" xParam="{!data.recipient.templateDataBean}" startPos="auto">
  <OPROARTS020:columnHeader xParam="{!data.templateDataBean}"
      width="731px" height="18px" style="width:731px;height:16.0px;">
    ~省略(カラムヘッダの内容を記述)~
  </OPROARTS020:columnHeader>
  ~省略~
</OPROARTS020:reportDetail>

OPROARTS020:dataBand

明細データを繰り返し表示させるためのデータバンドを配置します。reportDetailコンポーネント内に以下の例のように記述します。

属性
属性名 既定値 概要
autoAdjust Boolean false trueにすると、配置コンポーネントに応じてコンポーネントの高さを自動調整します。
height String 0px 高さを指定します。
xParam OPROARTS020.
TemplateDataBean
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。
その他設定事項
明細に表示するサブオブジェクトは、最初のapex:dataTableコンポーネントのvalue属性に記述します。
使用例
1. 標準形
<OPROARTS020:reportDetail left="32px" width="733px" xParam="{!data.recipient.templateDataBean}" startPos="auto">
  ~省略~
  <OPROARTS020:dataBand height="18px" autoAdjust="false" xParam="{!data.templateDataBean}">
    <apex:dataTable value="{!Exp__c.ExpList__r}" var="var" first="{!data.startIndex}" rows="{!data.numRows}"
        style="{!DataTable};width:731px;position:relative;">
      <apex:column>
        ~省略(データバンドの内容を記述)~
      </apex:column>
    </apex:dataTable>
    <apex:dataTable value="{!emptyList}" var="item" rendered="{!data.isLastPage}"
        style="{!DataTable};position:relative;">
      <apex:column>
        ~省略(空白のデータバンドの内容(上記の項目データ表示がないもの)を記述)~
      </apex:column>
    </apex:dataTable>
  </OPROARTS020:dataBand>
  ~省略~
</OPROARTS020:reportDetail>

OPROARTS020:reportDetail

テーブルを配置します。主にコンポーネント内に記述するcolumnHeaderdataBandreportFooterコンポーネントで構成されます。verticalContainerコンポーネント内に記述します。

属性
属性名 既定値 概要
left String 左端部の位置を指定します。
startPos String auto 2ページ以降にレポートヘッダのスペースを開けておきたい場合はfixedを、レポートヘッダのスペースを詰める場合はautoを指定します
width String 幅を指定します。
xParam OPROARTS020.
TemplateDataBean
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。
使用例
1. 標準形
<OPROARTS020:reportDetail xParam="{!data.recipient.templateDataBean}" startPos="auto"
    left="32px" width="733px">
  <OPROARTS020:columnHeader xParam="{!data.templateDataBean}"
      width="731px" height="18px" style="width:731px;height:16.0px;">
    ~省略~
  </OPROARTS020:columnHeader>
  <OPROARTS020:dataBand xParam="{!data.templateDataBean}" height="18px" autoAdjust="false">
    ~省略~
  </OPROARTS020:dataBand>
  <OPROARTS020:reportFooter xParam="{!data.TemplateDataBean}" startPos="bottom" bind="true"
      width="731px" height="203px" style="width:731px;height:203px;">
    ~省略~
  </OPROARTS020:reportFooter>
</OPROARTS020:reportDetail>

OPROARTS020:reportFooter

レポートフッタを配置します。reportDetailコンポーネント内に記述します。

属性
属性名 既定値 概要
bind Boolean true trueにすると、レポートフッタのの直前で改ページを行わず、空白ではない終端バンドを引き連れて改ページします。次のページでレポートフッタのみ表示されるという状況を防ぎます。
height String 0px 高さを指定します。ここで指定した値はstyleにもheight属性で指定する必要があります。
left String 左端部の位置を指定します。
startPos String auto テーブルの下部終端にレポートフッタを配置し、終端バンドとレポートフッタ間を空白のバンドで埋める場合はbottomを、明細データの終端直後にレポートフッダを表示する場合はautoを指定します。
width String 幅を指定します。通常はreportDetailより2px小さい幅を指定します。ここで指定した値はstyleにもwidth属性で指定する必要があります。
xParam OPROARTS020.
TemplateDataBean
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。
使用例
1. 標準形
<OPROARTS020:reportDetail xParam="{!data.recipient.templateDataBean}" startPos="auto"
    left="32px" width="733px">
  ~省略~
  <OPROARTS020:reportFooter xParam="{!data.TemplateDataBean}" startPos="bottom" bind="true"
      width="731px" height="203px" style="width:731px;height:203px;">
    ~省略(レポートフッタの内容を記述)~
  </OPROARTS020:reportFooter>
</OPROARTS020:reportDetail>

OPROARTS020:reportHeader

レポートヘッダを配置します。verticalContainerコンポーネント内に記述します。

属性
属性名 既定値 概要
height String 0px 高さを指定します。ここで指定した値はstyleにもheight属性で指定する必要があります。
left String 左端部の位置を指定します。
startPos String auto テーブルの下部終端にレポートフッタを配置し終端バンドとレポートフッタ間を空白のバンドで埋める場合はbottomを、明細データの終端直後にレポートフッダを表示する場合はautoを指定します。
top String 上部の位置を指定します。
width String 幅を指定します。ここで指定した値はstyleにもwidth属性で指定する必要があります。
xParam OPROARTS020.
TemplateDataBean
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。
使用例
1. 標準形
<OPROARTS020:verticalContainer xParam="{!data.templateDataBean}" bodyHeight="723px"
    left="32px" top="91px" height="978px" style="width:733px;left:32px;">
  <OPROARTS020:reportHeader xParam="{!data.templateDataBean}"
      left="32px" top="91px" width="731px" height="237px" style="width:731px;height:237px;">
    ~省略(レポートヘッダの内容を記述)~
  </OPROARTS020:reportHeader>
  ~省略~
</OPROARTS020:verticalContainer>

OPROARTS020:verticalContainer

縦方向に表示される明細のセットを配置します。主にコンポーネント内に記述するreportHeaderreportDetailコンポーネントで構成されます。

属性
属性名 既定値 概要
bodyHeight String reportHeaderとcolumnHeaderを除いた高さを指定します。
height String 0px 高さを指定します。ここで指定した値はstyleにもheight属性で指定する必要があります。
left String 左端部の位置を指定します。
style String CSSのスタイル属性を指定します。コンポーネントの指定した高さと指定したい幅を、ここにもheight、width属性で指定する必要があります。
top String 上部の位置を指定します。
xParam OPROARTS020.
TemplateDataBean
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。
使用例
1. 標準形
<OPROARTS020:verticalContainer xParam="{!data.templateDataBean}" bodyHeight="723px"
    left="32px" top="91px" height="978px" style="width:733px;left:32px;">
  <OPROARTS020:reportHeader xParam="{!data.templateDataBean}"
      left="32px" top="91px" width="731px" height="237px" style="width:731px;height:237px;">
    ~省略~
  </OPROARTS020:reportHeader>
  <OPROARTS020:reportDetail xParam="{!data.recipient.templateDataBean}" startPos="auto"
      left="32px" width="733px">
    ~省略~
  </OPROARTS020:reportDetail>
</OPROARTS020:verticalContainer>

横テーブル

  1. OPROARTS020:horizontalContainer
  2. OPROARTS020:HTColumnHeader
  3. OPROARTS020:HTDataBand
  4. OPROARTS020:HTReportDetail
  5. OPROARTS020:HTReportFooter
  6. OPROARTS020:HTReportHeader

OPROARTS020:horizontalContainer

横方向に表示される明細のセットを配置します。コンポーネント内に記述するHTReportDetailコンポーネントで構成されます。

属性
属性名 既定値 概要
bodyWidth String HTReportHeaderHTColumnHeaderを除いた幅を指定します。
left String 左端部の位置を指定します。
xParam OPROARTS020.
TemplateDataBean
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。
使用例
1. 標準形
<OPROARTS020:horizontalContainer xParam="{!recipients.templatedataBean}" bodyWidth="400px"
    left="114px">
  <OPROARTS020:HTReportDetail xParam="{!data.templateDataBean}" startPos="auto"
      top="201px" width="500px" style="left: 114px;">
    ~省略~
  </OPROARTS020:HTReportDetail>
</OPROARTS020:horizontalContainer>

OPROARTS020:HTColumnHeader

カラムヘッダ(データバンドのヘッダ)を配置します。HTReportDetailコンポーネント内に以下の例のように記述します。

属性
属性名 既定値 概要
height String 高さを指定します。ここで指定した値はstyleにもheight属性で2px小さい値を指定する必要があります。
style String CSSのスタイル属性を指定します。指定したコンポーネントの幅と高さを、ここにもwidth、height属性で指定する必要があります。
width String 幅を指定します。ここで指定した値はstyleにもwidth属性で指定する必要があります。
使用例
1. 標準形
<OPROARTS020:HTReportDetail xParam="{!data.templateDataBean}" startPos="auto"
    top="201px" width="500px" style="left: 114px;">
  <table style="border-collapse: collapse; position: relative; {!data.tableStyle}">
    <tr>
      <td valign="top" style="padding: 0px;">
        <table style="border-collapse: collapse; position: relative; width: 50px; top: 0px;">
          <tr>
            <td style="padding: 0px;">
              <OPROARTS020:HTColumnHeader width="50px" height="198px" style="width: 50px; height: 198px;">
                ~省略(カラムヘッダの内容を記述)~
              </OPROARTS020:HTColumnHeader>
            </td>
          </tr>
        </table>
      </td>
      ~省略(HTDataBandコンポーネントを記述)~
    </tr>
  </table>
</OPROARTS020:HTReportDetail>

OPROARTS020:HTDataBand

明細データを繰り返し表示させるためのデータバンドを配置します。HTReportDetailコンポーネント内に以下の例のように記述します。

属性
属性名 既定値 概要
autoAdjust Boolean false trueにすると、配置コンポーネントに応じてコンポーネントの幅を自動調整します。
height String 高さを指定します。ここで指定した値はstyleにもheight属性で2px小さい値を指定する必要があります。
style String CSSのスタイル属性を指定します。指定したコンポーネントの幅と高さを、ここにもwidth、height属性で指定する必要があります。
width String 30px 幅を指定します。ここで指定した値はstyleにもwidth属性で指定する必要があります。
その他設定事項
明細に表示するサブオブジェクトは、最初のapex:repeatコンポーネントのvalue属性に記述します。
使用例
1. 標準形
<OPROARTS020:HTReportDetail xParam="{!data.templateDataBean}" startPos="auto"
    top="201px" width="500px" style="left: 114px;">
  <table style="border-collapse: collapse; position: relative; {!data.tableStyle}">
    <tr>
      ~省略(HTColumnHeaderコンポーネントを記述)~
      <td valign="top" style="padding: 0px;">
        <table style="border-collapse: collapse; position: relative; width: 50px; top: 0px;">
          <tr>
            <apex:repeat first="{!data.startIndex}" rows="{!data.numRows}" value="{!Exp__c.ExpList__r}" var="var">
              <td style="padding: 0px;">
                <OPROARTS020:HTDataBand autoAdjust="false"
                    width="50px" height="198px" style="height: 196px; width: 50px;">
                  ~省略(データバンドの内容を記述)~
                </OPROARTS020:HTDataBand>
              </td>
            </apex:repeat>
          </tr>
        </table>
      </td>
      <td valign="top" style="padding: 0px;">
        <apex:outputPanel layout="block" id="emptyLines" rendered="{!data.isEmptyTableRendered}">
          <table style="border-collapse: collapse; position: relative; top: 0px;">
            <tr>
              <apex:repeat value="{!emptyList}" var="">
                <td style="padding: 0px; background-color: #FFFFFF;">
                  <div style="position: relative; top: 0px; left: 0px; height: 196px; width: 50px;">
                    ~省略(空白のデータバンドの内容(上記データバンド内容から項目データ表示を除いたものなど)を記述)~
                  </div>
                </td>
              </apex:repeat>
            </tr>
          </table>
        </apex:outputPanel>
      </td>
    </tr>
  </table>
</OPROARTS020:HTReportDetail>

OPROARTS020:HTReportDetail

テーブルを配置します。主にコンポーネント内に記述するHTReportHeaderHTColumnHeaderHTDataBandHTReportFooterコンポーネントで構成されます。horizontalContainerコンポーネント内に記述します。

属性
属性名 既定値 概要
height String 高さを指定します。
startPos String auto 2ページ以降にレポートヘッダのスペースを開けておきたい場合はfixedを、レポートヘッダのスペースを詰める場合はautoを指定します
style String CSSのスタイル属性を指定します。指定したコンポーネントの幅と高さを、ここにもwidth、height属性で指定する必要があります。
top String 上部の位置を指定します。
width String 幅を指定します。
xParam OPROARTS020.
TemplateDataBean
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。
使用例
1. 標準形
<OPROARTS020:HTReportDetail xParam="{!data.templateDataBean}" startPos="auto"
    top="201px" width="500px" style="left: 114px;">
  <table style="border-collapse: collapse; position: relative; {!data.tableStyle}">
    <tr>
      <td valign="top" style="padding: 0px;">
        <table style="border-collapse: collapse; position: relative; width: 50px; top: 0px;">
          <tr>
            <td style="padding: 0px;">
              <OPROARTS020:HTColumnHeader width="50px" height="198px" style="width: 50px; height: 198px;">
                ~省略~
              </OPROARTS020:HTColumnHeader>
            </td>
          </tr>
        </table>
      </td>
      <td valign="top" style="padding: 0px;">
        <table style="border-collapse: collapse; position: relative; width: 50px; top: 0px;">
          <tr>
            <apex:repeat first="{!data.startIndex}" rows="{!data.numRows}" value="{!Exp__c.ExpList__r}" var="var">
              <td style="padding: 0px;">
                <OPROARTS020:HTDataBand autoAdjust="false"
                    width="50px" height="198px" style="height: 198px; width: 50px;">
                  ~省略~
                </OPROARTS020:HTDataBand>
              </td>
            </apex:repeat>
          </tr>
        </table>
      </td>
      <td valign="top" style="padding: 0px;">
        <apex:outputPanel layout="block" id="emptyLines" rendered="{!data.isEmptyTableRendered}">
          <table style="border-collapse: collapse; position: relative; top: 0px;">
            <tr>
              <apex:repeat value="{!emptyList}" var="">
                <td style="padding: 0px; background-color: #FFFFFF;">
                  <div style="position: relative; top: 0px; left: 0px; height: 198px; width: 50px;">
                    ~省略~
                  </div>
                </td>
              </apex:repeat>
            </tr>
          </table>
        </apex:outputPanel>
      </td>
    </tr>
  </table>
  <OPROARTS020:HTReportFooter xParam="{!data.templateDataBean}" startPos="auto" bind="false"
      top="0px" width="50px" height="198px" style="height: 198px; width: 50px;">
     ~省略(レポートフッタの内容を記述)~
  </OPROARTS020:HTReportFooter>
</OPROARTS020:HTReportDetail>

OPROARTS020:HTReportFooter

レポートフッタを配置します。HTReportDetailコンポーネント内に記述します。

属性
属性名 既定値 概要
bind Boolean true trueにすると、レポートフッタのの直前で改ページを行わず、空白ではない終端バンドを引き連れて改ページします。次のページでレポートフッタのみ表示されるという状況を防ぎます。
height String 0px 高さを指定します。通常はHTReportDetailより2px小さい高さを指定します。ここで指定した値はstyleにもheight属性で2px小さい値を指定する必要があります。
left String 左端部の位置を指定します。
startPos String auto テーブルの右端終端にレポートフッタを配置し、終端バンドとレポートフッタ間を空白のバンドで埋める場合はbottomを、明細データの終端直後にレポートフッダを表示する場合はautoを指定します。
width String 幅を指定します。ここで指定した値はstyleにもwidth属性で指定する必要があります。
xParam OPROARTS020.
TemplateDataBean
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。
使用例
1. 標準形
<OPROARTS020:HTReportDetail xParam="{!data.templateDataBean}" startPos="auto"
    top="201px" width="500px" style="left: 114px;">
  ~省略~
  <OPROARTS020:HTReportFooter xParam="{!data.templateDataBean}" startPos="auto" bind="false"
    top="0px" width="50px" height="198px" style="height: 196px; width: 50px;">
     ~省略(レポートフッタの内容を記述)~
  </OPROARTS020:HTReportFooter>
</OPROARTS020:HTReportDetail>

OPROARTS020:HTReportHeader

レポートヘッダを配置します。HTReportDetailコンポーネント内に記述します。

属性
属性名 既定値 概要
height String 高さを指定します。ここで指定した値はstyleにもheight属性で2px小さい値を指定する必要があります。
left String 左端部の位置を指定します。通常は0pxを指定します。
style String CSSのスタイル属性を指定します。指定したコンポーネントの幅と高さを、ここにもwidth、height属性で指定する必要があります。
top String 上部の位置を指定します。
width String 幅を指定します。ここで指定した値はstyleにもwidth属性で指定する必要があります。
xParam OPROARTS020.
TemplateDataBean
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。
使用例
1. 標準形
<OPROARTS020:HTReportDetail xParam="{!data.templateDataBean}" startPos="auto"
    top="201px" width="500px" style="left: 114px;">
  <OPROARTS020:HTReportHeader xParam="{!data.templatedataBean}"
      left="0px" top="0px" width="50px" height="198px" style="width: 50.0px; height: 196.0px;">
     ~省略(レポートヘッダの内容を記述)~
  </OPROARTS020:HTReportHeader>
  ~省略~
</OPROARTS020:HTReportDetail>

プロパティ

  1. OPROARTS020.MultiContactTemplateController
  2. OPROARTS020.MultiContactTemplateController.ConObj
  3. OPROARTS020.MultiContactTemplateController.MultiContactTemplateData

OPROARTS020.MultiContactTemplateController

プロパティ名 概要
contactList List<OPROARTS020.MultiContactTemplateController.ConObj> targetIdsパラメータで指定した出力対象者毎の情報と文書制御情報を返します。targetIdsが指定されない場合でも文書1部が出力されるよう1要素のリストを返します。通常はverticalReportまたはhorizontalReportコンポーネントの属性に指定します。
dataTable String dataBandコンポーネント内に記述するapex:dataTableコンポーネントのスタイルに追加するスタイル情報を返します。
emptyList List<String> dataBandコンポーネントにおいて、空行を出力するdataTableコンポーネントのリストとして指定するための空のリストを返します。
htmlDtmWidth String テーブルのレポートヘッダ、カラムヘッダ、レポートフッタとデータバンドの要素数分の高さ(横テーブルの場合は幅)の総和をピクセル表記(XXXX px)で返します。
mainParams MultiContactTemplateController 本コントローラのインスタンスを返します。通常はsettingsコンポーネントの内部属性に指定します。
totalPages Integer 文書1部の合計枚数を返します。

OPROARTS020.MultiContactTemplateController.ConObj

プロパティ名 概要
contact Contact 出力対象者が取引先責任者(Contact)の場合、そのオブジェクトを返します。
contactIndex Integer 出力対象者のインテックス番号を返します。
dataList List<OPROARTS020.MultiContactTemplateController.MultiContactTemplateData> ページ毎の文書制御情報のリストを返します。
lead Lead 出力対象者がリード(Lead)の場合、そのオブジェクトを返します。
templateDataBean OPROARTS020.
TemplateDataBean
verticalContainerまたはhorizontalContainerコンポーネントに指定する内部データを返します。
user User 出力対象者がユーザ(User)の場合、そのオブジェクトを返します。

OPROARTS020.MultiContactTemplateController.MultiContactTemplateData

プロパティ名 概要
currentPosition Double テーブル外のコンポーネントが次ページ以降も繰り返し表示されるようにするための、上部位置に加算する調整値を返します。使用例はverticalReportまたはhorizontalReportコンポーネントをご覧ください。
isFirstPage Boolean 先頭ページであればtrueを返します。
isLastPage Boolean 最後のページであればtrueを返します。
pageNumber Integer 現在のページ番号を返します。
startIndex Integer ページ内で明細に表示するレコードの先頭位置を返します。
tableStyle String 横テーブルを用いるページにおいて、HTReportDetailコンポーネント直下のtableタグのスタイルに追加するスタイル情報を返します。
templateDataBean OPROARTS020.
TemplateDataBean
テーブルのコンポーネントとpageNumberコンポーネントに指定する内部データを返します。

関連ヘルプ

お問い合わせ

疑問・質問などございましたら、サポートページよりお問い合わせください。

OPROARTS Connector / Report Engine

Copyright: © 2010-2016 OPRO Co., Ltd. All rights reserved.