Блокировка сущностей

В продукте предусмотрена работа в многопользовательском режиме — несколько пользователей могут одновременно взаимодействовать с одним и тем же разделом и объектом. Для предотвращения конфликтов при редактировании реализован механизм блокировки: если сущность открыта другим пользователем для изменения, ее редактирование другими ограничивается в соответствии с типом блокировки.

Под редактированием понимается внесение изменений хотя бы в одно поле свойств сущности.

Блокировка подразделяется на два типа:

  • пессимистичная — полная блокировка редактирования сущности; пользователь не может начать редактирование сущности, если она уже открыта другим пользователем;

    Записи о блокировке таких сущностей отображаются в разделе «Заблокированные записи».

    Список сущностей, к которым применяется пессимистичная блокировка:

  • оптимистичная — частичная блокировка редактирования сущности; при одновременном редактировании сущности несколькими пользователями сохраняются изменения только того, кто первым нажал кнопку Сохранить.

    Если второй пользователь пытается сохранить изменения после этого, отображается уведомление о том, что сущность была изменена, и открывается актуальная версия данных с изменениями первого пользователя. Правки, внесенные вторым пользователем до этого момента, не сохраняются.

    Аналогичным образом изменения обрабатываются при редактировании одной и той же сущности одним пользователем в разных вкладках.

    Если сущность была удалена первым пользователем, а второй пытается сохранить свои изменения, он перенаправляется на список сущностей с уведомлением об удалении.

    Список сущностей, к которым применяется оптимистичная блокировка:

Обновлено: