How-to: Do not collect printer name (Report Print)
Description
Skip collecting printer name when printing a label
Use case
If you can determine the printer based on label name, context, user name, etc. then you may skip collecting printer-step
Modify the printer step
We hide the step and we set a default value.
This way, the value is set, but the user will not be prompted.
Using event OnLookupOnPrintReport_OnAfterAddStepForReport
// [Example] Hide printer step, instead of collecting the value, set a (hidden) default value
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB Report Print Lookup", 'OnLookupOnPrintReport_OnAfterAddStepForReport', '', true, true)]
local procedure MyOnLookupOnPrintReport_OnAfterAddStepForReport(_MobReport: Record "MOB Report"; var _RequestValues: Record "MOB NS Request Element"; _SourceRecRef: RecordRef; var _Step: Record "MOB Steps Element");
var
MobReportPrinter: Record "MOB Report Printer";
begin
// Making sure we only handle relevant label templates
if not _MobReport."Display Name".Contains('3x2') then
exit;
// Making sure we only handle the relevant step
if _Step.Get_name() <> 'ReportPrinter' then
exit;
// Find the printer to use
MobReportPrinter.FindFirst();
// Set defaultValue and hide printer-step
_Step.Set_defaultValue(MobReportPrinter."Printer Name");
_Step.Set_visible(false);
end;
See also
-
How-to Customize Item Label (Report Print) — Modify an existing Report Print standard report, to include more information in the layout and barcode.
-
How-to Create your own RequestPage Handler (Report Print) — Create a custom RequestPage Handler for a Report object for use with Report Print.
A RequestPage Handler is required to print a standard or custom Report Object from the mobile device.