set_printer and set_printer2 (OpenInsight 64-bit)
At 24 JAN 2024 07:54:37PM Barry Stevens wrote:
If I set cfg_oipi to setprinter2 in <1>
Then set_printer() will use .net - Yes
Now if I need to use classic for some reports by using (say) set_printer2, how would I now set that as I see <2> is a 0
At 24 JAN 2024 09:04PM Barry Stevens wrote:
If I set cfg_oipi to setprinter2 in <1>
Then set_printer() will use .net - Yes
Now if I need to use classic for some reports by using (say) set_printer2, how would I now set that as I see <2> is a 0
Ok, I need to put this another way.
what version do these commands use
set_printer
set_printer1
set_printer2
Which 'set_printer' command do I use to get .net and another to use classic outputs
At 24 JAN 2024 10:28PM bshumsky wrote:
Hi, Barry. To make OIPI as flexible as possible, we have the following rules when analysing CFG_OIPI field 1:
1. If the value in field 1 ends with "2" or contains "net" ⇒ use OIPI.Net
2. If the value in field 1 is "VSPRINTER", or ends with "1", or is "OIPI", or contains "classic" ⇒ use OIPI classic
3. if the value in field 1 is "disabled" or "none" ⇒ throw away output
4. Any other value ⇒ default to OIPI classic
Thus, to answer your question:
set_printer will use OIPI classic (rule #4)
set_printer1 will use OIPI classic (rule #2)
set_printer2 will use OIPI .Net (rule #1)
Possibly confusing you is the SET_VSPRINTER "override" routine, which accepts "2" or "1" as its values. What it does behind the scenes is set the "field 1 value" to VSPRINTER2 if you pass in "2" (or "VSPRINTER2"), or VSPRINTER1 if you pass in "1" (or "VSPRINTER" or "VSPRINTER1").
I hope that clarifies it a bit for you.
- Bryan Shumsky
At 25 JAN 2024 01:35AM Barry Stevens wrote:
Hi, Barry. To make OIPI as flexible as possible, we have the following rules when analysing CFG_OIPI field 1:
1. If the value in field 1 ends with "2" or contains "net" ⇒ use OIPI.Net
2. If the value in field 1 is "VSPRINTER", or ends with "1", or is "OIPI", or contains "classic" ⇒ use OIPI classic
3. if the value in field 1 is "disabled" or "none" ⇒ throw away output
4. Any other value ⇒ default to OIPI classic
Thus, to answer your question:
set_printer will use OIPI classic (rule #4)
set_printer1 will use OIPI classic (rule #2)
set_printer2 will use OIPI .Net (rule #1)
Possibly confusing you is the SET_VSPRINTER "override" routine, which accepts "2" or "1" as its values. What it does behind the scenes is set the "field 1 value" to VSPRINTER2 if you pass in "2" (or "VSPRINTER2"), or VSPRINTER1 if you pass in "1" (or "VSPRINTER" or "VSPRINTER1").
I hope that clarifies it a bit for you.
- Bryan Shumsky
SET_VSPRINTER(1)
Thank thank you.
You actually helped me crack an issue we had where in OI9 all reports and forms used classic.
In OI10 we wanted all reports to use .net - all good, they have set_printer.
BUT needed to change the forms ones (because of alignment issues) to use the classic and that meant going through and changing all those routines to set_printer1.
now just do SET_VSPRINTER(1) at start of those!!!!