2つの日付パーツの値から日数を計算する
独自に日数を算出するサンプルをご紹介します。
サンプルについて
本サンプルのソースコードについてや、カスタマイズ方法等の技術的なお問合せは承っておりません。
利用するイベント
パーツ値変更イベント
詳しくは、利用可能な画面、イベントの一覧をご確認ください。
サンプルフォーム
サンプルで利用するフォームには、以下のパーツを配置しています。
パーツID | パーツタイプ | 補足 |
fidStartDate | 日付パーツ | 開始日 |
fidEndDate | 日付パーツ | 終了日 |
fidDayPeriod | テキスト(一行)パーツ | 日数。経路で編集不可に設定 |
カスタマイズコード
カスタマイズコード(function () {
'use strict';
collaboflow.events.on(['request.input.fidStartDate.change', 'request.input.fidEndDate.change'], function (e) {
const parts = e.parts; const startDate = parts['fidStartDate'].value; const endDate = parts['fidEndDate'].value;
if (startDate === '' || endDate === '') { // 開始日または終了日が空の場合は、日数をクリア parts['fidDayPeriod'].value = ''; return; }
const DAY_MILLION_SECOND = 24 * 60 * 60 * 1000; const dayPeriod = (startDate - endDate) / DAY_MILLION_SECOND;
parts['fidDayPeriod'].value = Math.abs(dayPeriod) + 1; });
})();動作の確認手順
1. サンプルのカスタマイズコードをjsファイルに保存します。
2. アプリ設定>フォーム設定から新規に通常フォームを作成します。
3. サンプルフォームに、先で記載されている必要な項目を配置します。
4. サンプルフォームを再度表示し、カスタマイズタブを表示します。
5. 保存したファイルをアップロードします。
6. アプリ設定>経路設定から新規に経路を作成します。
7. 申請時の設定で、日数の編集を不可にします。

8. 新規文書から作成した経路名をクリックします。
9. 開始日と終了日に任意に日付を入力します。
10. 日数が算出されます。
