本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。
本ブログでは新UI画面で内容をまとめています。
新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)
まずはじめに
- 出退勤を管理するアプリを作りたい人
- appsheetで実用的なアプリを作成したい人
- データタイプの選択、Initial Valueの設定、ref機能などappsheetにおける基本がマスターできる
今回はアプリ開発の実践記事です。
私がappsheetを勉強して、一番最初に作ったアプリが出退勤を管理するアプリでした。
あの頃はアプリ開発なんて全く出来る気がしなかったな・・
上司に言われて嫌々ノーコードの勉強をさせられて・・
でも、気がついたら休日返上でノーコードの勉強をしている変態勇者にまで成長しました!笑
当時のアプリはとても使いやすいものではありませんでしたが、今なら出来る!と思い記事にしました。
それでは勉強していきましょう(^^)
アプリ開発をしたことがない人は参考記事から勉強するのがおすすめです
やることに優先順位をつけて管理するアプリを例に学べます(^^)
【初心者でも簡単】appsheetでTODOリストを作成する方法
データシートの作成
管理する項目については、以下のカラムで今回は実践しています。
項目としては、出勤者の名前と日付、就業時間が分かるようなカラム構成としました(^^)
こちらのシートには名前とemail、あとは管理者のみ見せたいViewを作ろうと思うので、管理者カラムを作ってあります(^^)
管理者カラムを作ることのメリットについては、こちらの記事を参考にしてください
ユーザーや登録されたデータでフィルターをかける方法が学べます(^^)
【永久保存版】汎用性の高いスライスの設定5選
読み込むデータの作成が完了したら、appsheetにデータを取り込みましょう。
データカラムの設定とアクションボタンの作成
次に読み込んだデータを扱いやすいように修正を加えていきます。
まずはデータタイプの編集から参ります(^^)
出退勤管理一覧のデータカラム編集
IDカラムのShow?のチェックを外します。
日付カラムのデータタイプをDateにして、Initial Valueにtoday()を入力します。
名前カラムのタイプをRef、参照テーブルをチームメンバーにします。
また、Initial Valueにはuseremail()を入力しておきましょう。
始業開始カラムのタイプをTime、Ignore secondsにチェックを入れます(秒を無視する設定)
また、Initial Valueにはtimenow()を入力しておきましょう。
終業開始カラムのタイプをTime、Ignore secondsにチェックを入れます(秒を無視する設定)
以上で出退勤管理一覧テーブルの設定は完了です。
始業時コメント、終業時コメント、連絡事項はそのまま(タイプText)で構いません。
続いて、チームメンバーテーブルの編集に移ります。
チームメンバーのデータカラム編集
emailをKEY値、名前をLABEL値に変更します。
他の項目はいじらなくて大丈夫です。
データタイプの編集はこれで完了です。
お疲れさまでした(^^)
アクションボタンの作成
ここからは、アクションボタンの作成の説明をします。
アクションボタンでは
- CSVにデータをエクスポート
- 他のView画面に遷移
- メールを送信
と様々なことを実装することが可能です。今回使うのは
セットしておいた値をカラム値に送る
この機能を使ってみたいと思います。
写真の赤枠部分を参照し、同じようにデータを編集してください。
- 終業時刻に[_input].[終業時刻]
- 終業時コメントと連絡事項に[_input].[終業時コメント]と[_input].[連絡事項]
AdvancedのInputsを上図のように設定します。
Actionsは打刻(timenow()を取得する)アクションを上にしてください。
この条件式を入力することで、終業ボタンは一度しか押せなくなります
仮に間違えて押してしまった場合もやり直しがきかないので、それを防ぎたい場合は条件式を入力しないでください。
isblank()関数については、こちらの記事を参考にしてください
Yes/Noを返す条件式が求められる箇所や関数についてまとめました(^^)
【永久保存版】appsheetで覚えておくべきYes/No関数
ProminenceをDo not displayに変更します。(Editボタンも同じように)
これでアクションボタンの設定は完了です。お疲れさまでした(^^)
View画面を整える
続いてViewの設定をしていきます。
アプリの画面は使用者にとって非常に重要なものなので、そこを作り込んでみましょう。
新規に出勤情報を登録するViewを作成する
まずは、チームメンバーの出勤状況を登録するViewを作成します。
設定としては赤枠の部分だけでOKです(^^)
自分の出勤状況が分かるViewを作成する
次に、登録したデータの中で自分が登録したデータだけが表示されるViewを作成します。
今回は、スライステーブルを使用してみたいと思います。
- Source Tableは出退勤管理一覧
- Row filter conditionに[名前]=useremail()
この設定でスライステーブルを作成したら、今度はViewの作成をします。
参照テーブルには、先ほど作成したスライステーブルを指定します。
上記設定で、自分が登録したデータのみを表示させるViewの完成です(^^)
管理者がチームメンバーの状態を確認できるViewを作成する
最後に、管理職の人がチームメンバーの就業状況を確認するためのViewを作成したいと思います。
赤枠で囲まれた部分を参考にデータの編集をします。
any(select(チームメンバー[管理者],[email]=useremail()))
Show ifには上記の構文を入力してください。
アプリ画面の確認
作成したアプリに出社と退社の入力、表示されるデータの確認をしてみます。
まず、管理者ではないチームメンバーのアプリの見え方からいきましょう(^^)
最初に出社登録タブをクリックします。
始業時刻と始業時コメントを入力してSaveを押します。
自分の出社表タブを選択した状態で、本日の日付をクリックします。
画面右下にある終業ボタンを押します。
終業ボタンを押すと終業時刻、終業時コメント、連絡事項のポップアップが立ち上がるので入力してSaveを押します。
入力したデータが無事にアテンドされています(^^)
続いて、管理者がログインした場合のアプリ画面を見てみましょう。
管理者にはメンバーの就業状況のタブが見えるようになっています。
Viewの中身は従業員ごとの就業状況が一覧で見られるようにしてあります。
まとめ
以上、出退勤アプリの作成でした。
他にもまだまだ機能として考慮すべき点は多々あります。
- 従業員の現在のステータスを表示させる(出社、在宅、出張など)
- 勤務時間の自動計算(残業時間の合計)
- 上司への終業自動連絡
こういった機能を実装するのも面白いかもしれません。
需要がありそうならアプリ作成第二弾も考えたいと思います。
記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。
わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!
勉強お疲れさまでした(^^)
始めまして。
現在、ど素人ながら打刻アプリの作成をappsheetで行っている者です。
こちらのブログの内容が大変参考になり、退勤処理をアクションボタンから実行させるという面を自分も取り入れさせていただきました。
ただ、退勤打刻ボタン([打刻]アクションと[input]アクションをグループ化したもの)を押すと、[SAVE] [CANCEL]の選択に左右されず、当ボタンを押した時点で退勤時間が登録されてしまい、退勤登録のキャンセルが出来ない状態になってしまいます。
色々自分でも試してみたのですが、解決策がわからず、もしよろしければご教授頂くことは可能でしょうか?
コメントありがとうございます(^^)
私のイメージでは、終業ボタンを押すのは1回だけかと考えていましたが、たしかにユーザーが誤操作してしまう可能性もありますね・・
以下の2つの設定はいかがでしょう?
1つ目は、
BehaviorのOnly if this condition is trueに入力したisblank([終業時刻])を消す設定
ただし、この設定は終業ボタンは常に表示され、入力をキャンセルしたとしても現在の時刻が登録されてしまいます。
2つ目は1つ目の設定に加えて、
input(” “,[終業時刻])をinput(” “,” “)に変え、Group actionを解除し、input actionのアクションボタンで終業の申告をさせる設定
こちらの設定は、入力をキャンセルしたら終業時刻は保存されませんが、毎回自分で時刻を入力する必要があります。
アプリの使用環境を考えると、2つ目の設定のほうが個人的にはおすすめです(^^)
はじめまして。最近appsheetを触り始めたのですが、大変参考になっています。
1点、step4の「addとeditボタンを消す」設定が、画面が途切れていてよく分からないです。。。BehaviorのActionsタブから、New Actionでその後の設定を教えていただけますか?
コメントありがとうございます(^^)
この記事の内容はある程度アプリ開発をしたことがある人向けにまとめているところがあるので、不親切な部分が多々あること、ご容赦ください。
質問に対する回答ですが、「Add」と「Edit」はNew Actionから作ったものではなく、すでにあるもの(System Generated)のことを指しています。
「Add」のアクションボタンに関しては、目次『View画面を整える』に、新規に出勤情報を登録するViewの作成があるため不要
「Edit」のアクションボタンに関しては、新規に登録した出勤記録データを編集するのは不都合があることを考慮し、不要と判断
どちらも表示させたままでもいいような気もします。ここは完全にアプリ作成者の個性ですね!
ご丁寧にありがとうございます!下の「Show all」でシステムに元々入っているボタンをいじれるんですね!助かりました、ありがとうございます!
Appsheetの開発画面のUIが一新されてきていますので、古い記事から説明写真の更新をしていくつもりです。
なるべく読者の皆さんが理解しやすいようにしたいので、記事内容について不明点があれば遠慮なくコメントをしてください(^^)