数量や単価など、明細のパーツ値を独自にチェックするサンプルをご紹介します。
本サンプルでは、申請内容確認時に数量と単価が入力されているかをチェックしています。
サンプルについて
本サンプルのソースコードについてや、カスタマイズ方法等の技術的なお問合せは承っておりません。
動作イメージ
利用するイベント
サンプルフォーム
サンプルで利用するフォームには、以下のパーツを配置しています。
パーツ名 | パーツID | パーツタイプ | 補足 |
---|---|---|---|
金額計算 | - | テーブルパーツ | 数量、単価、金額の3列 |
数量 | fidTb1Quantity | テキスト(一行)パーツ | 金額計算テーブル1列目、 数値型 |
単価 | fidTb1UnitPrice | テキスト(一行)パーツ | 金額計算テーブル2列目、金額型 |
金額 | fidTb1Price | 自動計算パーツ | 金額計算テーブル3列目、計算式:fidTb1Quantity * fidTb1UnitPrice |
カスタマイズコード
(function () {
'use strict';
// 申請内容確認イベント
collaboflow.events.on('request.input.check', function (event) {
// 明細行の情報
// テーブルパーツのIDは「 tbl_ + テーブルパーツの配置順」
const tableRows = event.parts['tbl_1'].value;
// 明細行分
for (let rowIndex = 0, rowCount = tableRows.length; rowIndex < rowCount; rowIndex++ ) {
const row = tableRows[rowIndex];
// 数量と単価
const quantity = row['fidTb1Quantity'].value;
const unitPrice = row['fidTb1UnitPrice'].value;
// 未入力か0ならアラート
if (quantity === '' || quantity === 0 || unitPrice=== '' || quantity === 0) {
alert(rowIndex + 1 + '行目の数量・単価が未入力です。');
return false;
}
}
});
})();
動作の確認手順
- サンプルのカスタマイズコードをjsファイルに保存します。
- アプリ設定>フォーム設定から新規に通常フォームを作成します。
- サンプルフォームに、先で記載されている必要な項目を配置します。
- サンプルフォームを再度表示し、カスタマイズタブを表示します。
- 保存したファイルをアップロードします。
- アプリ設定>経路設定から新規に経路を作成します。
- 新規文書から作成した経路名をクリックします。
- 申請画面が表示されます。
- 申請内容確認時に数量・単価の値が未入力の場合、アラートが表示されます。
コメント
0件のコメント
記事コメントは受け付けていません。