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