rex0220 プラグインを使って、休暇届で休日を除いた日数計算を行います
概要
休暇届アプリで、休日アプリを参照し、休日を除いた日数計算を行います。
開始日と終了日からテーブルに休暇届用の日付を展開して、期間内の休暇がわかりやすくします。
操作例
使用するプラグイン
- アプリ集計プラグイン
- 休日アプリから休日データを取得
- 計算式プラグイン
- 開始日と終了日からテーブルに日付を展開
- 有給日数、慶弔日数、欠勤日数、休暇日数の計算
- 日付から曜日を計算
- 休日テーブルから休日区分をセット
- 休暇区分の自動セット
- 項目検証プラグイン
- 開始日・終了日のチェック
- 休暇区分の必須チェック
- ちょっと便利なプラグイン
- テーブルヘッダ部を固定表示
- 休日プラグイン
- 休日アプリで、祝日を取得
アプリ集計プラグイン
- 休日アプリから休日データを取得
- 対象アプリ条件
開始日と終了日の期間内の休日レコードを取得します。
- テーブル項目
開始日と終了日の期間内の休日データを取得します。
計算式プラグイン
- 開始日と終了日からテーブルに日付を展開
- 有給日数、慶弔日数、欠勤日数、休暇日数の計算
- 日付から曜日を計算
- 休日テーブルから休日区分をセット
- 休暇区分の自動セット
計算式プラグイン.js
// 終了日 DATE (editable)
IF(開始日>終了日,開始日,終了日)
// 有給日数 NUMBER
COUNTIF(休暇区分T="有給",1)
// 慶弔日数 NUMBER
COUNTIF(休暇区分T="慶弔",1)
// 欠勤日数 NUMBER
COUNTIF(休暇区分T="欠勤",1)
// 休暇日数 NUMBER
SUM(有給日数,欠勤日数)
// 休暇申請 SUBTABLE
DATE_DIFF(開始日,終了日,"days")+1
// 休暇申請.#:行番号 NUMBER
ROWNO(休暇申請)+1
// 休暇申請.日付:日付T DATE
DATE_ADD(開始日,ROWNO(休暇申請),"day")
// 休暇申請.曜日:曜日T SINGLE_LINE_TEXT
LET(
weekdayNum, DATE_FORMAT(日付T, "e"),
SUBSTR("日月火水木金土", weekdayNum, 1)
)
// 休暇申請.休日区分:休日区分T SINGLE_LINE_TEXT
IF(IN(曜日T,"土","日"),"休日")&
LET(dt,日付T,
FIRSTIF(dt=日付,休日区分&"("&休日&")")
)
// 休暇申請.休暇区分:休暇区分T DROP_DOWN (editable)
IFS(
IN(曜日T,"土","日"),"",
休日区分T,"",
休暇区分T,休暇区分T,
"有給"
)
項目検証プラグイン
- 開始日・終了日のチェック
- 休暇区分の必須チェック
ちょっと便利なプラグイン
- テーブルヘッダ部を固定表示