契約開始日から契約終了日の期間のみ「契約中」と表示されるようにしたい。

以下、詳しい方ご教示いただけますと幸いです。

【現在設定している項目】

・「契約開始日」(日付フィールド)
・「契約終了日」(日付フィールド)
・「契約状況」(文字列(1行)フィールド)
      計算式:IF(契約終了日=“”,“契約中”,“契約終了”)

【問題点】
①現状、契約が決まった段階でレコードを登録するため、
「契約開始日」が到来していない場合でも、「契約状況」が「契約中」になっている状況。

②「契約終了日」を入れてしまうと「契約状況」が「契約終了」になってしまうため、
今は契約終了日の翌日以降に「契約終了日」を入れるようにしている。
そうすると、入力漏れが発生する。

【やりたいこと】
契約が決まった時点で「契約開始日」と「契約終了日」を入力しても問題が起こらないよう、
当日の日付を自動取得して比較できるようにし、
契約開始日から契約終了日の期間のみ「契約中」と表示されるようにしたい。

既に同じような質問がありましたが、こちらではluxonを使用して取得する必要があると回答をもらっておりました。こちらは標準機能や別プラグインなどを用いて対応不可でしょうか。詳しい方、ご教示いただけますと幸いです。

本当に「契約状況」というフィールドが必要かどうかによって変わってきます。

例えばレコードの一覧で「契約中のみ」「契約終了のみ」を表示したいという場合は「契約状況が『契約中』のみ」といった絞り込みをするのではなく「契約開始日 <= 今日+契約終了日 > 今日」や「契約終了日 < 今日」といった絞り込み一覧を作成すれば実現できます。

「契約状況」というフィールドを作ると、例え計算式で値が変わるように設定してもレコードの更新(編集→保存)が必須になります(契約開始日を過ぎても編集をしない限り値が契約中に変わりません)。これも自動化するとなると、REST APIの知識が必要になります。

プラグインも条件分岐系のものであれば対応できると思いますが、やはりレコードの更新が必須になります(REST APIの処理もしてくれるプラグインもあるかもしれません)。

契約状況というフィールドが必要ない前提ですが、レコードの更新を伴わず簡単にできる方法として、例えば条件書式プラグイン を用いて任意のフィールドか空のフィールドに対して契約中、契約終了を意味する装飾(背景色等)を行うとかでしょうか。

ご丁寧にありがとうございます。たしかに「契約状況」というフィールドはなくても問題ないので、削除の方向で考えたいと思います。

背景色の変更は他のアプリでも用いておりますので、簡単に適用できそうです。

具体的にご教示いただき感謝いたします。ありがとうございました。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。