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

Invoice printing

edited February 2005 in General
Hello,

I need to print an invoice in two and sometimes in three copies.

The law in my country requires that the word "ORIGINAL" appears on the first
copy.

How can I achieve this?

What I am doing now, and I don't like it at all, is:

1. I print one report with a page style, showing "original" in the
background,
2. I have a subreport in the summary, in which I have copied to entire
report from the first page, without the "original".
3. If I have to print a third copy, I have to make a new subreport, again
by copy/pasting the entire report.

This is very inconvenient when you need to make a change :(.

I think that my main problem is that if I instruct RBuilder to print three
copies to the printer, I have found no way of intercepting the engine AFTER
the first time it has sent the job to the printer, so that I could simply
make the word "original" invisible...

Any ideas? Thanks!!!!

Comments

  • edited February 2005
    Hi Dimitar,

    Check out the following example. It shows how to include a unique caption
    for each copy you print in ReportBuilder. This should get you on the right
    track.

    http://www.digital-metaphors.com/tips/UniqueCaptionForEachCopy.zip

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited March 2005
    Thanks a lot, your example is working, but I can't get it to work using
    RAP - I can't write the code in Delphi as the application uses only the
    runtime report designer and doesn't have report related code in the form's
    code ;(.

    Here's what I do:

    {pasted from the runtime report designer}

    1. Declared a global variable FCount : Integer;
    2.
    procedure ReportOnStartPage;
    begin
    if (Report.SecondPass) and (Report.AbsolutePageNo=1) then FCount:=FCount+1;
    end;
    3.
    procedure ReportBeforePrint;
    begin
    FCount:=0;
    end;
    4.
    procedure TitleBeforePrint;
    begin
    Label22.Caption:='Copy '+IntToStr(FCount);
    end;

    When I preview the report it says "copy 1" (of course)

    When I print 3 copies to the printer I always get "Copy 1" on each copy.
    DelegateCopies IS set to False.

    Why isn't it working?

    ----- Original Message -----
    From: "Nico Cizik (Digital Metaphors)"
    Newsgroups: digital-metaphors.public.reportbuilder.general
    Sent: Monday, February 28, 2005 5:13 PM
    Subject: Re: Invoice printing



  • edited March 2005
    Hi Dimitar,

    It helps to tell me you are using RAP or post your question in the RAP
    newsgroup initially :).

    http://www.digital-metaphors.com/tips/UniqueCaptionDifferentCopyRAP.zip

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited March 2005
    > It helps to tell me you are using RAP or post your question in the RAP

    Well, I thought I was smart enough to make it work without mentioning that
    little detail ;-) ...

    I am really impressed with the quality of the support of your company! Thank
    you, Nico!

    BTW, the sample that you sent me was completely the same with what I used -
    finally found out that it was all just my fault - it wasn't working because
    I have set CachePages to True :(.

    Cheers,

    Dimitar
This discussion has been closed.