カスタム プロシージャ
カスタム プロシージャを作成する理由は、次のとおりです。
プログラムを整理するため。
自明のコードを作成するため。
開発プロセスを簡略化するため。
コードを再利用できるようにして、作業を減らすため。
エラーを減らすため。
変更を容易にするため。
オブジェクトのサイズを小さくするため。
プロシージャは、プログラムの名前付きの部分です。 多数の行をグループ化して名前を指定し、そのコードのブロックを名前で呼び出すことができます。
新しいカスタム関数を作成するには、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 サービスを使用して関数を呼び出すことができる場合に使用します。