This causes us no end of problems for our Citrix clients. How difficult and time consuming would it be to remove this? How is it even needed in Navision? Thanks in advance.
It is a printer number return from windows. Here is some code to fix the problem, put the code i codeunit 1 in the function LogInStart IF USERID <> '' THEN BEGIN PrinterSelection.SETRANGE("User ID",USERID); PrinterSelection.SETFILTER("Report ID",'<>%1',0); IF PrinterSelection.FIND('-') THEN REPEAT Printer.SETRANGE(Navn,COPYSTR(PrinterSelection."Printer Name",1,STRPOS(PrinterSelection."Printer Name",',')-1)); IF Printer.FIND('><=') THEN BEGIN PrinterSelection."Printer Name" := PrinterSelection."Printer Name" + ',' + Printer.Enhed; PrinterSelection.MODIFY; END; UNTIL PrinterSelection.NEXT = 0; END;
C/AL locals Name DataType Subtype Length PrinterSelection Record Printer Selection Printer Record Printer
Thanks so much. We will implement ASAP and test.
Problem is this only works with User specif printers, which are not the big issue. Better is to incorporate this into the FindPrinter function,a nd then update on the fly each time the user tries to print. Just be ware that you may need a commit in there, and that could cause problems.
quote:
Originally posted by David Singleton
Just be ware that you may need a commit in there, and that could cause problems.
` What kind of problems?
Basically if you call a report with the paramater ShowRequestForm=TRUE, then you must have a commit immetiataley after you modify the printer name, so that you can open the request window, which is fine. But if you are printing, and not calling the request form, then you don’t need a commit, and in somecases, adding a commit could be dangerous. So you need to identify exactly what you are trying to achieve. Really what Flemming is suggesting is the safest solution, but it does mean setting up printers for every user. PS. Flemming, nice signature, very professional looking.
Duh, didn’t see a reponse to this topic in “active topics”. This “and in somecases”. What do you mean by that.