計算式かつ編集可能な項目を用意する
最終更新日: 2020年3月14日
R8 | R9
「見積書」モデルの「請求金額」は計算式で求められますが、かつ、入力用の編集項目も用意しています。(図1)
入力欄に値が入っていた(すなわち手動入力された)場合はその値を優先します。入力欄が空の場合は、計算値をそのまま使います。(図2)
「請求金額」の項目を3つ用意します。それぞれ次の特徴があります。
登録更新画面で自動計算値を保持する目的で用意します。値はデータベースに保存しません。(図4)
表示時は隠し項目とします。(図5)
登録更新画面で入力用項目を用意します。値はデータベースに保存しません。(図6)
表示時は隠し項目とします。(図7)
total_input項目に入力があれば、こちらを正とします。そうでなければ自動計算値(total_calc項目)の値をデータベースに保持します。検索時はこの項目を使って行います。(図8,図9)
「追加ボタン」を用意し、この押下によって計算を行い、値を上書きする方法もあります。この場合は入力可能項目に対して直接、値を書き換えます。
例
定義方法
項目ID 用途 計算式 DB保存 表示時に隠す
total_calc
登録更新画面で自動計算値を保持する
SUM(${precord/p_syoukei})
しない
○
total_input
登録更新画面で入力値を保持する
なし
しない
○
total
詳細画面用
IF(${total_input}>0,${total_input},${total_calc})
する
-
total_calc項目
total_input項目
total項目
JavaScriptを利用する