Erstellen einer Page in AL

Der grundlegende Aufbau einer Page in Business Central wird bei Verwendung des AL-Snippets tpage ersichtlich:

tpage

Im Kopf der Page werden alle Properties festgelegt, wie z.B. die SourceTable.

Im layout-Bereich wird der sichtbare Aufbau der Seite definiert. Dazu werden die Felder ggf. den entsprechenden Gruppen untergeordnet, welche sich in der Content-Area befinden.

Der actions-Bereich dient zum Festlegen der Actions, die auf der Seite zugänglich sein sollen.

Nach dem Schlüsselwort var können globale Variablen definiert werden. Darüber hinaus können Page-Trigger und Funktionen deklariert werden:

ttrigger

Arten von Pages

Die Art der Page wird durch die PageType-Property festgelegt:

Page Type

List Pages

List Pages dienen zum Anzeigen von Tabellen in Form einer Liste. Die in der Tabelle enthaltenen Felder können als Spalten in der Liste eingeblendet werden.

Zum Anzeigen der Felder wird ein repeater in der Content-Area benötigt:

area(Content)
{
    repeater(General)
    {
        field(id; MyField; Blob)
        {

        }
    }
}

Zusätzlich können List Pages auch noch eine FactBox-Area enthalten.

Card Pages

Zum übersichtlichen Anzeigen und Bearbeiten einzelner Tabelleneinträge werden Card Pages verwendet, insbesondere dann, wenn zu jedem Eintrag viele Informationen in Feldern dargestellt werden müssen. Dazu werden die Felder in diverse FastTabs gruppiert, welche sich ein- und ausklappen lassen.

Ein FastTab entspricht einer Group vom SubType Group. Die in einem FastTab enthaltenen Felder können durch Unterordnen weiterer Groups zusätzlich kategorisiert werden:

area(Content)
{
    group(General)
    {
        field(id; MyField; Blob)
        {
            
        }
    }
}

Zusätzliche Informationen können auch hier über eine FactBox-Area eingeblendet werden.

Document Pages

Die Document Page entspricht einer Card Page, in welcher eine List Page als Page Part eingebunden werden kann. In dieser können mit dem Record verknüpfte Einträge aus einer anderen Tabelle angezeigt werden. Die Verknüpfung der Tabelleneinträge wird über die Property SubPageLink festgelegt:

area(Content)
{
    group(General)
    {
        field("No."; "No.")
        {
            ApplicationArea = All;
        }
    }

    part("SalesLines"; "Sales Order Subform")
    {
        SubPageLink = "Document No." = field("No.");
    }
}

Ein Beispiel hierfür ist die Page 'Sales Order', auf welcher im FastTab 'Allgemein' sowohl die Detailinformationen eines Eintrags aus der Tabelle 'Sales Header' als auch eine Liste von Einträgen aus der Tabelle 'Sales Lines' angezeigt werden:

Verkaufsauftrag Gilde Jupiter Versicherungs AG

Worksheet Pages

Die Worksheet Page gleicht der List Page, da sie Tabelleneinträge in Listenform darstellt. Im Unterschied dazu werden die Einträge nicht sortiert, sondern bleiben in der Reihenfolge, in der sie vom Benutzer angelegt wurden. Voraussetzung dafür ist ein Integer als letztes Feld im Primärschlüssel der Tabelle sowie die AutoSplitKey-Property auf der Page:

AutoSplitKey = true;

Zusätzlich können Fußzeilen eingeblendet werden, welche Detailinformationen über die ausgewählte Zeile oder Zusammenfassungen aller Zeilen anzeigen können.

Häufig werden Worksheet Pages in Buchblättern verwendet:

Worksheet Pages Buchungsblätter

Role Center Page

Eine Role Center Page stellt eine vom Benutzer anpassbare Startseite dar, welche ihm die für seine Rolle wichtigsten Aufgaben präsentiert und ihm relevante Informationen anzeigt.

Zum Erstellen eines Role Centers wird eine RoleCenter-Area benötigt, in welchem die anzuzeigenden Elemente als Parts eingebunden werden:

area(RoleCenter)
{
    part(Activities; "SO Processor Activities")
    {
        
    }
}
Role Center

Auf Role Center Pages können weder trigger noch actions verwendet werden.