ラベル Procedure:プロシージャ の投稿を表示しています。 すべての投稿を表示
ラベル Procedure:プロシージャ の投稿を表示しています。 すべての投稿を表示

2013年2月19日火曜日

帳票で強制的に改ページを行う

帳票(PDFプロシージャ)で強制的に(ロジックで)改ページを行う場合は、「Eject」コマンドを使います。

例えば、送り状(Invoice)を印刷するプロシージャにて、送り状Idごとに改ページする場合は、以下のように記述します。

For each order InvoiceId

      Print pb_Invoice_Header

      For each

             Print pb_Invoice_Detail

      Endfor

      Print pb_Invoice_Footer

      Eject      //改行コマンド

Endfor





2013年2月18日月曜日

PDFをファイルダウンロードさせる方法

GeneXusで帳票(PDF)を実装するにはプロシージャオブジェクトを使用しますが、ディフォルトだと生成されたPDFはブラウザ内に表示されます(IEの場合)。又、この場合画面遷移が発生してしまうので元の画面が消えてしまいユーザーが戸惑う事にもなります。
生成されたPDFをブラウザ内に表示するのではなく、ファイルとしてダウンロードさせるには以下のような記述を追加する事で実現可能です。


2009年9月8日火曜日

帳票(プロシージャ)にてアトリビュートの内容を改行印刷する方法










アトリビュートが長い文字列型の場合、プロシージャのレイアウトにアトリビュートを貼り付けるだけでは、改行がされません。

改行するためには、以下の手順が必要となります。



1.レイアウト


アトリビュートの代わりに変数を貼り付けます。


printblock.PNG

2.ソース


ソースではGXMLines関数で、折り返したい文字数での行数を取得し、GXGetMLi関数で各行を取得し、文字列を変数にセットし、行単位でPrintコマンドを発行します。





&nlin = GXMLines(LongSizeAttribute, 60)
  if &nlin > 0
   &i = 1
   Do While &i <= &nlin
    &Text = GXGetMLi(LongSizeAttribute, &i, 60)
    Print PB_Report1
    &i += 1
   enddo
  else
   &Text=''
   Print PB_Report1
  endif