Creazione di codeunit e accesso
Per creare una nuova codeunit, è possibile usare il frammento tcodeunit. Assicurarsi di fornire un numero e un nome alla codeunit. Questo passaggio consentirà di accedere alle funzioni all'interno della codeunit in base al nome.
codeunit 50100 MyCodeunit
{
Access = Public;
Subtype = Normal;
trigger OnRun()
begin
end;
procedure MyFunction(Param1: Integer; Param2: Text[50]) : Boolean
begin
end;
}
Per accedere alle funzioni all'interno di una codeunit, creare prima una variabile di tipo Codeunit. Sarà quindi possibile accedere a tutte le funzioni della codeunit (in base alle relative proprietà di accesso).
codeunit 50101 MyCodeunit2
{
trigger OnRun()
var
MyCodeUnit1: Codeunit MyCodeunit;
Result: Boolean;
begin
Result := MyCodeUnit1.MyFunction(5, 'Test');
end;
}
È inoltre possibile accedere a una codeunit dall'interno di una pagina usando la proprietà RunObject in un'azione.
Se si usa la proprietà RunObject, è possibile eseguire solo il trigger OnRun, non le altre funzioni nella codeunit.
actions
{
area(Processing)
{
action(ActionName)
{
ApplicationArea = All;
Image = NewSum;
Caption = 'ActionName';
ToolTip = 'Click to run MyCodeunit';
RunObject = codeunit MyCodeunit;
}
}
}
Per accedere alle altre funzioni è possibile usare il trigger OnAction.
actions
{
area(Processing)
{
action(ActionName)
{
ApplicationArea = All;
Image = NewSum;
Caption = 'ActionName2';
ToolTip = 'Click to run MyCodeunit';
RunObject = codeunit MyCodeunit;
trigger OnAction()
var
MyCodeunit1: Codeunit MyCodeunit;
begin
MyCodeunit1.MyFunction(2, 'Test 2');
end;
}
}
}