3. 勤怠管理のワークフローを作成しよう(ワークフロー)¶
ここでは、 IM-BIS を利用して毎月の勤怠状況を一覧として上長や人事に承認してもらうまでのワークフローを作成しましょう。
勤怠管理のワークフローを作成する手順
作成するワークフローの内容
申請画面(経理部以外はこの画面を表示します。)
経理部用の画面
経路情報(ルート)
3.2. 経路情報(ルート)の設定¶
3.2.1. 経路情報(ルート)を設定する¶
報告書を回覧するための経路情報(ルート)を設定します。このハンズオンでは、報告者・育成担当・部長が回覧するための経路を設定していきましょう。
3.2.2. 経路情報(ルート)の名前、対象者を設定する¶
各アイコンの業務ができるユーザを設定していきましょう。今回のワークフローでは、組織に所属する人や申請者・前に処理(承認)した人に基づいて、業務ができるユーザが変わるように設定していきます。
以下の手順でノード名を設定してください。 以下の手順で「担当者入力」の処理が実行できるユーザの検索画面を表示してください。 組織検索では、以下の手順で営業部を選択してください。 引き続き、以下の手順で開発部を選択してください。 これで、営業部、開発部に所属するユーザが勤怠実績を申請できるようになりました。 以下の手順で2番目のノード名を設定してください。 以下の手順で「上長承認」の処理が実行できるユーザの検索画面を表示してください。 申請者の所属組織+役職の検索では、以下の手順で対象の組織と役職の組み合わせを設定してください。
- 左の欄で「株式会社ナガハマ」をクリックしてください。
- 中央の欄に表示された役職から「部長」をクリックしてください。
- 「部長」を選択対象にするために、「選択」ボタンをクリックしてください。
- ルートの処理対象者に反映するために「決定」をクリックしてください。
コラム
「組織+役職」と「申請者の所属組織+役職」の違い
部長に承認させる方法として、「組織+役職」を利用することもできますが、「申請者の所属組織+役職」とは、異なる動作となるため、その点を考慮して利用しましょう。今回の例で、処理対象者の設定に「組織+役職」を選択して、「営業部の部長・開発部の部長」と設定した場合、申請者が営業部・開発部のどちらの所属かに関わらず、営業部、または開発部の部長が承認できます。(本来、開発部のユーザからの申請は開発部の部長が承認できるようにすべきところ、営業部の部長も開発部ユーザの申請を承認できます。)「申請者の所属組織+役職」を利用した場合には、申請したユーザと同じ所属組織の部長のみが承認できるため、開発部ユーザの申請は開発部部長しか承認できないように設定できます。株式会社ナガハマで、開発部の栗山さんが申請した勤怠フローでは、次のように動作が変わります。
組織+役職の場合
開発部の部長・竹中さんと営業部の部長・黒田(長)さんの両方が承認できる申請者の所属組織+役職の場合
開発部の部長・竹中さんだけが承認できる 以下の手順で人事部承認のノード名を設定してください。 以下の手順で「人事部承認」の処理が実行できるユーザの検索画面を表示してください。 組織検索では、以下の手順で対象の組織を選択してください。 同様に、以下の手順で経理部承認のノード名を設定してください。 以下の手順で「経理部承認」の処理が実行できるユーザの検索画面を表示してください。 組織検索では、以下の手順で対象の組織を選択してください。 これで、経路情報の設定が完了しましたので、「登録」をクリックして保存してください。
3.3. 入力画面(アプリケーション)の設定¶
3.3.1. 申請対象の月を表示する項目を設定する¶
勤務内容を入力するための画面を作成していきましょう。
一番左の「担当者入力」アイコンをダブルクリックして、入力項目の編集画面を表示しましょう。 「フォーム-登録」画面では、以下の通りに入力し、「登録」をクリックしてください。 新しくポップアップで表示された画面の右上の「ヘッダーとフッター」をクリックしましょう。 「ヘッダー設定」では、以下の通りに入力し、「設定」をクリックしてください。 「ツールキット」をクリックして、ツールキットを表示しましょう。 アイテムの「セレクトボックス」と「ラベル」をドラッグ&ドロップで配置してください。 以下の手順で「ラベル」アイテムを編集してください。 引き続き、以下の手順で「ラベル」アイテムに入力した文字を装飾してください。 「ツールキット」をクリックし、ツールキットの表示を消してください。 ラベルの赤枠の右下をドラッグしてアイテム範囲を表示に合わせて小さくしてください。 以下の手順で「セレクトボックス」を設定してください。を12回クリックして、表示値・送信値の行を12行にしてください。
セレクトボックスは、入力対象の月を指定する項目として利用します。以下の手順で、「データの定義」を設定してください。 「詳細設定」では、以下の通りに設定してください。 ラベルアイテムと同様に、赤枠の右下をドラッグしてアイテムの範囲を調整してください。 レイアウトを整えるために、セレクトボックスとラベルアイテムをドラッグして位置を調整してください。 ここまでの設定内容を保存するために「更新」をクリックしてください。
3.3.2. 勤務内容を設定する表(テーブル)を設定する¶
日別の勤務内容を入力するための一覧を設定していきましょう。最初に表全体のサイズやレイアウトを設定していきます。
「ツールキット」をクリックして、ツールキットを表示しましょう。 「グリッドテーブル」を配置してください。 「グリッドテーブル」では、以下の通りに設定してください。 以下の手順で、「列の定義」を設定してください。 「詳細設定」をクリックして切り替えた後、以下の通りに「詳細設定」を設定してください。 「ツールキット」をクリックし、ツールキットの表示を消してください。 グリッドテーブルを一度クリック後、グリッドテーブルを囲う赤枠の右下をドラッグして全体が表示できるように調整してください。 ここまでの設定内容を保存するために「更新」をクリックしてください。
3.3.3. 勤務内容の列を設定する¶
勤務内容の列の表示方法などを設定していきましょう。
「グリッドテーブル」をダブルクリックしてプロパティを表示しましょう。基本設定の列の定義を展開してください。 以下の手順で、1列目を設定してください。 「入力フィールド設定へ」をクリックしてください。 以下の通りに「列プロパティ」の「入力フィールド設定」を設定してください。 「アクション設定」をクリックしてください。 「初期表示イベント」の「追加」をクリックしてください。 追加された行のをクリックしてください。
右側の欄のをクリックしてください。
事前準備で登録したテナントDBクエリの「勤怠種類選択」をクリックしてください。 今回は、日本語のデータのみを選択肢として表示できるように設定します。以下の手順で、リクエストを設定してください。 下の図の通りにマッピングが設定できていることを確認してください。 「レスポンス」をクリックしてください。 以下の手順で、勤怠種類コードのマッピングを設定してください。 次に、以下の手順で、勤怠種類名のマッピングを設定してください。 これでデータベースから勤怠種類のマスタを参照して入力するための連携が設定できました。以下の手順で設定を終了してください。 イベント設定を保存するために「確定」をクリックしてください。 ここまでの設定内容を保存するために「更新」をクリックしてください。
3.3.4. 出社時間、退社時間の列を設定する¶
出社時間、退社時間の列では、時間をセレクトボックスから選択して入力できるように設定していきましょう。
「グリッドテーブル」をダブルクリックしてプロパティを表示してください。プロパティから基本設定の列の定義を展開してください。 以下の手順で、2列目・3列目を設定してください。 「項目の定義」の「」をクリックして、12行にしてください。
以下の手順で、「項目の定義」を設定してください。 フィールド識別IDを「start_time」に変更し、「基本設定」をクリックしてください。 3列目の「退社時間」の「列プロパティ」を設定するために「」アイコンをクリックしてください。
「項目の定義」の「」をクリックして、10行にしてください。
以下の手順で、「項目の定義」を設定してください。 フィールド識別IDを「end_time」に変更し、プロパティを閉じてください。 ここまでの設定内容を保存するために「更新」をクリックしてください。
3.3.5. 休憩時間の列を設定する¶
休憩時間は、時間単位に1.5時間などが入力できるような形に設定していきましょう。
「グリッドテーブル」をダブルクリックしてプロパティを表示してください。プロパティから基本設定の列の定義を展開してください。 以下の手順で、4列目を設定してください。 「列プロパティ」では、以下の通りに設定してください。 次に「基本設定」をクリックして展開し、以下の通りに設定してください。 「入力チェック」をクリックして展開し、以下の通りに設定してください。 ここまでの設定内容を保存するために「更新」をクリックしてください。
3.3.6. 勤務時間、時間外勤務時間の列を設定する¶
これまで設定した出社時間、退社時間、休憩時間の入力値を利用して、勤務時間や時間外勤務の時間を計算する列を設定しましょう。
「グリッドテーブル」をダブルクリックしてプロパティを表示してください。プロパティから基本設定の列の定義を展開してください。 以下の手順で5列目を追加し、設定してください。 「列プロパティ」の式に対し、以下の通りに設定してください。
設定項目 設定値 a 式 if(and(start_time>0,end_time>0),rounddown((end_time-start_time)/100,0)+(if((end_time-start_time)-rounddown((end_time-start_time)/100,0)*100>40,(((end_time-start_time)-rounddown((end_time-start_time)/100,0)*100)-40),(end_time-start_time)-rounddown((end_time-start_time)/100,0)*100))/60-work_break,0) b 式評価結果のデータ型 数値 コラム
上記の式の計算内容は以下の通りです。
出社時間、退社時間に時間が入力されていない場合には、休憩時間を0時間とみなす 出社時間、退社時間に時間が入力されている場合、退社時間から出社時間を引いた差分から、休憩時間を引いた時間を勤務時間とする(出社時間と退社時間の計算では、差分を○.○時間に変換する処理も行っています。)注意
式はすべて小文字で入力するようにしてください。 大文字で入力した場合、エラーが発生します。
「列プロパティ」のフォーマットやフィールドに対し、以下の通りに設定してください。 次に「基本設定」をクリックして展開し、以下の通りに設定してください。 引き続き、以下の手順で設定してください。 以下の手順で6列目を追加し、設定してください。 「列プロパティ」の式に対し、以下の通りに設定してください。 「列プロパティ」のフォーマットに対し、以下の通りに設定してください。 次に「基本設定」をクリックして展開し、以下の通りに設定してください。 「入力チェック」をクリックして展開し、以下の通りに設定してください。 ここまでの設定内容を保存するために「更新」をクリックしてください。
3.3.7. 申請(承認)のボタンを設定する¶
3.3.8. 入力画面(アプリケーション)を他の処理と共有設定をする¶
ここまでの手順で作成した画面を、上長の承認や人事部の承認時に利用できるように設定します。
3.4. 入力画面(アプリケーション)を部品(テンプレート)として利用する¶
3.4.1. 作成した画面(フォーム)をテンプレートに登録する¶
3.4.2. テンプレートを利用して画面(フォーム)を作成する¶
先ほどの手順で登録したフォームテンプレートを利用しながら、経理部の画面を作成しましょう。
「フォーム-登録」画面では、以下の通りに入力し、「登録」をクリックしてください。
新しくポップアップで表示された画面の右上の「ヘッダーとフッター」をクリックしましょう。「ヘッダー設定」では、以下の通りに入力し、「設定」をクリックしてください。
画面の右上の「テンプレート」をクリックして、テンプレート一覧を表示してください。 以下の手順で、登録済みのテンプレートを配置してください。 このように配置できたら、「テンプレート一覧」については、テンプレートをクリックして閉じてください。 経理部用の項目を追加するために、グリッドテーブルをドラッグ&ドロップで下に移動してください。 「ツールキット」をクリックして、ツールキットを表示しましょう。 アイテムの「関数」をドラッグ&ドロップで配置してください。 配置した関数をダブルクリックしてプロパティを表示し、以下の通りに設定してください。設定後、関数のプロパティ画面を閉じてください。 次にツールキットから「一覧選択」をドラッグ&ドロップで配置してください。 配置した一覧選択をダブルクリックしてプロパティを表示し、以下の通りに設定してください。 以下の手順で、「外部連携」を設定してください。 「一覧選択画面」に対し、以下の通りに設定してください。設定後はプロパティ画面を閉じてください。 「アクション設定」をクリックしてください。 以下の手順で「外部連携設定」画面を表示してください。 「追加」をクリックしてください。
「」をクリックしてください。
作成済みの「従業員ランク検索」をクリックしてください。 今回は、日本語のデータのみを選択肢として表示できるように設定します。以下の手順で、リクエストを設定してください。 下の図の通りにマッピングが設定できていることを確認してください。 「レスポンス」をクリックしてください。 以下の手順で、従業員ランクのマッピングを設定してください。 以下の手順で、従業員ランク名のマッピングを設定してください。 以下の手順で、時間単価のマッピングを設定してください。 これでデータベースから勤怠種類のマスタを参照して入力するための連携が設定できました。以下の手順で設定を終了してください。 外部連携設定を保存するために「確定」をクリックしてください。 イベント設定を保存するために「確定」をクリックしてください。 ツールキットから「数値」をドラッグ&ドロップで配置してください。 配置した数値をダブルクリックしてプロパティを表示し、以下の通りに設定してください。 引き続き、以下の手順で数値の詳細を設定してください。設定したら、プロパティの外側をクリックして、プロパティを閉じてください。 次にツールキットから「関数」を2つドラッグ&ドロップで配置してください。 中央に配置した関数をダブルクリックしてプロパティを表示し、以下の通りに設定してください。 引き続き、以下の手順で関数の詳細を設定してください。設定したら、プロパティの外側をクリックして、プロパティを閉じてください。 右に配置した関数をダブルクリックしてプロパティを表示し、以下の通りに設定してください。
基本設定では、以下の通りに設定してください。
設定項目 設定値 a [前]ラベル 合計 b [後]ラベル 円 c 式 if(workhours_unit>0,workhours_unit*workhours_sum,0) d 式評価結果のデータ型 数値 e 表示フォーマット 3桁カンマご利用のバージョンにより設定方法が異なります。
チェックボックスによる表示チェックボックスをオンにしてください。 セレクトボックスによる表示「3桁カンマ」を含むフォーマットを選択してください。「入力チェック」をクリックし、設定項目を展開してください。
入力チェックでは、以下の通りに設定してください。
設定項目 設定値 f 最大入力値 9999999 以下の手順でレイアウトを調整してください。 一覧選択をダブルクリックしてプロパティを表示し、「外部連携」をクリックしてください。 「外部連携」では、以下の手順で「取得値設定」画面を表示してください。 以下の手順で、「従業員ランク名」のマッピングを設定してください。 以下の手順で、「時間単価」のマッピングを設定してください。 これで一覧画面から従業員ランクと時間単価を検索して入力するための連携が設定できました。以下の手順でマッピングの設定を終了してください。 引き続き、以下の手順で表示タイプを設定してください。設定したら、プロパティの外側をクリックして、プロパティを閉じてください。 経理部承認画面では、一時保存機能を利用しないため、以下の手順で削除してください。 これで経理部画面の設定がすべてできましたので、「更新」をクリックして保存してください。保存できたらフォーム編集画面を右上の「」で閉じてください。