最近のアクセス:
Print コマンドのまとめ

GeneXus は、レポートを簡単に生成するための Print コマンドのセットを開発者に提供します。このコマンドセットは、プロシージャーにおいて印刷ジョブを制御および送信するために使用します。
各コマンドの動作を理解できるよう、次の表で説明します:
イメージ:5527.jpg
 
CP 印刷領域に残っている行数によって、同じページで印刷を継続するか、次のページに移動するかを定義します (テキストモードのみ)。
Eject 改ページを設定します。
Footer 各ページ下部に印刷されるフッターの行を設定します。
Header 各ページのヘッダーとして印刷する内容を定義します。
Lineno 次の行を印刷する行番号を定義します。番号が現在の行より小さい場合は、改ページが行われます。
MB レポートの下部マージンを構成する行数を定義します。
MT レポートの上部マージンを構成する行数を定義します。
NoSkip 行をスキップしないようにします。
PL ページごとの最大行数を設定します (テキストモードのみ)。
Print レポートの出力メディアに print block すべてを送信します。
測定単位にはユーザースペース単位を使用しています。このユーザースペース単位は印刷業界で使用されるポイント単位 (pt) とほぼ同じです。
1 インチ = 25.4mm = 72 ユーザースペース単位

この例は、任意の範囲内の年齢であり、ランク (Commander、Copilot など) が任意の等級に一致する航空会社の乗務員全員の統計レポートを取得する方法を説明します。年齢と等級の値は、事前に要求される変数を通じてパラメーターが受け取ります。
データベースへのアクセスおよびデータの選択処理は次のように行います:
For each order CrewLastName
       where CrewAge >= &AgeFrom
       where CrewAge <= &AgeTo
       where CrewRank = &Rank
       ...
EndFor
この方法はプロジェクト内の多くの箇所 (レポート、プロセスなど) で使用するため、ほかのオブジェクトから再利用できるナビゲーションオブジェクトとして Data Selector オブジェクトがプログラムされています。このデータセレクターは CrewPerAgeRanks という名前であり、構造は次のとおりです:
イメージ:5528.jpg
AgesAndRanks という名前の Procedure オブジェクトにおいて、次のグループの print block が設計されています。
イメージ:5529.jpg
プロシージャーには次のルールが適用されています:
イメージ:5530.jpg
最後に、次のソースコードがプログラムされています。
イメージ:5531.jpg
最初の行グループはページのマージンおよび長さを行数で設定します。次は [ Header ] グループであり、GeneXus が開始ページを検知した場合のみアクセスします。本文は 1 行のみで構成されており、Header print block を印刷します。 [ Footer ] グループも同様に、ページ変更を検知した場合のみアクセスします。
Data Selector オブジェクトは、関連する For Each グループで使用します。有効な情報が見つかると、 [ For Each ] の本文に印刷します。

基本的な検討事項

出力レポートを取得する場合、次の点に注意してください:
  • [ Main Program ] プロパティは True である必要があります。
  • [ Call Protocol ] プロパティは HTTP である必要があります。
  • 「Output_File('reportname','PDF');」のルールを記述する必要があります。
PDF などの画像形式を使用する場合は、PL コマンドはサポートされません。カスタムレポートを取得するには、Paper Width および Paper Height プロシージャーのレイアウトのプロパティを修正し、必要に応じて MT および MB コマンドを使用します。




サブページ
Created: 14/09/18 03:17 by Admin Last update: 21/05/20 06:18 by Admin
カテゴリ
Powered by GXwiki 3.0