kintoneの日付計算は標準機能で対応可能な範囲と外部手段が必要な領域に分かれます。
kintone開発の専門家であるAIzen株式会社の視点では、標準機能でできる範囲とできない範囲を理解し、設計・開発を行うべきです。
この区分を正確に理解せずに構築を進めると、データ最新化や通知機能で問題が発生します。本記事では標準機能の制約を特定し、現場が取るべき現実的な解決策を解説します。
正確な日付計算を実現することで、現場のケアレスミスや日付について確認する時間を0にできます。
kintone日付計算における実現可能な範囲
kintone標準機能でできる日付計算
kintoneの標準機能における日付計算は、主に計算フィールドと文字列1行フィールドを組み合わせて行います。
標準機能での日付計算方法
kintoneの計算フィールドでは、日付や日時を秒数として扱います。
特定の日付から3日後を算出したい場合は、3日を秒数に換算した 3 * 24 * 60 * 60 を加算する計算式を設定します。
DATE_FORMAT関数でYYYY-MM-DDといった日付形式の文字列として表示可能です。これにより、契約更新日や支払期限日の目安を自動算出する要件であれば、標準機能だけで対応できます。
標準機能で日付計算を行う場合の制約
日付計算を行えるフィールドが数値または文字列に限定されるという特性です。計算結果を日付フィールドそのものに代入することは標準機能では不可能です。
この仕様が、通知やリマインド設定における制約の直接的な原因となります。計算された日付は表示用データとして処理されます。
kintone標準機能では実現できない日付計算
kintone標準機能の日付計算は数値としての秒数を加減算する仕組みであり、保存ボタンを押さないと計算結果が表示されません。
ケース①:営業日計算や特定日の算出する場合
月ごとの日数の違いや、特定の日にちを固定して算出する処理には対応していません。営業日ベースでの日数計算や特定の日付を指定する複雑な計算は標準機能では作成できません。
こうしたビジネス要件が含まれる場合は、標準機能以外の手段を選択する必要があります。
ケース②:通知機能やリマインド設定との連動が必要な場合
kintoneのリマインド条件通知は、日付フィールドまたは日時フィールドの値に対してのみ設定できます。計算式によって導き出された日付は、文字列として扱われるため、リマインド通知の基準日として選択することができません。
標準機能で対応できない日付計算の課題が表面化する具体的なシーン
設計段階では見落としがちですが、実際の運用が始まると日付計算の結果が実務に適さないという課題が表面化します。
計算結果の日付を通知のトリガーに指定できない
標準機能では計算した日付を基準にリマインドを送信できません。計算フィールドの出力結果は日付型ではなく文字列型のためです。
一覧表示と実際の日付の乖離
経過日数や有効期限までの期間を管理している場合、一覧画面を見た際にデータが古いまま更新されていないという問題が発生します。kintoneの計算式はレコードの保存が実行の条件のためです。
1ヶ月間編集されていないレコードの経過日数は、1ヶ月前の数値で止まったままになります。データの最新状態を維持することが重要な業務では、標準機能のみでの運用は不十分です。
標準機能での制約を解消する3つの解決策
標準機能で対応できない場合、次に取るべき選択肢は運用カバー、プラグイン、カスタマイズの3つです。これらをコストと保守性の観点から選択する必要があります。
解決策①:入力ルールの変更やバッチ処理による運用
追加コストをかけずに解決する方法は、入力ルールや運用フローを変更することです。
週の初めに管理者が全レコードを一括で読み込みおよび書き出しを行うことで、強制的に再計算を走らせ、数値を最新化する手法があります。
ただし、これらは作業負担が増大するため、レコード件数が少ない場合に限定すべきです。
解決策②:プラグイン導入
kintoneの標準機能を補完する一般的な手段が、プラグインの導入です。
日付計算に関連するプラグインを導入すれば、計算結果を日付フィールドに自動コピーする、あるいはレコードを開かずにバックグラウンドで一括再計算を行うといった処理が容易に実現できます。
自動更新や通知連動が業務の基軸に関わる場合は、プラグインを選択することが適切です。
プラグイン例①:Crena社日付プラグイン
Crena社の計算プラグインを使用することで計算した日付を文字列ではなく、日付項目にすることや、営業日での日付計算が可能になります。
プラグイン例②:rex0220計算式プラグイン
rex0220計算式プラグインは日付計算に特化したプラグインではありませんが、エクセルライクに関数を使用できるため、複雑なロジックを必要とする日付計算を実現できます。
解決策③:JavaScriptによるカスタマイズ
プラグインでも対応できないほど複雑なロジック、例えば独自の祝日判定を含めた詳細な納期計算や、他アプリの複数レコードを参照した動的な日付設定が必要な場合は、JavaScriptによるカスタマイズが選択肢に入ります。
カスタマイズの利点は、自社の業務フローに適合した挙動を実現できる点にあります。
一方で、kintoneのアップデートに伴うメンテナンスや、開発スキルの属人化という側面も伴います。エンジニアによる継続的なサポート体制がある場合にのみ、この選択肢を推奨します。
まとめ
kintoneにおける日付計算は、以下の3点を押さえることで最適な設計が可能になります。
- 標準機能は単純な加減算には適しているが、通知連動や自動更新には不向きである。
- 計算結果を通知に使いたい場合は、文字列ではなく日付型フィールドへの格納が必要となる。
- 運用の負荷とコストを比較し、プラグイン導入やカスタマイズを論理的に選択する。
kintoneの日付管理は、業務の自動化レベルを決定づける要素です。
自社の要件が標準機能で実現可能か不安な場合や、最適なプラグインの選定、カスタマイズが必要な際は、AIzen株式会社へご相談ください。貴社の業務に最適なシステム構成を、専門的な視点から提案します。まずは無料相談にて、現在の課題をお聞かせください。



コメント