Private Record Lock

From ADempiere
Revision as of 05:47, 11 December 2010 by MJMcKay (Talk) (Fixing breadcrumb)

Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.

Table of Contents{{#if: Functionality| | Functionality }}{{#if: | | [[{{{3}}}]] }}{{#if: | | [[{{{4}}}]] }}{{#if: | | [[{{{5}}}]] }} | Private Record Lock{{#if: Product Attributes| | Product Attributes }} ⇒

Records are temporarily "locked" at the database level during a save to prevent multiple users from changing the same record at the same time. This does not prevent multiple users from working on the same record at the same time. The last save operation will overwrite any previous changes. (Not sure if this applies at the field level or for the entire record. There is also a check for "dirty" records and an error that the record was changed by someone else.)

The Private Record Lock function allows a record to be locked by a user indefinitely, preventing other users from modifying it. This is useful for tasks that take time or where important changes to the record are pending.

Access

Icon: Icon Lock24.png Icon LockX24.png
Menu: →Private Record Lock }}{{#if: | → }}{{#if: | → }}
Short Cut: none

Restrictions

Your role must have Personal Lock checked in the {{#if: |{{{2}}}|Role }} Window in order to enable the Private Record Lock functionality.

To see records locked by other users, you need to have Personal Access checked in {{#if: |{{{2}}}|Role }} Window.

Description

The Private Record Lock makes a record unavailable to other users. Essentially, when a record is locked, other users will not be able to find the record in searches. The lock is recorded in the table AD_Private_Access with the Users ID, the table and record identified.

When creating queries, ADempiere will select records that are not in AD_Private_Access.

When Personal Access is checked in the {{#if: |{{{2}}}|Role }} Window, all records are available in searches.

For Developers

The software that controls this dialog can be found in

  • base/src
    • org.compiere.model.MPersonalAccess.java
    • org.compiere.model.GridTab.java
  • client/src
    • org.compiere.apps.APanel.java