カスタム プロシージャ

完了

カスタム プロシージャを作成する理由は、次のとおりです。

  • プログラムを整理するため。

  • 自明のコードを作成するため。

  • 開発プロセスを簡略化するため。

  • コードを再利用できるようにして、作業を減らすため。

  • エラーを減らすため。

  • 変更を容易にするため。

  • オブジェクトのサイズを小さくするため。

プロシージャは、プログラムの名前付きの部分です。 多数の行をグループ化して名前を指定し、そのコードのブロックを名前で呼び出すことができます。

新しいカスタム関数を作成するには、tprocedure スニペットを使用します。

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

カスタムか既存かに関係なく、プロシージャは式またはステートメントの中から呼び出すことができます。

式でのプロシージャの呼び出し

次の例では、計算された価格と特定の数量を乗算する式の内部から CalculatePrice カスタム プロシージャを呼び出しています。 CalculatePrice プロシージャは、一部の計算ロジックを実行し、結果を 10 進数で返します。

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

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

ステートメントでのプロシージャ呼び出し

次の例では、カスタム関数 MyCustomFunction をステートメントから呼び出しています。

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

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

GuiAllowed 関数

カスタム プロシージャを作成する場合は、GuiAllowed 関数について考慮する必要があります。 この関数を使用して、グラフィカル ユーザー インターフェイス (GUI) が使用可能かによって、コードの特定の部分をいつ実行するかを指定できます。

コードが Web サービスによって実行されている場合、ユーザー インターフェイスは使用されません。 コードでユーザー入力が必要な場合、またはメッセージが表示される場合は、エラーが発生します。 GuiAllowed 関数を使用すると、ユーザー入力を要求する前に GUI が使用可能かどうかをテストできます。

if GuiAllowed then
   Message('Hello');

この関数は、Business Central で API サービスを使用して関数を呼び出すことができる場合に使用します。