ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com

ホーム

 
4D v20 R7
QR REPORT

QR REPORT 


 

QR REPORT ( {aTable ;} document {; methodName}{; *} ) 
引数   説明
aTable  テーブル in レポートを作成するテーブル、省略時はデフォルトテーブル
document  文字 in ロードするクイックレポートドキュメント
methodName  文字 in 呼び出すメソッドの名前
演算子 in プリントダイアログボックスを表示しない

説明   

QR REPORTはクイックレポートエディターを用いて作成された、aTableのレポートを印刷します。このエディターを使用するとユーザーは独自のレポートを作成できるようになります。クイックレポートエディターを使用してレポートを作成する事については、4Dデザインリファレンスマニュアルのクイックレポート の章を参照して下さい。

注:

  • aTableが“非表示”に定義されている場合、エディターは表示されません。
  • エディターがQR REPORT コマンドを使用して呼び出された場合、マニュアルのステータスがあるテーブル間のリレーションについてはその状態が保持されます。デベロッパーはSET AUTOMATIC RELATIONS およびSET FIELD RELATION コマンドを使用して、リレートの状態を制御することができます。しかしながら、リレートされたテーブルがDISPLAY SELECTIONMODIFY SELECTION 、あるいはサブフォームを使用して表示されたリストフォーム内で表示されている場合には、この自動リレーション機能は無効化されているということに注意してください。詳細については自動およびマニュアルリレーション を参照してください。
  • エディターは外部ウィンドウ内に呼び出され、このコンテキストでQR ON COMMANDコマンドを使用することはできません。しかしながら、インターフェースコマンドが有効化されている際には、 methodName 引数を使用してカスタムコードを実行することができます。

document引数には、クイックレポートエディターを用いて作成され、ディスク上に保存されたレポートドキュメントを渡します。このドキュメントにはレポートに関する仕様が納められ、印刷されるレコードは含みません。
documentに空の文字列 ("") が指定されると、QR REPORTはファイルを開くダイアログボックスを表示し、ユーザは印刷するレポートを選択することができます。
document引数にドキュメントが指定され、そのドキュメントが存在しない場合(例えばdocumentChar(1)を指定)、クイックレポートエディターが表示されます。

methodName 引数は、ユーザーがボタンをクリックすることでクイックレポートエディータのドキュメント管理コマンドが呼び出されるたびに実行される、4D プロジェクトメソッドを指定します。この引数を使用することは、QR ON COMMAND をクイックレポートエディターウィンドウのコンテキストで使用することと同じです(QR ON COMMAND は含まれているエリアのコンテキスト内でしか動作しません)。例えば、この引数を使用してクイックレポートで使用される文字セットを変更することができます。methodName 引数で指定したメソッドは、二つの引数を受け取ります:

引数詳細
$1倍長整数エリア参照
$2倍長整数選択されたコマンドの数。QR Commands テーマの以下の定数と比較することができます(ここにあるイベントのみがサポートされます):
定数 コメント
qr cmd generate 2008

QR RUN コマンドの使用が推奨されます

qr cmd open 2001
qr cmd page setup 2006
qr cmd print preview 2007
qr cmd save 2002
qr cmd save as 2003

注: データベースをコンパイルする場合、たとえ使用しなかったとしても$1 と$2 引数を明示的に倍長整数として宣言する必要があります。

ユーザーによって最初に選択されたコマンドを実行したい場合、引数のmethodName メソッド内において、以下の宣言を使用してください:

 QR EXECUTE COMMAND($1;$2)

methodName 引数が空の文字列("") である、または省略された場合、メソッドは何も呼ばれず、QR REPORT の標準の操作が適用されます。

引数 * を指定しない場合、レポートの選択後に印刷ダイアログが表示されます。この引数を指定すると、これらのダイアログボックスは表示されず、レポートが印刷されます。

クイックレポートエディターが起動されない場合、レポートが印刷されるとシステム変数OKには1が、印刷されない場合 (つまり、ユーザーが印刷ダイアログでキャンセルをクリックした場合) には0が代入されます。

4D Server: このコマンドは、ストアドプロシージャーのコンテキストで、4D Server上で実行することができます。この場合次の制約があります:

  • サーバーマシン上にはダイアログボックスを一切表示しないでください(特定の必要性がある場合を除く)。これを実現するには、コマンドを呼び出す際に、引数 * を指定する必要があります。
  • 4D Serverではクイックレポートエディターを表示させる構文は動作しません。これを行った場合、システム変数OKは0に設定されます。
  • プリンター関連の問題が発生しても(用紙切れ、プリンター接続切断など)、エラーメッセージは生成されません。

次の例では、ユーザが[People]テーブルを検索した後に、“Detailed Listing”というレポートが自動的に印刷されます:

 QUERY([People])
 If(OK=1)
    QR REPORT([People];"Detailed Listing";*)
 End if

次の例題では、ユーザは[People]テーブルを検索した後に、印刷するレポートを選択することができます:

 QUERY([People])
 If(OK=1)
    QR REPORT([People];"")
 End if

次の例題では、ユーザが[People]テーブルを検索した後にクイックレポートエディタが表示され、レポートの設計、保存、ロード、印刷を行うことができます:

 QUERY([People])
 If(OK=1)
    QR REPORT([People];Char(1))
 End if

SET FIELD RELATION コマンドの例題参照

QR REPORT コマンドを使用して呼び出されたQuick Reportにて使用される文字コードを Mac Romanに変更したい場合:

 QR REPORT([MyTable];Char(1);"myCallbackMeth")

レポートが生成される際、 myCallbackMeth メソッドによってレポートを変換します:

 C_LONGINT($1;$2)
 If($2=qr cmd generate//レポートが生成されたとき
    C_BLOB($myblob)
    C_TEXT($path;$text)
    C_LONGINT($type)
    QR EXECUTE COMMAND($1;$2//コマンドの実行
    QR GET DESTINATION($1;$type;$path//型の取得
    If(($type=qr HTML file)|($type=qr text file))
       DOCUMENT TO BLOB($path;$myblob)
  //UTF-8を使用してテキストへと変更
       $text:=Convert to text($myblob;"UTF-8")
  //MacRoman 文字列を使用
       CONVERT FROM TEXT($text;"MacRoman";$myblob)
  //変換されたレポートを返す
       BLOB TO DOCUMENT($path;$myblob)
    End if
 Else //そうでなければ、コマンドを実行
    QR EXECUTE COMMAND($1;$2)
 End if



参照 

PRINT LABEL
PRINT SELECTION
SET ALLOWED METHODS

 
プロパティ 

プロダクト: 4D
テーマ: クイックレポート
番号: 197

このコマンドはOKシステム変数を更新しますリモートモードでは動作が異なります。

 
ページの目次 
 
履歴 

変更: 4D 2004
変更: 4D v14

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v20 R7)