{{tag>category:"OpenInsight 64-bit" author:"Barry Stevens" author:"bshumsky"}} [[https://www.revelation.com/the-works|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]] ==== 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 [url=https://www.revelation.com]Revelation Software, Inc.[/url] ---- === 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 [url=https://www.revelation.com]Revelation Software, Inc.[/url] 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!!!! [[https://www.revelation.com/revweb/oecgi4p.php/O4W_HANDOFF?DESTN=O4W_RUN_FORM&INQID=WORKS_READ&SUMMARY=1&KEY=68AACAADF253324881AF319859B7094F|View this thread on the Works forum...]]