NetTalk Central

NetTalk Web Server => Web Server - Ask For Help => Topic started by: seanh on February 26, 2023, 11:00:43 PM

Title: How to open a new a page after insert
Post by: seanh on February 26, 2023, 11:00:43 PM
I have an invoice entry form.
After completing I want to print the invoice.
So after saving and before returning to the browse I want to open a new window that will be printed.

Where and What do I do to achieve this?
Title: Re: How to open a new a page after insert
Post by: Vinnie on February 27, 2023, 12:37:40 AM
After creating an Invoice I also create a PDF file copy of the invoice which the user can download at any time.
I never print the PDF file but if the user wanted to they could not sure why.

Title: Re: How to open a new a page after insert
Post by: seanh on February 27, 2023, 01:38:35 AM
Thanks Vinnie,
Unfortunatly the invoice is also going to be used by kitchen staff to create the order.  So I need to print it every time.
Title: Re: How to open a new a page after insert
Post by: Vinnie on February 27, 2023, 03:50:30 AM
OK so I do this also.
I have a separate Windows exe which prints reports.
The webserver just adds a job to the list and the compiler prints.
Seamless for the user.
Title: Re: How to open a new a page after insert
Post by: seanh on February 27, 2023, 08:04:50 PM
I'll think about that approach, but I don't think I can guarantee Windows clients.

In the mean time I do have something that will print.
I just need to open that page before returning to the browse.
Title: Re: How to open a new a page after insert
Post by: Bruce on February 27, 2023, 08:55:49 PM
JavaScript does not have any print object or print methods.
You cannot access output devices from JavaScript.
The only exception is that you can call the window.print() method in the browser to print the content of the current window.

so you can put a button on the page, that calls window.print() (in javascript) then (also in javascript) triggers the print button.

It's not really a shock to discover that "silent printing from your browser" is a no-no, because well, spam.

Cheers
Bruce
Title: Re: How to open a new a page after insert
Post by: seanh on February 27, 2023, 09:08:13 PM
Thanks Bruce,  Yes, I know, and I have a page that does just what you suggest. 
What I don't know how to do is to call that page between saving the form and return to the browse.

Any pointers on that?
Title: Re: How to open a new a page after insert
Post by: seanh on February 28, 2023, 06:46:55 PM
I got this working the way I want.
I added to the form an additional Save Button and changed the text to 'Save and Print'

In the browse in embed Browse Procedure -> 3 End of Procedure  I put
      IF p_web.GetValue('_buttontext_') = 'Save and Print'
          p_web.Script( p_web.WindowOpen('DocketPrint','_blank'),1)
      END

Which open a new window/tab with the print and leaves the browse in the origianal window.