「楽楽販売」の「レコード更新の排他制御」機能は、主に「ユーザーAが編集画面を開いている間に、ユーザーBが同じレコードを編集・保存しようとする」といった、人対人の同時編集によるデータ上書きを防ぐための仕組みです。
しかし、この機能は自動処理(タイマー実行や一括実行)やAPI連携、CSVインポートによるバックグラウンドでのデータ更新とは連動していないため、これらの処理とユーザーの手動編集が重なった場合には、後から確定操作を行った内容が最終的に有効となり、先に完了していた処理内容が消えてしまう「先祖返り」が発生するリスクがあります。
自動処理や外部連携と手動操作の競合を避けるため、以下の運用・設定を組み合わせてリスクを最小限に抑えることを推奨いたします。
自動処理(一括実行やタイマー起動)がユーザーの入力作業と重ならないよう、実行時間を調整してください。
<設定箇所> DB設定>機能設定>自動処理設定>自動処理一括実行設定
<手順>
タイマー起動スケジュールを、ユーザーがシステムを利用しない夜間や早朝の時間帯に設定します。これにより、ユーザーがレコード編集画面を開いている最中に自動処理が裏側でデータを書き換えるリスクを物理的に回避できます。
ユーザー同士の同時編集によるデータ消失を防ぐため、排他制御を必ず有効にしてください。
<設定箇所> 管理者設定>システム設定>全体詳細設定>レコード操作に関する設定
<手順>
「レコード更新の排他制御」にて「排他制御する」にチェックを入れ、運用に合った制御方式(編集禁止、または確認ダイアログ表示)を選択します。これにより、少なくとも人為的なデータ上書きを防止できます。
万が一、データが意図せず上書きされた場合は、操作ログから原因を特定し、手動またはバックアップから復旧を行います。
<確認箇所> 管理者設定>メンテナンス機能>ログ一覧
<手順>
「ログ一覧」にて、事象が発生した期間の「レコード更新」や「自動処理によるレコード更新」を検索します。
「参照」ボタンから変更前後の値を確認し、手動で正しい値へ修正してください。詳細な変更履歴を記録するため、全体詳細設定にて「詳細情報(登録・更新の内容など)を保存する」にチェックを入れておくことを強く推奨します。
排他制御の詳細や、自動処理と手動編集が競合した際の挙動については、下記記事をご確認ください。
同時編集を制限する排他制御の設定方法と、制御方式ごとの挙動の違いについて詳しく解説しています。
レコードの編集中に他のユーザが入力できないようにしたい(排他制御・ロック機能)
自動処理と手動編集が重なった際のデータ上書き仕様と、リスクを最小限にするための運用上の工夫について解説しています。
自動処理の実行と手動でのレコード編集が競合した場合の挙動と対策
(記事ID:3058)