I almost always use the dialog. Sometime printers remember that last settings so if the last thing the user printed was an envelope that is how the document in your solution will print. Also, without the dialog they won't be able to choose a different printer.
I hate the way it works I wish there was a way to set "current record" or "records being browsed" without having the print dialog come up every time.
You can set 'current record' or 'records being browsed' with a simple script that branches with a custom dialog
There is no right or wrong answer here. I think it depends on the user experience you (and your users) want, as well as the possibilities for users to stuff things up if the print dialog is open to them, and also whether they will understand what options need to be selected and how to select them. If I have a script that is printing a complex series of reports I would usually print without dialog to avoid the user having to sit there and address an endless series of print dialogs. On the other hand if the user needs/wants some control at that end (eg. to choose which printer to use) then give them the dialog, but script the likely/required other choices before that—current record or found set, portrait or landscape, etc. I also like to build interactive choices into the script using custom dialogs, with subsequent steps branching according to user choices.
There is no right or wrong answer here. I think it depends on the user experience you (and your users) want,
Agreed. There is no best practice here. Either you need to show the dialog or you don't. If the users need to be able to pick the printer; you show it.
If you think the dialog shows too many options then your only option is to look into some of the print plugins.
If the printer is changed to a new printer or a new location (maybe even renamed) a script without a dialog will fail. Someone not on the local network, for instance a remote user, would want to use their own printer and need the dialog.
FileMaker does have a method of changing the default printer, learned the hardway, if you don't show the dialog. Use the File:Print Set Up... menu to select a printer. This has the possibility of resetting your default printer in the scripts if not printer was designated or if it can be reset if you did. After changing the default printer in this manner, it shuld be the default for all scripted print steps.
The possibilities of a change of printer or use of an unknown printer at another site are two of the user needs you would have to address in deciding how to approach this issue.
Nevertheless, it is still possible to cover both with and without dialog options in a print script if you use custom dialog and branching options. The custom dialog could ask: "Do you want to use printer A, printer B or other printer?", the script then branching according to which option the user chooses.
As for the default printer, in all solutions I prefer to manage printing via a script rather than the standard menu command since I can set my preferred options before I get to the actual print stage, regardless of whether the print dialog is shown or not. I tend not to rely on FM selecting the default printer, preferring to specify a printer within any printing script. Sometimes I still show the print dialog, to enable it to be changed on the fly for a specific print job; the advantage of this approach is that any print script will set my preferred options each time, regardless of what was done the last time the script was run, or anything was printed via the menu.