Page extension 3997 Reten. Pol. Setup Lines Ext.

App
Base Application
Namespace
System.DataAdministration
Versions
18-28
Extends
#63ca2fa44f034f2ba480172fef340d3f#Retention Policy Setup Lines

Procedures, 1Events, 1

Versions171819202122232425262728

Source29

Source in 29

src/Layers/W1/BaseApp/OtherCapabilities/RetentionPolicy/RetenPolSetupLinesExt.PageExt.al53 lines, Copyright (c) Microsoft Corporation. MIT

namespace System.DataAdministration;

using Microsoft.Projects.Project.Archive;
using Microsoft.Purchases.Archive;
using Microsoft.Sales.Archive;

pageextension 3997 "Reten. Pol. Setup Lines Ext." extends "Retention Policy Setup Lines"
{
    layout
    {
        // Add changes to page layout here
        addbefore(Enabled)
        {
            field(KeepLastVersion; Rec."Keep last version")
            {
                ApplicationArea = All;
                ToolTip = 'Specifies whether to prevent the last archived version of a document from expiring.';
                Enabled = IsDocumentArchiveTable;
                Editable = not RecIsLocked;
                Style = Subordinate;
                StyleExpr = RecIsLocked;
            }
        }
    }

    protected var
        IsDocumentArchiveTable: Boolean;

    var
        RecIsLocked: Boolean;

    internal procedure SetIsDocumentArchiveTable(TableId: Integer)
    begin
        IsDocumentArchiveTable := TableId in [Database::"Sales Header Archive", Database::"Purchase Header Archive", Database::"Job Archive"];
        OnAfterSetIsDocumentArchiveTable(TableId, IsDocumentArchiveTable);
    end;

    trigger OnAfterGetCurrRecord()
    begin
        RecIsLocked := Rec.IsLocked();
        SetIsDocumentArchiveTable(Rec."Table ID");
    end;

    trigger OnNewRecord(BelowxRec: Boolean)
    begin
        RecIsLocked := false;
    end;

    [IntegrationEvent(false, false)]
    local procedure OnAfterSetIsDocumentArchiveTable(TableId: Integer; var IsDocumentArchiveTable: Boolean)
    begin
    end;
}