Codeunit 2617 Printer Setup Impl. in 28

App
System Application
Namespace
System.Device

Procedures, 5

Versions171819202122232425262728latest

Source242526272829

Source in 28

src/System Application/App/Printer Management/src/PrinterSetupImpl.Codeunit.al70 lines, Copyright (c) Microsoft Corporation. MIT

// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------

namespace System.Device;

/// <summary>
/// Implements functionality to manage printer settings.
/// </summary>
codeunit 2617 "Printer Setup Impl."
{
    Access = Internal;
    InherentEntitlements = X;
    InherentPermissions = X;

    var
        PrinterSetup: Codeunit "Printer Setup";
        NetworkPrinterTxt: Label 'Network Printer', Locked = true;
        NoPrinterSettingsMsg: Label 'No configuration is available for this printer.';
        UnableToSetDefaultPrinterErr: Label 'Cannot set this printer as the default printer.';
        SetMyDefaultPrinterSucessMsg: Label 'Printer %1 is set as default printer for all reports. You can open Printer Selections page to see the created entry.', Comment = '%1 = Printer ID';
        SetDefaultPrinterForAllUsersSucessMsg: Label 'Printer %1 is set as default printer for all reports of all users. You can open Printer Selections page to see the created entry.', Comment = '%1 = Printer ID';

    procedure GetPrinterType(Printer: Record Printer): Enum "Printer Type"
    begin
        if Printer.Device = NetworkPrinterTxt then
            exit(Enum::"Printer Type"::"Network Printer")
        else
            exit(Enum::"Printer Type"::"Local Printer");
    end;

    procedure OpenPrinterSettings(PrinterID: Text)
    var
        IsHandled: Boolean;
    begin
        PrinterSetup.OnOpenPrinterSettings(PrinterID, IsHandled);
        if not IsHandled then
            Message(NoPrinterSettingsMsg);
    end;

    procedure GetPrinterSelectionsPage(var PageID: Integer; var IsHandled: Boolean)
    begin
        PrinterSetup.GetPrinterSelectionsPage(PageID, IsHandled);
    end;

    procedure SetDefaultPrinterForCurrentUser(PrinterID: Text)
    var
        IsHandled: Boolean;
    begin
        PrinterSetup.OnSetAsDefaultPrinter(PrinterID, UserId, IsHandled);
        if IsHandled then begin
            Message(SetMyDefaultPrinterSucessMsg, PrinterID);
            exit;
        end;
        Error(UnableToSetDefaultPrinterErr);
    end;

    procedure SetDefaultPrinterForAllUsers(PrinterID: Text)
    var
        IsHandled: Boolean;
    begin
        PrinterSetup.OnSetAsDefaultPrinter(PrinterID, '', IsHandled);
        if IsHandled then begin
            Message(SetDefaultPrinterForAllUsersSucessMsg, PrinterID);
            exit;
        end;
        Error(UnableToSetDefaultPrinterErr);
    end;
}

Procedures, 5

NameParametersReturnsAccessObsolete
OpenPrinterSettings(Text)public-
GetPrinterSelectionsPage(var Integer, var Boolean)public-
SetDefaultPrinterForCurrentUser(Text)public-
SetDefaultPrinterForAllUsers(Text)public-
GetPrinterType(Record Printer)Enum Printer Typepublic-