Home Devices
New Blog Posts: Merging Reports - Part 1 and Part 2

print 3 reports like one (how to act like a one job)

edited November 2005 in Devices
Hello

I have a Point of sale software and i want to print the invoice ticket
header then in my app insert the details (many ,100 for example) after each
one print the current record , beacause the print process is the more delay
process i repeat what i want is to print each detail record (one report for
detail) and only at the last time print the foot report, i'm just using 3
reports all work ok but i have a problem when i send my details reports
spaces are send to the printer is like a job problem , can you helpme to
eliminta this spaces? , how to set the position of the job to inmediatly
after each print job? do you have a sample?

thank you in advance

Miguel

Comments

  • edited November 2005

    1. Below is an article about printing to conintuous paper - that sounds like
    what you are trying to accomplish.

    2. To combine multiple reports into one, you use subreports


    ----------------------------------------------------
    Article: Printing to Continuous Paper
    ----------------------------------------------------

    1. Layout

    For continuous printing (for example a receipt) use Title/Summary and
    removing the Header/Footer. Set the PrintHeight of each to phDynamic. Layout
    the DetailBand to print a single line item. Set the margins to 0 or to the
    smallest that the printer driver will support (some printers have an
    unprintable area).

    With this configuration The Report will generate a Title followed by a
    variable number of Detail bands that span pages if needed, and then finally
    print a Summary at the end.

    2. Pagination

    a. dtPrinter

    Some printer drivers have a continuous paper size setting. If not then try
    setting the paper size to be very small - perhaps the size of the tallest
    band in the layout. Or try setting the page height to be the size of a
    detail band. Note that some printer drivers will only accept page sizes
    within a certain range of paper sizes.

    b. dtReportTextFile

    With the above layout, the report text file will generate the page breaks
    properly, however the device will fill up a page with blank lines. You can
    control the number of lines per page by configuring the CharacterGrid
    property in the Report.BeforePrint event:

    example:


    procedure TForm1.ppReport1BeforePrint(Sender: TObject);
    var
    lDevice: TppReportTextFileDevice;
    begin

    if (ppReport1.FileDevice <> nil) and (ppReport1.FileDevice is
    TppReportTextFileDevice)then
    begin
    lDevice := TppReportTextFileDevice(ppReport1.FileDevice);

    {120 characters per line, 66 lines per page}
    lDevice.CharacterGrid(120, 66);
    end;

    end;








    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited November 2005
    Nard my problem is with slowly printers (the user can't wait to print a
    master with 100 details, need to close the operation when the last detail
    record is saved) then i must to print while insert detail records then when
    the user finish to insert and totalize only print the summary info but i
    have only two choices

    a ) my aproach .-3 reports (header, detail, summary)

    b) a way (i don't know how) to print in only one report but print while the
    user capture the details and finsh to

    thank you in advance
    Miguel

  • edited November 2005

    Demo 123 (dm0123.pas) in RBuilder\Demos\Reports\Demo.dpr shows how to print
    multiple reports as one print job.





    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited November 2005
    Nard excusme for ask again
    that's my problem i need to print record by record, imagine a ticket with
    1000 records if you print all when the operation is finshed , the print time
    will be infunctional for that i need sent the header report (when the
    operations begin), the body reports (record by record 1000 for example) and
    then when the operation is finished only print a resume

    i really need please check this how to solve my problem

    how to initialize the print header whe i finish to print a recor in a ticket
    printer?

    Miguel

  • edited November 2005

    Demo 123 (dm0123.pas) in RBuilder\Demos\Reports\Demo.dpr shows how to
    print multiple reports as one print job. Did you look at the example? Why is
    it not helpful?




    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.