”@自分” と ”@今” でボタン式勤怠ログを作る


概要


ボタンブロックを使うと、任意のデータベースの指定したプロパティに対し、@自分@今@今日 などを使って、ボタンをクリックした人や日時を反映することができます。

この仕組みを使うと、日々の出勤時・退勤時にワンクリックで日時を入力することができます。

この手法を用いたテンプレートを、ノースサンドのテンプレートストアで販売しています!



設定手順1) 勤怠データベースを作る


まずは、データを入れるためのデータベースを通常の手法で作成します。

ここでは、複数人で使うことを想定して以下のプロパティを設けます。

プロパティ名 プロパティの種類 用途
ユーザー 出退勤時刻を記録した人を入力
出勤時刻 日付 出勤時刻を入力
退勤時刻 日付 退勤時刻を入力
休憩時間 数値 デフォルトで1を入力
勤務時間 関数 関数で実際に勤務した時間を計算

タイトルプロパティは、備考欄として配置しておきます。

データを入力すると、このような状態となります。

Tips:勤務時間は、以下のような関数を用いて小数点第三位まで算出するようにしています。

round(((dateBetween(退勤時刻,出勤時刻, "minutes") - 60) / 60) * 1000) / 1000



設定手順2) 出勤記録ボタンを作る


では、出勤記録ボタンを作りましょう。ボタンブロックは /button で呼び出します。



このようなメニューが表示されるため、ページを追加 を選択します。


まずはボタンに①お好きなアイコンを設定し、②名前を付けましょう。



次に、データベースを選択 をクリックして、先ほど作成した勤怠ログデータベースを指定します。こうすることで、このボタンをクリックしたときに、指定したデータベースにデータが入るようになります。



データベースを指定すると、以下のように編集したいプロパティを選択・追加できるようになります。出勤ボタンでは、以下の4種類のプロパティを編集します。


プロパティ 設定内容
備考 出勤ボタンを押したことを表す文言を設定
出勤時刻 選択肢から を選択(=ボタンを押した日時となる)
選択肢から ボタンをクリックしたユーザー を選択
休憩時間 1 を入力


ここまで出来たら、右上の 完了 ボタンをクリックして編集モーダルを閉じます。

この時点で一度 出勤 ボタンを押し、設定したとおりの情報がデータベースに入力されることを確認しておきましょう。



設定手順3) 退勤記録ボタンを作る


次に退勤ボタンを作成します。ボタンブロックの呼び出しまでは同じですが、今度は ページを追加 ではなく ページを編集 を選択します。アイコンやボタン名の設定も適宜行ってください。


ページを編集 を選択すると、編集するページを指定するメニューが出るため、[指定したデータベース]のすべてのページ というドロップダウンから、対象ページを絞り込むための条件を指定します。


ここでは、以下のように設定します。順不同です。

編集したいページの条件 設定内容
ボタンを押した人が プロパティが 自分 を含む
朝作成した出勤ログ AND 退勤時刻未入力


編集対象のページが絞り込めたところで、次は編集内容を設定します。ここでは、以下の2種類のプロパティを編集します。

プロパティ 設定内容
備考 退勤ボタンを押したことを表す文言を設定
退勤時刻 選択肢から を選択(=ボタンを押した日時となる)


オプショナルですが、別のステップを追加 ボタンから、以下のような確認文言を設定するのもお勧めです。


すべての設定が完了したら右上の 完了 ボタンで設定モーダルを閉じ、退勤ボタンを押してみましょう。うまく設定されていれば、このような動作になります。



このように、一見難しそうに感じるボタンブロックも、仕組みを事前に考えておくことで簡単に設定できることがわかります。


  1. どういう箱(=データベースやページ)があって
  2. どんな時に(=ボタンを押す基準)
  3. どこを(=プロパティや対象ページなど、ボタンに編集させる箇所)
  4. どうしたいか(ボタンが行う追加、編集、開く、etc.)

ということを予めざっと整理してから取り組むと、UIに従って設定していくだけでスムーズに設定できるでしょう。

記事を評価 ありがとうございます! 失敗しました