計算式プラグインで、添付ファイル項目のファイル数をカウントします。
概要
添付ファイル項目のファイル数をカウントするには、少し工夫がいります。
なお追加・編集画面で、ファイルを追加・削除してすぐにカウント数に反映することは、できません。
レコード保存時に、ファイル数をカウントしてレコードに反映しますので、詳細画面表示時に最新のファイル数を反映します。
kintone API の添付ファイル項目について
kintone で提供されているAPI は、イベントの種類によって、ファイル情報の有無があります。
show, submit.success では、ファイル情報を取得できますが
change, submit では、ファイル情報を取得できません。
※なおモバイル表示では、show イベントでファイル情報を取得できません。
ファイル数をカウントする計算式
各イベント別に、ファイル数をカウントするか、ファイル数をそのまま保持するかを指定します。
※「LET(x,更新日時,」は、success イベントで計算処理を行わせるため、指定しています。
この項目ではなくとも、どれかの項目の計算式に「更新日時」を参照していれば、success イベントで計算処理が行われます。
-
テーブル外の計算式:
LET(x,更新日時,
IF(OR(
AND(EV_INFO("mobile"),EV_INFO("mode")="success"),
AND(NOT(EV_INFO("mobile")),IN(EV_INFO("mode"),"","show","success"))),
ARRAY_COUNT(添付ファイル),数値)
) -
テーブル内の計算式:
LET(x,更新日時,
IF(OR(
AND(EV_INFO("mobile"),EV_INFO("mode")="success"),
AND(NOT(EV_INFO("mobile")),IN(EV_INFO("mode"),"","show","success"))),
ARRAY_COUNT(添付ファイルT),数値T)
)
簡易版ファイル数をカウントする計算式
対象アプリについて、連携サービスやAPIによるファイル項目更新等を行わないようであれば、計算式を少し簡単にできます。
一括計算と success イベントのみ最新のファイル数を取得し、それ以外は値を保持します。
- テーブル外の計算式:
LET(x,更新日時,
IF(IN(EV_INFO("mode"),"","success"),
ARRAY_COUNT(添付ファイル),数値)
)