Criar e acessar uma codeunit

Concluído

Para criar um novo codeunit, você pode usar o trecho tcodeunit. Certifique-se de fornecer um número e um nome para o codeunit. Esta etapa ajudará você a acessar as funções no codeunit por nome.

codeunit 50100 MyCodeunit
{
    Access = Public;
    Subtype = Normal;

    trigger OnRun()
    begin
        
    end;

    procedure MyFunction(Param1: Integer; Param2: Text[50]) : Boolean
    begin 

    end;
}

Para acessar funções em um codeunit, crie primeiro uma variável do tipo Codeunit. Em seguida, você pode acessar todas as funções de codeunit (dependendo das propriedades de acesso).

codeunit 50101 MyCodeunit2
{
    trigger OnRun()
    var
        MyCodeUnit1: Codeunit MyCodeunit;
        Result: Boolean;
    begin
        Result := MyCodeUnit1.MyFunction(5, 'Test');
    end;
}

Você também pode acessar um codeunit de dentro de uma página usando a propriedade RunObject em uma ação.

Se você usar a propriedade RunObject, só poderá executar o gatilho OnRun, não as outras funções no codeunit.

actions
{
    area(Processing)
    {
        action(ActionName)
        {
            ApplicationArea = All;
            Image = NewSum;
            Caption = 'ActionName';
            ToolTip = 'Click to run MyCodeunit';
            RunObject = codeunit MyCodeunit; 
        }
    }
}

Para acessar as outras funções, você pode usar o gatilho 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;
        }
    }
}