前回はアクションボタンを使ってスマホで出退勤管理!と題して何ができるのか?という点を書かせていただきました。
今日はその中で紹介したAppSheetのアクション機能について少し詳しく書いてみます。
まずはアクション機能とは・・・の前にコンピュータで作られるシステム(WEBシステムやらスマホアプリやら業務系システムやら)の構成についてですが、次の3つで構成されています。
まず一つ目が利用者が目にする①画面、②画面で何かしら操作した際に動く処理そして情報を貯めておく③データベースです。
どんなシステムであれだいたい①画面をユーザーが操作することにより②何かしらの処理が動いて③データベースから結果を取ってきたりデータベースに登録するという動きで成り立っています。
今回紹介するAppsheetのアクションは②の何かユーザーが操作した際に動く処理に該当します。これまでだとその部分はプログラミングをする必要がありましたがノーコードツールではそこも設定レベルでできちゃいます。(もちろんプログラミングするよりもできることは制限されます)
早速②にフォーカスして何ができるのか見てみます。いろいろありますが「App」「Data」「External」「Grouped」にカテゴライズでき、以下のことができます。
![](https://assets.st-note.com/production/uploads/images/38660586/picture_pc_e67d258cf977d0fa8442f5ce10a71a9a.png)
今回の出勤打刻機能と退勤打刻機能は、↓を使用しています。
![](https://assets.st-note.com/production/uploads/images/38660722/picture_pc_49e1cf5efa9703495cbd533ab2546096.png)
直訳すると「今あなたが触ったデータ(=レコード)の他の列を更新します」という意味です。エクセルで言うと該当の行の他の列の値を更新しますという意味です。今回のアプリの場合ですと、日付毎に1行(=1レコード)としており、「該当日付の目覚まし時計(または家のマーク)を押したら、出勤時刻または退勤時刻が自動でセットされますよ」ということになります。
![](https://assets.st-note.com/production/uploads/images/39728846/picture_pc_173cdae2b4c1e8881fe75d2fb6dadb77.png)
上の画面を使って説明すると、11/12の目覚まし時計マークを押すと出勤時刻が設定されることを意味しています。
こんな感じです↓
![](https://assets.st-note.com/production/uploads/images/39729348/picture_pc_abb0ae840c60457631840256c5f490d3.png)
これで何に役に立つのかというのはユーザーさんがわざわざ時刻を入力しなくても勝手に記録してくれるという点ですね。アプリケーションを使わない理由または使いたくない理由として操作が面倒!というのがあるのでこういうのを使って少しでも使い勝手を良くしていきましょう。
では設定方法です。
画面左側のところでBehavierを選択します
![](https://assets.st-note.com/production/uploads/images/39729529/picture_pc_847a99f9b671e482be48ff0c2b84f52c.png)
次にNewActionを選択して
![](https://assets.st-note.com/production/uploads/images/39729591/picture_pc_4e5432c79ba3c699353f950fe3e52b35.png)
以下のように設定します
①はどのテーブルに対して更新をするのか?
②は何をするのか?
③は、(②で同じレコードの他の列を更新するを選んだので)どの列にどんな値を設定するのか?
を設定します。
![](https://assets.st-note.com/production/uploads/images/39729805/picture_pc_69aae049206627535958b144fed6fb80.png)
次に今作っているアクションを画面のどこから押せるようにするかを決めます。
選択肢は4つです
![](https://assets.st-note.com/production/uploads/images/39730046/picture_pc_236cba5fda41199a0947213d4d778eab.png)
①Display overlay:一覧画面ではなく各日付の画面上に下図の感じでボタンが表示されます。出勤退勤の打刻なので各日付の画面に一度遷移するのは少し面倒ですね。
![](https://assets.st-note.com/production/uploads/images/39730311/picture_pc_8bab1ac663205b4a5a775231d2dd3129.png)
②Display Prominenty:下図のように表示されます。これも①と同様に出勤退勤の打刻なので各日付の画面に一度遷移するのは少し面倒ですね。
![](https://assets.st-note.com/production/uploads/images/39730580/picture_pc_874236d974ee4a12b4735d6f193e7241.png)
③DisplayInline:こちらが今回採用しているものです。各日付の詳細画面ではなく一覧画面に表示される方法です。
![](https://assets.st-note.com/production/uploads/images/39730785/picture_pc_af30a5dfac82d1d3de391816304706d2.png)
④のDonotDisplayは画面上には表示しないというものです。これはworkFlowといって、ユーザーの操作をきっかけにするのではなくシステム的に何かをきっかけに処理を行う場合に選択します。(例えば、あるテーブルの値が更新されたらACTIONを実行するなど)
いかがでしょうか、細かな設定は他にありますがこのような感じでACTIONを利用することによりユーザーの操作負担を軽減することによりアプリをより長く使っていただければ幸いと思います。
最期までお読みいただきありがとうございます。もしよろしければ[スキ]を押していただけますと嬉しいです!!
また、Appsheetでこんなことできないの?などコメントいただけましたら可能な範囲にはなりますが記事にさせていただこうと考えています。