新規トピックを開始
回答済み

一覧画面で日付の計算をしたい

お世話になります。


入力した「受付日」「更新日」から一定期間が経過し、なおかつ「ステータス」が「対応完了」でない場合に、一覧画面上で受付日・更新日のフィールドをハイライトして注意喚起することを考えています。


「日付を計算する」アクションで受付日・更新日から一定期間が経過した日付を計算、また「特定の日付を取得する」で本日の日付を取得し、それぞれを指定フィールドにセットし、本日との「日付の差」を計算(数値)。


次に同じく「フィールドに値をセットする」アクションで、「条件」に「日付の差がマイナス」かつ「ステータスが対応完了か否か」を設定し、その結果によりアラームのオン・オフを制御する値をフィールドにセットします。


動作としては上記で何とか実現できているのですが、最初の「日付を計算する」の「条件」に、何を設定すべきかで悩んでいます。


条件を「詳細画面を表示した時」と設定すると、詳細画面で自動的に計算が行われて期待通りの挙動をしてくれます。

しかしこれだと当該レコードの詳細画面を表示しない限り計算が行われず、アラームも表示されません。


なので条件を「一覧画面を表示した時」にすると、今度は一覧画面を表示する際に

「-式を計算できませんでした。(受付日:値が見つかりません。(受付日))

 -基準日が正しく指定されていないため、日付を計算することができません。(受付日)」

のようなエラーとなってしまいます。

因みに受付日、更新日とも、一覧画面上に表示される設定にしています。


受付日・更新日から一定期間後の日付計算するアクションの間は「他のアクションの実行が完了した時」で繋いでいますが、

エラーは常に「最初のアクション完了後に行う、2番目のアクション」の日付が見つからない、となります。

(添付は「条件」を、両者とも「kintoneイベントが発生したとき」とし、イベント内容を「レコード一覧画面の表示後イベント」にしてみた場合のエラー画面です)


比較的ニーズの高い想定用途だと思うのですが、一覧画面上でこのような動作をさせること自体に、無理があるのでしょうか。


分かりにくい説明で申し訳ありませんが、宜しくご助言方お願い致します。


最も良い回答

毎度の自己解決ご報告で恐縮です。


色々と試してみたものの、どうしても一覧画面上での日付の計算が上手く行かず、ふと気づいたのが

「日付の計算(経過日数カウント)は、レコード内の『計算』フィールドで行ってしまう方がスマートではないか」という事です。


その結果gusukuでは

・「本日」の日付取得(これをレコードの該当フィールドにセットし、レコード内で経過日数計算)

・経過日数とステータスの複合条件によって、アラームのオン・オフを示す値をフィールドにセット

の2つだけを行うようにしたところ、何とか期待通りの挙動をしてくれました。


「2つだけ」とは言え、これをJavaScriptの知識などゼロの素人が、簡単に出来てしまうgusukuの

有り難さを改めて実感致しました。


お騒がせしました。

コメント数: 1

答え

毎度の自己解決ご報告で恐縮です。


色々と試してみたものの、どうしても一覧画面上での日付の計算が上手く行かず、ふと気づいたのが

「日付の計算(経過日数カウント)は、レコード内の『計算』フィールドで行ってしまう方がスマートではないか」という事です。


その結果gusukuでは

・「本日」の日付取得(これをレコードの該当フィールドにセットし、レコード内で経過日数計算)

・経過日数とステータスの複合条件によって、アラームのオン・オフを示す値をフィールドにセット

の2つだけを行うようにしたところ、何とか期待通りの挙動をしてくれました。


「2つだけ」とは言え、これをJavaScriptの知識などゼロの素人が、簡単に出来てしまうgusukuの

有り難さを改めて実感致しました。


お騒がせしました。

ログイン コメント投稿のため