Механизм блокировок.
Хорошая статья по блокировкам на ИТС, но слегка устаревшая, в 8.3.14 алгоритм пессимистичной блокировки изменен.
Очень интересная статья, исследование блокировок.
Ускорение работы при высокой нагрузке, для погружения.
Теория
Критичная тема для понимания работы платформы.
Объектные блокировки - механизм обеспечения целостности объекта (элемент справочника, документ, ...) средствами платформы 1С. В большинстве случаев это связано с интерактивной работой пользователей в формах: редактирование существующих объектов, удаление, создание новых и др.
Транзакционные блокировки - механизм обеспечения целостности и непротиворечивости данных средствами ядра СУБД на уровне транзакций.
Отличия заключается в элементе контроля и выбора точки блокировки. К тому же, у разных СУБД разные уровни блокировок (на уровне записей или на уровне таблиц). Например, элемент справочника состоит из реквизита Наименование и табличной части Характеристики с названием и значением. С точки зрения базы данных, в ней создается основная таблица с ключом, наименованием, и дополнительная таблица Характеристики с индексом, названием, значением и ссылкой на владельца.
Блокировка на уровне объекта подразумевает наличие в БД третьей таблицы, в которой указывается, что Пользователь1 редактирует объект1. При попытке Пользователем2 изменить объект1, в операции будет отказано и до уровня старта изменений в данных дело не дойдет. Но здесь на первый план выходит алгоритм добавления и удаления данных из третьей таблицы.
Блокировка на уровне транзакции подразумевает отсутствие третьей таблицы, и при изменении данных в соответствии с логикой СУБД (либо запись об объекте1 в таблице1 и соответствующих записей в таблице2, либо целиком обоих таблиц), после успешного завершения блокировки снимаются.

- Объектная Оптимистическая. Построена на анализе номера версии объекта, хранящейся в базе данных и номера версии, помещенной в память компьютера в момент считывания данных из информационной базы. Если при записи объекта номера его версий отличаются, то будет выдано предупреждение о том, что версия объекта изменилась или он был удален. Происходит автоматически для
- Объектная Пессимистическая неявная (в форме). В тот момент, когда пользователь начинает модификацию объекта в форме, расширение формы устанавливает пессимистическую блокировку. Если после этого другой пользователь, попытается выполнить редактирование того же объекта, ему будет выдано сообщение о невозможности блокировки объекта. Когда пользователь, редактировавший объект, закроет форму объекта, расширение формы снимет пессимистическую блокировку, либо через минуту после сохранения данных.
- Объектная пессимистическая блокировка явная (в коде)
- Без формы (обычные формы) Методы «Заблокировать()», «Разблокировать()» и «Заблокирован()», используются для объектов базы данных, существуют только на сервере. Метод «Заблокирован()» не может быть использован для проверки, заблокирован ли вообще объект базы данных, например, другими пользователями. Для этого следует использовать метод «Заблокировать()» в попытке.
- Управляемые формы Для работы с блокировками из управляемой формы без вызова сервера можно использовать методы: «ЗаблокироватьДанныеФормыДляРедактирования()» и «РазблокироватьДанныеФормыДляРедактирования()». Используются для блокировки или разблокировки данных основного реквизита формы. Контролируются флагом «Сохраняемые данные». Данный флаг определяет будет ли при интерактивном редактировании блокироваться данные основного реквизита, или нет. Пессимистическая блокировка хранится в сервисе блокировок DataEditLockService кластера 1С. Увидеть блокировку конкретного объекта можно в консоли кластера в разделе Кластреры -> Информационные базы -> Блокировки
- Автоматические. Ответственность за блокировки полностью лежит на СУБД. Это облегчает работу, но создание информационной системы для большого количества пользователей на автоматических блокировках нежелательно (особенно для СУБД PostgreSQL, Oracle BD, т.к. при модификации данных они полностью блокируют таблицу).
- Управляемые. В управляемом режиме есть возможность использовать менеджер транзакционных блокировок данных «1С:Предприятие». В этом режиме система использует гораздо более низкий уровень изоляции транзакций для MS SQL Server и IBM DB2, и блокировку на уровне записей для PostgreSQL. Это позволяет достичь более высокой параллельности работы пользователей.
Детали установки блокировок
Настройка объектов конфигурации
Режим управления блокировками данных настраивается в свойствах объекта конфигурации, раздел Режим управления блокировками данных. Может быть Управляемый или Автоматический.
Шаблоны кода
Получить версию объекта на клиенте и на сервере.
&НаСервереБезКонтекста
Процедура ПолучитьВерсиюОбъектаНаСервере(ТекОбъект)
Сообщить(ТекОбъект.ВерсияДанных);
КонецПроцедуры
&НаКлиенте
Процедура ПолучитьВерсиюОбъекта(Команда)
ПолучитьВерсиюОбъектаНаСервере(Объект.Ссылка);
Сообщить(Объект.ВерсияДанных);
КонецПроцедуры
Проверка необходимости обновления.
&НаСервереБезКонтекста
Функция ВернутьВерсиюДанныхНаСервере(ТекОбъект)
Возврат ТекОбъект.ВерсияДанных;
КонецФункции
&НаКлиенте
Процедура ОболочкаОбработчика()
ВерсияНаСервере = ВернутьВерсиюДанныхНаСервере(Объект.Ссылка);
Если ВерсияНаСервере <> Объект.ВерсияДанных Тогда
ЭтаФорма.Прочитать();
ПроверкаЭлементовНаВидимость();
КонецЕсли;
КонецПроцедуры