Page 1340 Config Templates, source in 29
Source29
src/Layers/W1/BaseApp/System/RapidStart/ConfigTemplates.Page.al211 lines, Copyright (c) Microsoft Corporation. MIT
namespace System.IO;
using Microsoft.Finance.Dimension;
using Microsoft.Inventory.Item;
using Microsoft.Purchases.Vendor;
using Microsoft.Sales.Customer;
page 1340 "Config Templates"
{
ApplicationArea = Basic, Suite;
Caption = 'Templates';
DeleteAllowed = false;
InsertAllowed = false;
ModifyAllowed = false;
PageType = List;
SourceTable = "Config. Template Header";
UsageCategory = Lists;
layout
{
area(content)
{
repeater("Repeater")
{
field("Template Name"; Rec.Description)
{
ApplicationArea = Basic, Suite;
ToolTip = 'Specifies a description of the template.';
}
field(Enabled; Rec.Enabled)
{
ApplicationArea = Basic, Suite;
ToolTip = 'Specifies if the template is ready to be used';
Visible = not NewMode;
}
}
}
}
actions
{
area(creation)
{
action(NewConfigTemplate)
{
ApplicationArea = All;
Caption = 'New';
Image = New;
RunObject = Page "Config. Template Header";
RunPageMode = Create;
ToolTip = 'Create a new configuration template.';
}
}
area(processing)
{
action(Delete)
{
ApplicationArea = Basic, Suite;
Caption = 'Delete';
Image = Delete;
ToolTip = 'Delete the record.';
trigger OnAction()
begin
if Confirm(StrSubstNo(DeleteQst, Rec.Code)) then
Rec.Delete(true);
end;
}
}
area(Promoted)
{
group(Category_Process)
{
Caption = 'Process';
actionref(NewConfigTemplate_Promoted; NewConfigTemplate)
{
}
actionref(Delete_Promoted; Delete)
{
}
}
group(Category_Category4)
{
Caption = 'Manage', Comment = 'Generated from the PromotedActionCategories property index 3.';
}
group(Category_Report)
{
Caption = 'Report', Comment = 'Generated from the PromotedActionCategories property index 2.';
}
}
}
trigger OnDeleteRecord(): Boolean
begin
case Rec."Table ID" of
Database::Customer,
Database::Item:
ConfigTemplateManagement.DeleteRelatedTemplates(Rec.Code, Database::"Default Dimension");
end;
end;
trigger OnOpenPage()
var
FilterValue: Text;
begin
FilterValue := Rec.GetFilter("Table ID");
if not Evaluate(FilteredTableId, FilterValue) then
FilteredTableId := 0;
UpdatePageCaption();
if NewMode then
UpdateSelection();
end;
trigger OnQueryClosePage(CloseAction: Action): Boolean
begin
if NewMode and (CloseAction = ACTION::LookupOK) then
SaveSelection();
end;
var
ConfigTemplateManagement: Codeunit "Config. Template Management";
FilteredTableId: Integer;
#pragma warning disable AA0074
ConfigurationTemplatesCap: Label 'Configuration Templates';
CustomerTemplatesCap: Label 'Customer Templates';
VendorTemplatesCap: Label 'Vendor Templates';
ItemTemplatesCap: Label 'Item Templates';
SelectConfigurationTemplatesCap: Label 'Select a template';
SelectCustomerTemplatesCap: Label 'Select a template for a new customer';
SelectVendorTemplatesCap: Label 'Select a template for a new vendor';
SelectItemTemplatesCap: Label 'Select a template for a new item';
#pragma warning restore AA0074
DeleteQst: Label 'Delete %1?', Comment = '%1 - configuration template code';
protected var
NewMode: Boolean;
local procedure UpdatePageCaption()
var
PageCaption: Text;
begin
if not NewMode then
case FilteredTableId of
Database::Customer:
PageCaption := CustomerTemplatesCap;
Database::Vendor:
PageCaption := VendorTemplatesCap;
Database::Item:
PageCaption := ItemTemplatesCap;
else
PageCaption := ConfigurationTemplatesCap;
end
else
case FilteredTableId of
Database::Customer:
PageCaption := SelectCustomerTemplatesCap;
Database::Vendor:
PageCaption := SelectVendorTemplatesCap;
Database::Item:
PageCaption := SelectItemTemplatesCap;
else
PageCaption := SelectConfigurationTemplatesCap;
end;
CurrPage.Caption(PageCaption);
end;
local procedure UpdateSelection()
var
ConfigTemplateHeader: Record "Config. Template Header";
TemplateSelectionMgt: Codeunit "Template Selection Mgt.";
TemplateCode: Code[10];
begin
case FilteredTableId of
Database::Customer:
TemplateSelectionMgt.GetLastCustTemplateSelection(TemplateCode);
Database::Vendor:
TemplateSelectionMgt.GetLastVendorTemplateSelection(TemplateCode);
Database::Item:
TemplateSelectionMgt.GetLastItemTemplateSelection(TemplateCode);
end;
if not (TemplateCode = '') then
if ConfigTemplateHeader.Get(TemplateCode) then
Rec.SetPosition(ConfigTemplateHeader.GetPosition());
end;
local procedure SaveSelection()
var
TemplateSelectionMgt: Codeunit "Template Selection Mgt.";
begin
case FilteredTableId of
Database::Customer:
TemplateSelectionMgt.SaveCustTemplateSelectionForCurrentUser(Rec.Code);
Database::Vendor:
TemplateSelectionMgt.SaveVendorTemplateSelectionForCurrentUser(Rec.Code);
Database::Item:
TemplateSelectionMgt.SaveItemTemplateSelectionForCurrentUser(Rec.Code);
end;
end;
procedure SetNewMode()
begin
NewMode := true;
end;
}