関数とは、アプリケーション内で特定の処理を実行したり、コード内のロジックに基づいて所望の結果を得るために呼び出される一連のステートメントです。Node.js は、クロスプラットフォームのオープンソース JavaScript 実行環境です。Node.js を導入すると、アプリはリクエストごとに新しいスレッドを作成することなく、単一プロセス内で実行できるようになります。
新しい Node.js 関数を作成するには:
-
ワークフロー をクリックして、ワークフロー ダッシュボードに移動します。

-
Functions タブをクリックします。

-
New Function ボタンをクリックします。

-
作成ページが表示されます。

-
Function Name を入力します。これは関数を呼び出す際に使用される識別子として機能します。関数には、スペースを含まない意味のある名前を指定してください。

-
関数のスクリプト言語として Node.js を選択します。

- Arguments を指定します。
- Create Function ボタンをクリックします。ビルダーが表示されます。
-
必要な Node.js コードを関数に追加します。

- 作成した関数は、ワークフロー ダッシュボードの Functions の下に一覧表示されます。
メモ:
- Namespace: Node.js 関数の Namespace は Default Namespace になります。
- Return Type: Node.js 関数の戻り値は、Collection データ型 のみです。
- Argument: Node.js 関数が受け取れるのは string 値のみです。
- Node.js 関数は作成後に名前を変更することはできません。
Deluge 関数と同様に、Node.js でも関数の実行に基づく引数を指定する必要があります。引数とは、関数を実行する際にメソッドへ渡されるインスタンスです。Node.js 関数を作成する際に、引数を 1 つ指定できます。同じ関数に後から別の引数を追加する必要がある場合は、ビルダー内の Function の Properties(設定 アイコンをクリック)にアクセスして追加できます。
プログラムを実行するには、Node.js 関数内でパラメーターを定義する必要があります。パラメーターとは、引数の値を割り当てるための変数です。Deluge から渡された引数の値は、このパラメーター(コンテナ)に格納され、Node.js 関数内で受け取られます。
次の関数は、Node.js 関数で平均を計算し、その結果を使用して Deluge でデータを更新するために作成されたものです。
無効 gradeCalculator。avgCalculation()
{
avg = 0。0;
for each i in Student_Details [ ID != 0 ]
{
合計 = i。Grand_Total。toString();
件数 = i。Number_of_Subjects。toString();
avg = thisapp。calculatorFunction(合計,件数).取得する('output').toDecimal();
i。平均 = avg ;
}

タブ。exports = async function( context, basicIO )
{
var 合計 = parseInt(basicIO。getParameter('合計'));
var 件数 = parseInt(basicIO。getParameter('件数'));
var nodeFile = require('平均。js');
basicIO。write(nodeFile。calculateAvg(合計, 件数));
}
this。calculateAvg = function (合計, 件数)
{
返品する (合計/count);
}

メモ:
- タブ。exports = async function( context, basicIO ) は削除しないでください。削除すると、実行エラーが発生します。
Config.json とライブラリ
- config.json は構成ファイルです。
- node_modules は、Node.js ファイルをアップロードできるフォルダーです。フォルダーを右クリックしてファイルをアップロードします。
Deluge スクリプト内で Node.js 関数を呼び出すには、以下の画像に示すステートメントを使用します。この例では、「thisapp。calculatorFunction(合計,件数);」が Node.js 関数を指しており、その戻り値はコレクションとして値を保持しています。

入力したパラメーターに変数を割り当てて、出力を取得します。上記の例では、変数は合計(グランド合計)と件数(件名の数)です。これら 2 つのパラメーターは、basicIO.getParameter を使用して取引明細から取得します。node_modules フォルダーは、node.js 関数内で使用できる .js 形式のファイルをアップロードするためのコンテナとして機能します。このフォルダー内でコードを作成して保存し、node.js 関数から参照することもできます。たとえば、合計と件数の変数に対して平均を計算するコードを含む heikin.js ファイルを作成しています。nodeFile = require(heikin.js) は、その .js ファイルにアクセスして計算を実行するための構文です。ただし、平均を求めるために変数を処理するコードは、node.js スクリプト内に直接記述することもできます。node_modules は、複雑な計算や繰り返し使用する計算を作成する場合に有用です。
basicIO.write 明細は、計算後の結果を出力するために使用します。こうして得られた結果は、後続の処理のために Deluge 関数内で使用できます。