For direct printing to the printer we are using the settings of the standard Printer Selection table (78) and the workaround with the TaskScheduler.CreateTask function.
Unfortunately, there is a limitation caused by the fact that this function has only RecordID as a parameter, so only one record from the database can be set as a parameter for TaskScheduler.CreateTask.
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/methods-auto/recordid/recordid-data-type
If the parameter could be of type RecordRef, for example, then this would allow you to set any filter on the table for that use case (for example run report directly to the printer with specific filter).
This is why we would appreciate if the parameter of the TaskScheduler.CreateTask function could be e.g. RecordRef.