supportノーコードでらくらくkintoneカスタマイズのCustomineと、キントーンアプリの配布・バックアップ・帳票のDeploitのサポートサイトです。networkのTipsのURL:https://developer.cybozu.io/hc/ja/articles/202181714入力されたデータを使って計算をするとき、その計算結果のみが必要で、計算のもとになったデータは必要ない場合があります。いう場合は、計算のもとになるデータをフィールドに一時的に置いておき、要らなくなったら削除、を繰り返すことで、そのフィールドを何度も再利用して計算させることができます。タイムカードアプリでは出退勤時刻に加えて総休憩時間を管理する必要がありますが、毎回の休憩開始/終了の時間までは管理しない場合を考えてみましょう。ある日のタイムカードが以下の様になっていたとします。20分18:00退勤この時、「休憩時間40分」を求めるために休憩開始時刻と休憩終了時刻を記録する必要がありますが、「休憩時間40分」がわかった瞬間に休憩開始時刻と休憩終了時刻は要らなくなります。入力することで休憩時間を計算できます。サイクルを繰り返すことができます。具体的なカスタマイズ方法を見ていきましょう。Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。アプリのフォーム以下のフィールドを作成します。カスタマイズに関係のないフィールドはなくても構いません。計算式:(休憩終了時刻-休憩開始時刻)/60表示形式:数値(桁区切りなし)やりたいこと「休憩中」ではないときレコード詳細画面に「休憩開始」ボタンを表示する。クリックすると「休憩開始時刻」に現在時刻が入力され、「状態」の「休憩中」にチェックを入れる。「休憩中」のときレコード詳細画面に「休憩終了」ボタンを表示する。クリックすると「休憩終了時刻」に現在時刻が入力される。その後、「休憩時間」の値を「総休憩時間」に加算し、「状態」の「休憩中」のチェックを外す。今回のカスタマイズは以下の様になります。動作の仕組みボタンの設置(アクション番号30,31)「ボタンをスペースに配置する」を使ってスペースにボタンを設置しています。「フィールド値が特定の値ならば」で場合分けし、稼働時は「休憩開始」ボタンを、休憩時は「休憩終了」ボタンを表示します。「休憩開始」ボタンを押した時(アクション番号32,33,34,35)32の「日付や時刻をフォーマットする」で現在日時(=now())を時刻だけのデータに変換し、33の「フィールドに値をセットする」で変換した時刻を「休憩開始時刻」に入力し、34の「フィールドに値をセットする」で「休憩中」にチェックを入れています。ここまででレコード自体は更新されていますが、画面上には何の変化もありません。そこで、35で「レコードが自動的に保存された時」「画面をリロードする」ことで、画面を自動的に更新しています。ボタンを押した時(アクション番号35,36,37,38,39,40)36,37で現在時刻を「休憩終了時刻」に入力し、38の「フィールド値をクリアする」で「休憩中」のチェックを外し、35で画面を再読み込みする流れまでは先程の「休憩開始」ボタンとほぼ同じです。これで「休憩開始時刻」と「休憩終了時刻」が入力されたので、「休憩時間」が自動計算されたはずです。38の後、35で再読み込みされる前に、「総休憩時間」に算出された「休憩時間」を加算したいところです。「他のアクションの実行が完了した時」で38の直後に実行しようとすると「休憩時間」の計算が終わる前に実行されてしまいます。そんなときのために「計算フィールドの値が変わった時」があるのですが、残念ながら詳細画面には対応していません。そこで、別の方法を提案します!36,37,38が終わると35で画面が再読み込みされます。入力されているときに限定することで、「休憩終了」ボタンが押されて「休憩時間」が算出されて、画面が再読み込みされたときに初めて発生するアクションを作り出すことができます。39の「フィールドに値をセットする」で「総休憩時間」に今回の「休憩時間」を加算しています。クリアすることで、その後詳細画面を表示しなおした時に39が暴発するのを防いでいます。一瞬だけこの画面が表示されてすぐに二回目の画面再読み込みが始まります。ボタンを押す以外の方法で入力できてしまうと、正しく動作しない可能性が出てきます。入力できないようにしておくのが良いでしょう。見せる必要もないので、「休憩時間」も合わせて「フィールドやグループを非表示にする」で隠しておくといいでしょう。比べて少し難しいですが、「やること」と「条件」の組み合わせ次第で思わぬところに解決法があったりします!また、Customineの機能はどんどん更新されるので、昨日出来なかったことも今日はできるかもしれません!Customineヘルプやサポートで最新の情報をチェックしてみてください。分からないことがありましたら、フォーラムの方でご質問ください。いいえフィードバックを送信お役に立てなくて申し訳ありません。フィードバックを残し、このアーティクルを改善するのにどうかご協力ください。