更新

最終更新日: 2022年2月8日
R8 | R9

悲観ロック

Wagbyの標準は「悲観ロック」です。ここでは悲観ロック時の挙動を説明します。

ある利用者 (A) がデータの更新画面を開いている場合、その更新作業が終わるまで、他の利用者 (B) は同じデータの更新画面を開くことができません。 この場合、利用者 B が(そのデータの)更新画面を開こうとすると図1のようなメッセージが表示されます。

図1 ロックエラーのメッセージ

ワンポイント

このため、Wagbyでは更新の競合によるデータの破壊という事故は発生しません。最初に更新画面を開いた人が作業を終了するまで、他の人が更新することができないためです。

注意

このロック機構は、更新・削除・一覧更新・アップロード更新といった、Wagbyが管理するすべての更新処理で機能します。

更新画面を開いたまま放置された場合

利用者 (A) が更新画面を開いたまま、何らかの理由で放置したとします。この場合、A はある時間が経過すると自動的に「ログオフ」されます。この "まったく操作しない時間" は「セッション・タイムアウト」として設定されています。標準は 20 分ですが、この値を変更することもできます。

強制ログオフ

利用者 (A) を強制的にログオフさせることもできます。システム管理者は専用の画面操作で現在、ログオンしている利用者をログアウトさせるという機能を提供しています。

ロックの解放についてのまとめ

更新画面で取得したロックは、次のいずれかの場合に解放されます。

  • 更新画面で「保存」または「キャンセル」ボタンを押下して、更新画面を正常に終了させる。
  • 更新画面から、パンくずを使って別画面に移動する。
  • メニュー画面に戻る。(メニュー画面に戻るタイミングで、すべてのロックは解除されます。)
  • サブメニューから別の業務(画面)を選択する。
  • セッションタイムアウトによる自動ロック解除。
  • ログオフ。(システム管理者による強制ログオフを含む。)

重要

[ご注意ください] 上記以外の操作では、取得したロックは解放されません。

ページタイトル

画面例

ページタイトルを "お得意様 更新" へ変更した例を示します。

図2 ページタイトルを変更

定義方法

画面タブ内の検索・一覧表示タブを開きます。「ページタイトル」の欄に文字を入力します。

図3 ページタイトルの設定

説明文

画面例

説明文を設定した例を示します。

図4 説明文を表示する

定義方法

画面タブ内の検索・一覧表示タブを開きます。「説明文」の欄に文字を入力します。

図5 説明文の設定

HTMLタグを加える

説明文にHTMLタグを加えることもできます。文章を途中で改行させる場合は br タグを使うということができます。詳細は「検索・一覧表示>説明文 - HTMLタグを加える」をお読み下さい。

同一ユーザのロックを自動的に解除する(悲観ロック利用時)

Wagbyでは、ブラウザを閉じてしまった利用者はセッションタイムアウトを過ぎると自動的にログオフとします。この設定は、セッションタイムアウトの前に再ログオンした場合、当該利用者のロックを解除するというものです。

したがって、利用者が更新画面を開いたまま Web ブラウザを閉じてしまった場合、そのデータについての更新ロックは残ったままとなります。

この設定は同一利用者に限り、再ログオンすると自動的にロックを解除します。標準では無効となっています。

図6 ロックの解除

例えば、user1アカウントでログオンし、あるデータの編集画面を開きます。この時、別のPC(ブラウザ)で再びuser1アカウントでログオンし、同じデータの編集画面を開くことができるようになります。自動的に最初の更新ロックを解除し、再度ロックを取得します。

なお、他のアカウントでログオンした場合は「ロックされているため更新できない」というエラーになります。

注意

この設定は更新画面でのみ有効です。一覧更新画面では機能しません。[詳細...]

確認画面を用意する

更新時に確認を行うことができます。「保存」ボタンに代わって「更新確認」ボタンが用意されます。(図7)

図7 更新確認ボタン

更新確認ボタンを押下すると、更新を行ってよいかどうかを示すメッセージが表示されます。(図8) ここで「更新画面へ戻る」ボタンを押下すると、図7の画面へ戻ることができます。

図8 更新確認画面

図8で「更新する」ボタンを押下すると、更新されます。(図9)

図9 更新終了画面

定義方法

更新画面の設定欄にある「確認画面を表示する」を有効にします。

図10 確認画面を表示する

確認画面用のページタイトルを指定する

確認画面に用意されるページタイトルを指定することができます

図11 ページタイトルの設定(確認画面用)

通常の更新画面ページタイトル(図3)を設定し、本欄を空白とした場合は、確認画面用のページタイトルに更新画面ページタイトルの設定(図3)が流用されます。

確認メッセージとスタイルを指定する

確認画面に用意されるメッセージとスタイルを変更することができます。

図12 メッセージとスタイルの指定

図12の設定を反映した画面を図13に示します。

図13 独自の確認メッセージを用意した例

仕様・制約

更新対象データが存在しないとき登録画面に遷移する

ボタン名と表示条件のカスタマイズ」で説明します。

アクションボタンの表示位置

(画面遷移を行うための)アクションボタンの位置を変更することができます。

上部に配置する

図14 アクションボタンを上部に配置した例(標準)

下部に配置する

図15 アクションボタンを下部に配置した例

上部と下部の両方に配置する

図16 アクションボタンを上部と下部の両方に配置した例

定義方法

画面タブ内の検索・一覧表示タブに用意された「ボタン表示>アクションボタンの表示位置」を設定します。空白時は「上」として扱います。

図17 アクションボタンの表示位置の設定

用意されているボタン(機能)

更新画面に用意できるボタン(機能)を説明します。

図18 更新画面に用意できるボタン

定義方法

画面タブ内の更新タブに用意された「ボタン表示」を有効にします。

図19 ボタン表示の設定

各ボタンの表示を有効にする場合、関連する画面機能が作成されている必要があります。 画面機能が作成されない設定では、ボタンも作成されません。

種別 初期状態 備考
保存
キャンセル
全クリア 入力した項目をすべて消去します。(データベースからデータが消去されるわけではありません。)

ボタンの表示制御

"ボタン名と表示条件のカスタマイズ"をお読みください。

全クリアボタン押下時のルール

  • 入力できる項目は原則、すべて消去されます。
  • 読み込み専用項目(自動計算、参照連動、または設定で読み込み専用とした場合)は、定義によって動作が変わります。
  • R8.5.0より隠し項目もクリアされるようになりました。そのため、たとえば隠し項目を連動元項目とした参照連動項目があった場合、全クリアボタンによって参照連動項目もクリアされるようになります。
※ 例えば自動計算の場合、式で条件によってnullをセットするような場合は、見た目上、消去されたようにみえます。

前後のデータにアクセスする

更新画面でも(詳細画面と同様に)前後のデータにアクセスする機能が備わっています。 カード型データベースの感覚で、前へ、次へといった操作が可能です。

図20 更新画面に用意される前後移動ボタン

ワンポイント

ここで「前・後」とは、現在の検索結果に対する操作となります。検索条件や並び順の指定によって、前・後のデータは変動します。

定義方法

更新画面>ボタン表示から「前後のデータにアクセスするボタン」の設定を有効にします。

図21 前後のデータにアクセスするボタン設定

ワンポイント

"画面 > 検索・一覧表示 > ボタン表示 > 更新ボタン" もあわせて有効にすると、一覧表示画面から更新画面へ直接、遷移し、その後は「更新して次へ」ボタンで連続したデータ更新を行うことができます。

制約

  • 親子モデル同時更新機能との併用はできません。この制約は R8.5.10 で解消されます。

キャンセル操作時のダイアログ

"新規登録 > キャンセル操作時のダイアログ"をお読みください。