Crear una codeunit y tener acceso a ella
Para crear una nueva codeunit, puede usar el fragmento tcodeunit. Asegúrese de indicar un número y un nombre para la codeunit. Este paso lo ayudará a acceder a las funciones de la codeunit según el nombre.
codeunit 50100 MyCodeunit
{
Access = Public;
Subtype = Normal;
trigger OnRun()
begin
end;
procedure MyFunction(Param1: Integer; Param2: Text[50]) : Boolean
begin
end;
}
Para acceder a las funciones de una codeunit, primero cree una variable de tipo Codeunit. Luego puede acceder a todas las funciones de codeunit (en función de las propiedades de acceso).
codeunit 50101 MyCodeunit2
{
trigger OnRun()
var
MyCodeUnit1: Codeunit MyCodeunit;
Result: Boolean;
begin
Result := MyCodeUnit1.MyFunction(5, 'Test');
end;
}
También puede acceder a una codeunit desde una página con la propiedad RunObject en una acción.
Si usa la propiedad RunObject, solo puede ejecutar el desencadenador OnRun, no las otras funciones de la codeunit.
actions
{
area(Processing)
{
action(ActionName)
{
ApplicationArea = All;
Image = NewSum;
Caption = 'ActionName';
ToolTip = 'Click to run MyCodeunit';
RunObject = codeunit MyCodeunit;
}
}
}
Para acceder al resto de funciones, puede usar el desencadenador 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;
}
}
}