21. Mai 2024 12:57
page 50102 "ProductQuantities"
{
PageType = List;
Extensible = true; // The page can be extended
layout
{
area(content)
{
group(General)
{
field(Position; Position)
{
ApplicationArea = All;
Caption = 'Position';
ToolTip = 'Gibt die Position des Elements in der Liste an';
}
field(Quantity; Quantity)
{
ApplicationArea = All;
Caption = 'Menge';
ToolTip = 'Gibt die Menge des Elements in der Liste an';
}
}
}
}
// Variables for managing the quantities list
var
ProductQuantities: List of [Integer];
Position: Integer;
Quantity: Integer;
trigger OnOpenPage()
begin
// Initializes the list with the preset quantities
ProductQuantities.Add(50);
ProductQuantities.Add(100);
ProductQuantities.Add(30);
end;
actions <-------
{
area(processing)
{
// Action to remove an item from the list
action("Remove Item")
{
ApplicationArea = All;
Caption = 'Element entfernen';
ToolTip = 'Entfernt ein Element aus der Liste, indem die Position angegeben wird';
trigger OnAction()
begin
ProductQuantities.Remove(Position);
Message('Element an Position %1 wurde entfernt.', Position);
end;
}
// Action to add an item to the list
action("Add Item")
{
ApplicationArea = All;
Caption = 'Element hinzufügen';
ToolTip = 'Fügt ein Element zur Liste hinzu, indem die Position angegeben wird';
trigger OnAction()
begin
ProductQuantities.Insert(Position, Quantity);
Message('Element an Position %1 wurde mit Menge %2 hinzugefügt.', Position, Quantity);
end;
}
// Action to change the quantity of an item in the list
action("Add Quantity")
{
ApplicationArea = All;
Caption = 'Menge hinzufügen';
ToolTip = 'Fügt eine Menge zu einem Element in der Liste hinzu, indem die Position angegeben wird';
trigger OnAction()
begin
if (Position >= 1) and (Position <= ProductQuantities.Count) then
begin
var CurrentQuantity: Integer := ProductQuantities.Get(Position);
var NewQuantity: Integer := CurrentQuantity + Quantity;
ProductQuantities.Set(Position, NewQuantity);
Message('Element an Position %1 wurde auf Menge %2 erhöht.', Position, NewQuantity);
end
else
begin
Message('Position %1 ist ungültig. Bitte geben Sie eine gültige Position ein.', Position);
end;
end;
}
action("Subtract Quantity")
{
ApplicationArea = All;
Caption = 'Menge abziehen';
ToolTip = 'Zieht eine Menge von einem Element in der Liste ab, indem die Position angegeben wird';
trigger OnAction()
begin
if (Position >= 1) and (Position <= ProductQuantities.Count) then
begin
var CurrentQuantity: Integer := ProductQuantities.Get(Position);
var NewQuantity: Integer := CurrentQuantity - Quantity;
if NewQuantity < 0 then
begin
Message('Die eingegebene Menge ist zu groß. Die aktuelle Menge beträgt %1.', CurrentQuantity);
end
else
begin
ProductQuantities.Set(Position, NewQuantity);
Message('Element an Position %1 wurde auf Menge %2 reduziert.', Position, NewQuantity);
end;
end
else
begin
Message('Position %1 ist ungültig. Bitte geben Sie eine gültige Position ein.', Position);
end;
end;
}
}
}
}
21. Mai 2024 13:56
21. Mai 2024 15:00