本文へ移動
Wagby11
マニュアルのグループを選ぶ

WAGBY11 MANUAL / 10

利用者情報を使う

保存した利用者と、画面を閲覧している利用者を計算項目へ設定する方法を説明します。

最終更新日:

計算・導出項目の小目次へ

1. このページで伝える機能

操作した利用者のIDや名前を、保存時に計算して記録できます。画面表示時に利用者情報を求めれば、閲覧中の利用者に応じた表示にも使えます。

使える関数の一覧、演算子、未設定値や丸めの規則、用途ごとの制約は関数と式の仕様を参照してください。

2. Wagby11で実現できること

「利用者・計算日時」タブには、登録利用者名、保存利用者ID、計算日時、閲覧利用者名を表示します。図はAdministrator(ID:admin)で操作した例です。

保存時と表示時の利用者情報を計算した結果。
保存時と表示時の利用者情報を計算した結果。

登録利用者名は登録時だけ求め、更新では保存済みの値を残します。保存利用者IDと計算日時は登録・更新のたびに求めます。閲覧利用者名は保存せず、表示時の利用者情報から求めます。

担当者の初期候補を利用者が変更できるようにする用途では「初期値」を使います。操作した利用者から値を決める今回の計算項目は、直接入力する項目から分けます。

3. AIへの指示例

最小限の指示例

登録した人の名前と、最後に保存した人のIDを記録してください。

AIは登録時だけ残す情報と更新時にも変える情報、IDと名前のどちらを保存するかを類推して補います。閲覧者を表示したいのか、操作した人の履歴を残したいのかを分けて伝えます。

より詳細な指示例

CalcQuote.creatorNameはcalc.on:[create]で#userName()を保存し、更新では保持してください。savedByは登録・更新時の#userId()を保存します。viewerNameはtransient:trueかつcalc.on:[display]の#userName()にし、閲覧時に求めます。利用者・計算日時タブでそれぞれの値を確認してください。
既存のモデル・主キー・項目・データ・権限を保持し、Wagby11のguide・referenceを確認してください。新規モデルには自動採番の主キーと予約属性version、必要なG_ADMINのCRUD権限を用意します。メニューと一般利用者向け操作マニュアルを更新し、設計情報の検証・コード生成・ビルドを完了してから起動し、画面と保存結果を確認してください。

4. 編集されるAppSchemaの例

以下は関連する定義の抜粋です。構文を覚えなくても、何から・いつ値を求め、保存するかをAIへ伝えられます。

entity:
  attributes:
    - name: 登録利用者名
      name_en: creatorName
      type: string
      length: 100
      calc: { on: [create], expression: '#userName()' }
    - name: 保存利用者ID
      name_en: savedBy
      type: string
      length: 60
      calc: { on: [create, update], expression: '#userId()' }
    - name: 閲覧利用者名
      name_en: viewerName
      type: string
      length: 100
      transient: true
      calc: { on: [display], expression: '#userName()' }

利用者関数は処理の入口から渡された利用者情報を参照します。利用者情報を渡さないバッチ処理などではnullを返します。表示時の利用者名は、過去に登録・保存した利用者の記録とは区別します。

5. 参考資料

reference:式言語(属性の計算)
designer/docs/appschema/html/reference/16-expression-language.html
reference:利用できる関数
designer/docs/appschema/html/reference/17-expression-functions.html