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 

  • Page:
    How-to Customize Item Label (Report Print) — Modify an existing Report Print standard report, to include more information in the layout and barcode.
  • Page:
    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.

    The purpose of the handler is two things:

    1. Determine if the report should be available in the given context and which steps should be provided to the user
    2. Extract the values of the steps and copy them to the request page of the report