A client of ours, using Navision 3.70, is having some problems with networked printers on a server. They have application server installed on this machine, which periodically will print out various reports to various networked printers (which are in remote locations - they use terminal services or something to connect them). The problem is, when they reboot the server, the printers no longer work. They have to reselect the printers within navsision before it will work again. Now I have heard of this problem before - I think we called it the “NE problem” before, as it was something to do with the ne number given to the printer by the OS. This changes when rebooted, which confuses Navision. Has anyone else ran into this problem? And if so, how did you go about fixing it? Thanks. Shanon.
Change the function FindPrinter in CU1, Printer is a new local variable of type record for 2000000039:
FindPrinter(ReportID : Integer) : Text CLEAR(PrinterSelection); IF NOT PrinterSelection.GET(USERID,ReportID) THEN IF NOT PrinterSelection.GET('',ReportID) THEN IF NOT PrinterSelection.GET(USERID,0) THEN IF PrinterSelection.GET('',0) THEN; Printer.SETFILTER(Name,'@'+PrinterSelection."Printer Name"); IF Printer.FIND('-') THEN EXIT(Printer.ID) ELSE EXIT(''); do not forget to change also the table “Printer Selection”: remove table relation for “Printer Name” and add some “OnLookup” code according to the following: You need three additional variables: Printer Record Printer Printers Form Printers PrinterID Text250
CLEAR(Printers); Printer.SETFILTER(Name,'@'+"Printer Name"); IF Printer.FIND('-') THEN PrinterID := Printer.ID; Printer.RESET; IF Printer.GET(PrinterID) THEN; Printers.SETTABLEVIEW(Printer); Printers.SETRECORD(Printer); Printers.LOOKUPMODE := TRUE; IF Printers.RUNMODAL = ACTION::LookupOK THEN BEGIN Printers.GETRECORD(Printer); "Printer Name" := Printer.Name; END; Now you need to change all printer selections (new lookup on each line) and voila.