【Customine】「フィールドの値を編集して値が変わった時」を使って困った時に見る記事
実現したいこと
建築工事で施工業者さんの作業完了確認日によって請求日を判定したい。
レコードがたくさんあるので、一覧画面から日付を入力して処理されるようにする
締日が20日、と月末締めがあり、請求日をセットする。
締日を過ぎた場合は翌月の締日をセットする
使うツール
kintoneスタンダードプラン
gusuku Customine
最初にやったこと
アプリ
月末締め
請求締日=月末締めのとき、「工事完了日」から月末の日付を算出して「請求日」に値をセットする
【実行】
うんうん。
月末処理はうまくいった。
次は20日締め処理だ。
20日締め
請求締日=20日締めのとき、「工事完了日」から当月の請求基準日以前か以降か判定して日付をセットする。
って書くと分かりにくいので、こんなフローです。
それをCustomineに落とし込むとこうなります。
うんうんなんかいけてそうだな。
実行してみよう
問題発生
あれ、請求締日に日付がセットされないぞ?
”一覧画面の鉛筆を押した時も含める”
に設定しているしなぜだろう。
試しに詳細画面で実行してみよう。
こっちは動くぞ。
なんでなんだろう。
月末処理は動いていたし・・・・・・
色々調べても分からなかったので、
チャットサポートに聞きました。
原因
どうやら、一覧画面での動作の場合は、「フィールドの値を編集して値が変わった時」を条件としたステップのみ動作するとのこと。
なんだってー。
20日の処理は4ステップで実現しているのに1ステップにまとめられるのか!!
・
・
・
・
まとめれました!!
チャットサポートにアドバイスをいただきながら、
こんな処理に変えました
対応策
Customineにするとこんな感じ
format関数がええ仕事してくれるんですよ
【日だけ比較】するとき
= format( 工事完了日 , "DD")
で日だけ取り出して比較できる
【特定の日に変える】とき
= format( 工事完了日 , "YYYY-MM-20")
で日を特定の値に変更できます
おかげさまで動作しました
【工事完了日】が20日以前のとき
【工事完了日】が20日よりあとのとき
無事動作しました。
まとめ
「フィールドの値を編集して値が変わった時」を一覧画面で使う時は1ステップにまとめる。
詳細画面での編集の時は複数ステップでも動作しました
条件や関数を上手に使うと1ステップにまとめられます。