Procedimentos personalizados
Os motivos para criar procedimentos personalizados são:
Organizar o programa.
Criar um código autoexplicativo.
Simplificar o processo de desenvolvimento.
Tornar o código reutilizável, o que reduz o trabalho.
Reduzir erros.
Ajudar a facilitar as modificações.
Reduzir o tamanho dos objetos.
Um procedimento é uma parte nomeada de um programa. Você pode agrupar muitas linhas, dar um nome a elas e chamar esse bloco de código pelo nome.
Para criar a nova função personalizada, use o trecho tprocedure.
local procedure MyProcedure()
begin
// Some logic goes here.
end;
Um procedimento, personalizado ou existente, pode ser chamado por meio de expressões ou instruções.
Chamada de procedimento em uma expressão
No exemplo a seguir, o procedimento personalizado CalculatePrice é chamado de uma expressão que multiplica o preço calculado por determinada quantidade. O procedimento CalculatePrice executa uma lógica de cálculo e retorna o resultado como um decimal.
trigger OnRun()
begin
TotalCost := Quantity * CalculatePrice();
end;
procedure CalculatePrice() : Decimal
begin
// Some calculation logic goes here.
end;
Chamada de procedimento em uma instrução
No próximo exemplo, a função personalizada MyCustomFunction é chamada a partir de uma instrução.
trigger OnRun()
begin
if Quantity > 5 then
MyCustomFunction();
end;
procedure MyCustomFunction()
begin
// Some logic goes here.
end;
Função "GuiAllowed"
Ao criar procedimentos personalizados, você deve considerar a função GuiAllowed. Você pode usar essa função para determinar quando partes específicas do seu código devem ser executadas, dependendo se uma interface gráfica do usuário (GUI) está disponível ou não.
Uma interface do usuário não é usada quando o código está sendo executado por um serviço Web. Se seu código espera a entrada do usuário ou exibe uma mensagem, isso resulta em um erro. Usando a função GuiAllowed, você pode testar se uma GUI está disponível ou não antes de solicitar a entrada do usuário.
if GuiAllowed then
Message('Hello');
Essa função é usada no Business Central quando sua função pode ser chamada por meio do serviço de API.