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クラスのコンストラクタで指定することをお奨めします。 |
画像を配置します。画像にリンクを設定することもできます。
属性名 | 型 | 既定値 | 概要 |
---|---|---|---|
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 | 幅を指定します。 |
<OPROARTS020:image src="/resource/logo" left="10px" right="110px" top="10px" bottom="110px" width="100px" height="100px" style="position: absolute;" />
<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;" />
<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;" />
文字列や項目のデータを表示するラベルを配置します。
属性名 | 型 | 既定値 | 概要 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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独自の形式が使用できます。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | データ型を以下から指定します。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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% | 幅を指定します。 |
<OPROARTS020:label type="string" content="<タイトル>" escape="true" left="10px" top="10px" width="100px" height="30px" position="absolute" />
<OPROARTS020:label type="string" content="{!Exp__c.Title__c}" left="20px" top="40px" width="300px" height="30px" position="absolute" />
<OPROARTS020:label type="number" figure="{!Exp__c.Process__c}" format="0.#%" left="10px" top="10px" width="300px" height="30px" position="absolute" />
<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" />
<OPROARTS020:label type="sfdate" content="{!Exp__c.LasyModifiedDate}" format="yyyy年MM月dd日に作成または変更されました。" left="10px" top="10px" width="300px" height="30px" position="absolute" />
<OPROARTS020:label type="hyperlink" content="ホームページ" showAsLink="true" urlPath="{!Exp__c.HomePageUrl__c}" left="10px" top="10px" width="100px" height="30px" position="absolute" />
平行線または垂直線を配置します。斜線には対応していません。
属性名 | 型 | 既定値 | 概要 |
---|---|---|---|
bottom | String | 下部の位置を指定します。 | |
color | String | black | 線の色を指定します。 |
left | String | 左端部の位置を指定します。 | |
position | String | absolute | 配置方法を指定します。CSSのposition属性に対応します。 |
right | String | 右端部の位置を指定します。 | |
size | String | 1px | 線の太さを指定します。 |
style | String | CSSのスタイル属性を指定します。 | |
top | String | 上部の位置を指定します。 |
<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" />表示例
<OPROARTS020:line size="1px" style="border-style:dashed;" left="10px" top="10px" right="110px" bottom="10px" position="relative" />表示例
各ページにページ番号を表示するためのラベルを配置します。明細データバンド(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内部属性です。この属性がある場合、削除や改変しないでください。 |
<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>
長方形を配置します。
属性名 | 型 | 既定値 | 概要 |
---|---|---|---|
color | String | black | 線の色を指定します。 |
height | String | 高さを指定します。 | |
left | String | 左端部の位置を指定します。 | |
position | String | absolute | 配置方法を指定します。CSSのposition属性に対応します。 |
size | String | 1px | 線の太さを指定します。 |
style | String | CSSのスタイル属性を指定します。 | |
top | String | 上部の位置を指定します。 | |
width | String | 幅を指定します。 |
<OPROARTS020:rectangle color="#00f" size="1px" left="10px" top="10px" width="100px" height="30px" position="relative" />表示例
明細の繰り返し項目を集計して表示するラベルを配置します。
属性名 | 型 | 既定値 | 概要 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
bottom | String | 下部の位置を指定します。 | |||||||||||
currencyIsoCode | String | ISO通貨コードを指定します。マルチ通貨が有効な組織では必須となります。組織の通貨とユーザーの通貨が異なる場合、オブジェクトの「CurrencyIsoCode」項目に格納されている通貨コードを指定してください。 | |||||||||||
display | String | block | 表示形式を指定します。CSSのdisplay属性に対応します。 | ||||||||||
format | String | 表示文字列の書式を指定します。書式文字列はJavaのjava.text.DecimalFormatクラスの形式に同じです。 | |||||||||||
formula | String | 数値型か通貨型の集計する項目のAPI名を指定します。四則演算子(+, -, *, /, (, ))を用いて複数項目を演算させることもできます。 | |||||||||||
function | String | 集計方法を以下から指定します。
|
|||||||||||
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 | データ型を以下から指定します。
|
||||||||||
width | String | 100% | 幅を指定します。 |
<OPROARTS020:aggregate formula="Price__c" type="sfcurrency" function="SUM" left="10px" top="10px" width="100px" height="15px" position="relative" />表示例
<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" />表示例
項目を四則演算して表示するラベルを配置します。
属性名 | 型 | 既定値 | 概要 | ||||
---|---|---|---|---|---|---|---|
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 | データ型を以下から指定します。
|
||||
width | String | 100% | 幅を指定します。 |
<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" />表示例
既定のフォントを指定します。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 | フォントの色を指定します。 |
<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>
出力用紙の形式を指定します。styleタグ内に記述します。
属性名 | 型 | 既定値 | 概要 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
orientation | String | portrait | 出力用紙の向きを指定します。縦向きの場合「portrait」を、横向きの場合「landscape」を指定します。 | ||||||||||||||||
paperSize | String | A4 | 出力用紙のサイズを以下の規格名、または「XXmm YYmm」(ミリ単位)、「XXin YYin」(インチ単位)の形式で指定します。
|
||||||||||||||||
xParam | OPROARTS020. MultiContactTemplateController |
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。 |
<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>
<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>
縦テーブルを使用するテンプレートにおいて、配置するコンポーネントを記述するためのコンポーネントです。以下の例のように記述します。
属性名 | 型 | 既定値 | 概要 |
---|---|---|---|
bodyHeight | String | reportHeaderとcolumnHeaderを除いた高さを指定します。verticalContainerにも指定されている場合はverticalContainerに指定された値を優先して適用します。 | |
left | String | 左端部の位置を指定します。verticalContainerにも指定されている場合はverticalContainerに指定された値を優先して適用します。 | |
pageBreak | String | none | ページ先頭または終端に空白ページを挿入するかを指定します。先頭に挿入する場合はbeforeを、終端に挿入する場合はafterを、両方に挿入する場合はbothを、挿入しない場合はnoneを指定します。 |
top | String | 上部の位置を指定します。verticalContainerにも指定されている場合はverticalContainerに指定された値を優先して適用します。 | |
value | Object[] | contactListプロパティを指定します。 | |
var | String | 「recipients」を指定します。 |
<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>
<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>
横テーブルを使用するテンプレートにおいて、配置するコンポーネントを記述するためのコンポーネントです。以下の例のように記述します。
属性名 | 型 | 既定値 | 概要 |
---|---|---|---|
bodyWidth | String | HTReportHeaderとHTColumnHeaderを除いた幅を指定します。horizontalContainerにも指定されている場合はhorizontalContainerに指定された値を優先して適用します。 | |
left | String | 左端部の位置を指定します。horizontalContainerにも指定されている場合はhorizontalContainerに指定された値を優先して適用します。 | |
pageBreak | String | none | ページ先頭または終端に空白ページを挿入するかを指定します。先頭に挿入する場合はbeforeを、終端に挿入する場合はafterを、両方に挿入する場合はbothを、挿入しない場合はnoneを指定します。 |
value | Object[] | contactListプロパティを指定します。 | |
var | String | 「recipients」を指定します。 |
<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>
<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>
カラムヘッダ(データバンドのヘッダ)を配置します。reportDetailコンポーネント内に記述します。
属性名 | 型 | 既定値 | 概要 |
---|---|---|---|
height | String | 30px | 高さを指定します。ここで指定した値はstyleにもheight属性で2px小さい値を指定する必要があります。 |
style | String | CSSのスタイル属性を指定します。指定したコンポーネントの幅と高さを、ここにもwidth、height属性で指定する必要があります。 | |
width | String | 幅を指定します。通常はreportDetailより2px小さい幅を指定します。ここで指定した値はstyleにもwidth属性で指定する必要があります。 | |
xParam | OPROARTS020. TemplateDataBean |
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。 |
<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>
明細データを繰り返し表示させるためのデータバンドを配置します。reportDetailコンポーネント内に以下の例のように記述します。
属性名 | 型 | 既定値 | 概要 |
---|---|---|---|
autoAdjust | Boolean | false | trueにすると、配置コンポーネントに応じてコンポーネントの高さを自動調整します。 |
height | String | 0px | 高さを指定します。 |
xParam | OPROARTS020. TemplateDataBean |
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。 |
<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>
テーブルを配置します。主にコンポーネント内に記述するcolumnHeader、dataBand、reportFooterコンポーネントで構成されます。verticalContainerコンポーネント内に記述します。
属性名 | 型 | 既定値 | 概要 |
---|---|---|---|
left | String | 左端部の位置を指定します。 | |
startPos | String | auto | 2ページ以降にレポートヘッダのスペースを開けておきたい場合はfixedを、レポートヘッダのスペースを詰める場合はautoを指定します |
width | String | 幅を指定します。 | |
xParam | OPROARTS020. TemplateDataBean |
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。 |
<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>
レポートフッタを配置します。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内部属性です。この属性がある場合、削除や改変しないでください。 |
<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>
レポートヘッダを配置します。verticalContainerコンポーネント内に記述します。
属性名 | 型 | 既定値 | 概要 |
---|---|---|---|
height | String | 0px | 高さを指定します。ここで指定した値はstyleにもheight属性で指定する必要があります。 |
left | String | 左端部の位置を指定します。 | |
startPos | String | auto | テーブルの下部終端にレポートフッタを配置し終端バンドとレポートフッタ間を空白のバンドで埋める場合はbottomを、明細データの終端直後にレポートフッダを表示する場合はautoを指定します。 |
top | String | 上部の位置を指定します。 | |
width | String | 幅を指定します。ここで指定した値はstyleにもwidth属性で指定する必要があります。 | |
xParam | OPROARTS020. TemplateDataBean |
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。 |
<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>
縦方向に表示される明細のセットを配置します。主にコンポーネント内に記述するreportHeader、reportDetailコンポーネントで構成されます。
属性名 | 型 | 既定値 | 概要 |
---|---|---|---|
bodyHeight | String | reportHeaderとcolumnHeaderを除いた高さを指定します。 | |
height | String | 0px | 高さを指定します。ここで指定した値はstyleにもheight属性で指定する必要があります。 |
left | String | 左端部の位置を指定します。 | |
style | String | CSSのスタイル属性を指定します。コンポーネントの指定した高さと指定したい幅を、ここにもheight、width属性で指定する必要があります。 | |
top | String | 上部の位置を指定します。 | |
xParam | OPROARTS020. TemplateDataBean |
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。 |
<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>
横方向に表示される明細のセットを配置します。コンポーネント内に記述するHTReportDetailコンポーネントで構成されます。
属性名 | 型 | 既定値 | 概要 |
---|---|---|---|
bodyWidth | String | HTReportHeaderとHTColumnHeaderを除いた幅を指定します。 | |
left | String | 左端部の位置を指定します。 | |
xParam | OPROARTS020. TemplateDataBean |
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。 |
<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>
カラムヘッダ(データバンドのヘッダ)を配置します。HTReportDetailコンポーネント内に以下の例のように記述します。
属性名 | 型 | 既定値 | 概要 |
---|---|---|---|
height | String | 高さを指定します。ここで指定した値はstyleにもheight属性で2px小さい値を指定する必要があります。 | |
style | String | CSSのスタイル属性を指定します。指定したコンポーネントの幅と高さを、ここにもwidth、height属性で指定する必要があります。 | |
width | String | 幅を指定します。ここで指定した値はstyleにもwidth属性で指定する必要があります。 |
<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>
明細データを繰り返し表示させるためのデータバンドを配置します。HTReportDetailコンポーネント内に以下の例のように記述します。
属性名 | 型 | 既定値 | 概要 |
---|---|---|---|
autoAdjust | Boolean | false | trueにすると、配置コンポーネントに応じてコンポーネントの幅を自動調整します。 |
height | String | 高さを指定します。ここで指定した値はstyleにもheight属性で2px小さい値を指定する必要があります。 | |
style | String | CSSのスタイル属性を指定します。指定したコンポーネントの幅と高さを、ここにもwidth、height属性で指定する必要があります。 | |
width | String | 30px | 幅を指定します。ここで指定した値はstyleにもwidth属性で指定する必要があります。 |
<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>
テーブルを配置します。主にコンポーネント内に記述するHTReportHeader、HTColumnHeader、HTDataBand、HTReportFooterコンポーネントで構成されます。horizontalContainerコンポーネント内に記述します。
属性名 | 型 | 既定値 | 概要 |
---|---|---|---|
height | String | 高さを指定します。 | |
startPos | String | auto | 2ページ以降にレポートヘッダのスペースを開けておきたい場合はfixedを、レポートヘッダのスペースを詰める場合はautoを指定します |
style | String | CSSのスタイル属性を指定します。指定したコンポーネントの幅と高さを、ここにもwidth、height属性で指定する必要があります。 | |
top | String | 上部の位置を指定します。 | |
width | String | 幅を指定します。 | |
xParam | OPROARTS020. TemplateDataBean |
Report Engine内部属性です。この属性がある場合、削除や改変しないでください。 |
<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>
レポートフッタを配置します。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内部属性です。この属性がある場合、削除や改変しないでください。 |
<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>
レポートヘッダを配置します。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内部属性です。この属性がある場合、削除や改変しないでください。 |
<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>
プロパティ名 | 型 | 概要 |
---|---|---|
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部の合計枚数を返します。 |
プロパティ名 | 型 | 概要 |
---|---|---|
contact | Contact | 出力対象者が取引先責任者(Contact)の場合、そのオブジェクトを返します。 |
contactIndex | Integer | 出力対象者のインテックス番号を返します。 |
dataList | List<OPROARTS020.MultiContactTemplateController.MultiContactTemplateData> | ページ毎の文書制御情報のリストを返します。 |
lead | Lead | 出力対象者がリード(Lead)の場合、そのオブジェクトを返します。 |
templateDataBean | OPROARTS020. TemplateDataBean |
verticalContainerまたはhorizontalContainerコンポーネントに指定する内部データを返します。 |
user | User | 出力対象者がユーザ(User)の場合、そのオブジェクトを返します。 |
プロパティ名 | 型 | 概要 |
---|---|---|
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.