レポートの生成

クライアントは、スーパーマーケットの販売情報を使用して PDF 請求書を印刷したいと考えています。この請求書は、エンドユーザー向けとして利用されるものになるため、見映えのよいレイアウトを作成することが重要です。

これまでに学習したとおり、WorkWithPlus は、画面で選択したフィルタなどの設定を含め、Selection オブジェクト内の Excel、CSV、PDF レポートを自動的に生成します。  
しかし、今回の要件の場合、クライアントは特別なレイアウトと外観でカスタマイズされたレポートを必要としているため、レポート生成用の WorkWithPlus テンプレートを使用して、該当するレポートを生成します。
したがって、Sale トランザクションと Product トランザクションを Sales.xpz からインポートし、WorkWithPlus を適用して、スーパーマーケットのいくつかの製品と販売情報を登録します。

InvoiceReport という新しいプロシージャーを作成し、WorkWithPlus を適用して、[InvoiceStyle1] テンプレートを選択します。

このテンプレートを選択すると、レポートのツリーとプレビューが表示されます:

TemplatesReportTemplates_img00

図に示したように、リアルタイムプレビューと階層構造を使用することで、トランザクションや Web パネルを操作する場合と同じ方法で PDF レポートを操作できます。このように、レイアウトの変更が必要な場合は変更し、カスタマイズすることができます。 

目的となるレイアウトは WorkWithPlus によって作成されるので、必要なコードをプロシージャーの [Source] セクションに追加するだけで、請求書が適切にロードされます:

&CompanyName = 'The CoCo Company'

&Phone = '+598-2604-1325'
&Mail = 'info@coco.com'
&Website = 'http://www.cococompany.com'

&AddressLine1 = 'Av.Italia 6201'
&AddressLine2 = 'Montevideo, Uruguay'
&AddressLine3 = '11300'

print printTitle

for each Sale    
    
    &TaxInvoice = SaleTotalAmount*0.23    
    &BilledTo = PersonFullName
    &BilledToAddressLine1 = 'Av.Italia 2387'
    &BilledToAddressLine2 = 'Montevideo, Uruguay'
    &BilledToAddressLine3 = '12500'    
    &InvoiceNumber = "#"+SaleId.ToFormattedString()
    &Date = SaleDate
    &InvoiceTotal = "$"+SaleTotalAmount.ToFormattedString()    
    print printDetailInfo
    print printLines_titles
    for each Sale.Products

        &ProductName = ProductName
        &UnitCost = ProductPrice.ToFormattedString()
        &Quantity = SaleProductQuantity
        &LineTotal = SaleProductTotal.ToFormattedString()
        print printLines_data

 endfor
 &Tax=&TaxInvoice.ToFormattedString()
 &SubTotal = SaleTotalAmount.ToFormattedString()
 &LinesTotal = &InvoiceTotal
 print printTotals

endfor

重要:  さらに、Output_File ルールを追加して、プロシージャーの [Call Protocol] を [HTTP] に設定することも必要です。

最後に、販売情報の Selection オブジェクトに User Action を追加して、この新しいプロシージャーを呼び出す必要があります。この User Action では、次のようにフォントアイコンを使用することができます:

TemplatesReportTemplates_img11

注意: 次のサイトで、さらに多くのアイコンを参照できます:  http://fontawesome.io/examples/

アプリケーションを実行して、実行時の請求書を確認します:

TemplatesReportTemplates_img10

このツリーでは、PrintBlock と GridPrintBlock を追加できます:

TemplatesReportTemplates_img05

これらのブロックの内部に、レポートを構成するいくつかのエレメントを追加できます:

TemplatesReportTemplates_img06

多くのエレメントをツリーで選択し、プロパティを変更して、レポートに表示されるフィールドをさまざまな形で強調表示することができます。

TemplatesReportTemplates_img09

 



Copyright © 2007-2015 DVelop Software Solutions - www.workwithplus.com