Creazione di codeunit e accesso

Completato

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;
        }
    }
}