Benutzerdefinierte Prozeduren

Abgeschlossen

Die Gründe für das Erstellen benutzerdefinierter Prozeduren ist:

  • Das Programm organisieren.

  • Selbsterklärenden Code erstellen.

  • Den Entwicklungsprozess vereinfachen.

  • Code wiederverwendbar machen, was die Arbeit reduziert.

  • Fehler reduzieren.

  • Änderungen erleichtern

  • Die Größe der Objekte reduzieren.

Eine Prozedur ist ein benannter Teil eines Programms. Sie können viele Zeilen gruppieren, einen Namen vergeben und diesen Codeblock dann beim Namen nennen.

Verwenden Sie eine benutzerdefinierte Funktion, um den Ausschnitt tprocedure zu verwenden.

local procedure MyProcedure()
begin
   // Some logic goes here.
end;

Eine benutzerdefinierte oder vorhandene Prozedur kann aus Ausdrücken oder aus Anweisungen heraus aufgerufen werden.

Prozeduraufruf in einem Ausdruck

Im folgenden Beispiel wird die benutzerdefinierte Prozedur CalculatePrice aus einem Ausdruck heraus aufgerufen, der den berechneten Preis mit einer bestimmten Menge multipliziert. Die Prozedur CalculatePrice führt eine Berechnungslogik durch und gibt das Ergebnis als Dezimalzahl zurück.

trigger OnRun()
begin
  TotalCost := Quantity * CalculatePrice();
end;

procedure CalculatePrice() : Decimal
begin
   // Some calculation logic goes here.
end;

Prozeduraufruf in einer Anweisung

Im nächsten Beispiel wird die benutzerdefinierte Funktion MyCustomFunction aus einer Anweisung heraus aufgerufen.

trigger OnRun()
begin
  if Quantity > 5 then
    MyCustomFunction();
end;

procedure MyCustomFunction()
begin
   // Some logic goes here.
end;

GuiAllowed-Funktion

Wenn Sie benutzerdefinierte Prozeduren erstellen, sollten Sie die Funktion GuiAllowed berücksichtigen. Mit dieser Funktion können Sie festlegen, wann bestimmte Teile Ihres Codes ausgeführt werden sollen, je nachdem, ob eine grafische Benutzeroberfläche (GUI) verfügbar ist oder nicht.

Eine Benutzeroberfläche wird nicht verwendet, wenn Ihr Code von einem Webdienst ausgeführt wird. Wenn Ihr Code Benutzereingaben erwartet oder eine Meldung anzeigt, führt dies zu einem Fehler. Mit der Funktion GuiAllowed können Sie testen, ob eine GUI verfügbar ist oder nicht, bevor Sie Benutzereingaben anfordern.

if GuiAllowed then
   Message('Hello');

Diese Funktion wird in Business Central verwendet, wenn Ihre Funktion über den API-Service aufgerufen werden kann.