WAGBY11 MANUAL / 10
表示時に計算する
計算結果を保存せず、一覧や詳細の出力時に求める方法を説明します。
最終更新日:
1. このページで伝える機能
表示用の税込額や、閲覧中の利用者名などを、その都度求めて表示できます。計算結果をデータベースへ保存する必要がない項目に使います。
使える関数の一覧、演算子、未設定値や丸めの規則、用途ごとの制約は関数と式の仕様を参照してください。
2. Wagby11で実現できること
表示用税込額は、保存済みの適用金額3,240円へ10%の税を加え、円単位に四捨五入した3,564円です。保存している金額とは別の参考表示として用意しています。

検索結果の一覧にも表示用税込額を出せます。値は取得・出力時にサーバーで求めます。

日付を使う年齢などにも応用できます。計算結果は保存せず、表示時に求めるため、計算元や基準日が変われば次に取得した結果へ反映できます。表示用calc項目を検索条件やソート項目にはできません。
親子フォームの入力中に明細金額と合計を再計算する動作や、非保存の子計算項目を集計する規則は、入力中に明細と合計を再計算するを参照してください。
3. AIへの指示例
最小限の指示例
税込額は保存せず、画面に表示するときに求めてください。AIは税率、丸め方、どの画面へ表示するかを類推して補います。帳票や取引の確定値として保存する金額なのか、表示時の参考値なのかも明確に伝えます。
より詳細な指示例
CalcQuote.displayTaxAmountはdecimal、precision14・scale2、transient:true、calc.on:[display]にしてください。payableAmountがnullならnull、それ以外は1.1を掛けて小数0桁へ四捨五入します。詳細と検索一覧へ表示し、適用金額3240から3564になることを確認してください。検索条件とソートには使いません。
既存のモデル・主キー・項目・データ・権限を保持し、Wagby11のguide・referenceを確認してください。新規モデルには自動採番の主キーと予約属性version、必要なG_ADMINのCRUD権限を用意します。メニューと一般利用者向け操作マニュアルを更新し、設計情報の検証・コード生成・ビルドを完了してから起動し、画面と保存結果を確認してください。4. 編集されるAppSchemaの例
以下は関連する定義の抜粋です。構文を覚えなくても、何から・いつ値を求め、保存するかをAIへ伝えられます。
entity:
attributes:
- name: 表示用税込額
name_en: displayTaxAmount
type: decimal
precision: 14
scale: 2
transient: true
calc:
on: [display]
expression: 'payableAmount == null ? null : #round(payableAmount * #decimal("1.1"), 0)'transient: trueでDB保存項目にせず、on: [display]で出力時に計算します。一覧・詳細・フォーム・保存結果・ダウンロードへ出力できます。表示用calcを保存用calcから参照することはできません。
5. 参考資料
- reference:式言語(属性の計算)
designer/docs/appschema/html/reference/16-expression-language.html- reference:利用できる関数
designer/docs/appschema/html/reference/17-expression-functions.html- guide:非永続項目
designer/docs/appschema/html/guide/08-rules/07-transient-fields.html