サポート > リポジトリ > 計算式 > 計算式かつ編集可能な項目を用意する
ja | en

計算式を設定した項目は読み取り専用になります。これに通常の入力項目を組み合わせることで、自動計算かつ編集可能という項目を用意する方法を説明します。

「見積書」モデルの「請求金額」は計算式で求められますが、かつ、入力用の編集項目も用意しています。(図1)

図1 請求金額項目を自動計算かつ入力可能とする

入力欄に値が入っていた(すなわち手動入力された)場合はその値を優先します。入力欄が空の場合は、計算値をそのまま使います。(図2)

図2 表示時は一つのみとなる

「請求金額」の項目を3つ用意します。それぞれ次の特徴があります。

項目ID用途計算式DB保存表示時に隠す
total_calc 登録更新画面で自動計算値を保持する SUM(${precord/p_syoukei}) しない
total_input 登録更新画面で入力値を保持する なし しない
total 詳細画面用 IF(${total_input}>0,${total_input},${total_calc}) する -
図3 請求金額項目の定義

total_calc項目

登録更新画面で自動計算値を保持する目的で用意します。値はデータベースに保存しません。(図4) 表示時は隠し項目とします。(図5)

図4 total_calc項目の定義(1)
図5 total_calc項目の定義(2)

total_input項目

登録更新画面で入力用項目を用意します。値はデータベースに保存しません。(図6) 表示時は隠し項目とします。(図7)

図6 total_input項目の定義(1)
図7 total_input項目の定義(2)

total項目

total_input項目に入力があれば、こちらを正とします。そうでなければ自動計算値(total_calc項目)の値をデータベースに保持します。検索時はこの項目を使って行います。(図8,図9)

図8 total項目 (1)
図9 total項目 (2)