Join The Works program to have access to the most current content, and to be able to ask questions and get answers from Revelation staff and the Revelation community

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

Revelation Software, Inc.


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

Revelation Software, Inc.

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!!!!

View this thread on the Works forum...

  • third_party_content/community/commentary/forums_works/68aacaadf253324881af319859b7094f.txt
  • Last modified: 2025/05/29 20:25
  • by 127.0.0.1