Конфигурация 1С:Предприятия 8 может работать в одном из трех режимов управления блокировками в транзакции:
В автоматическом режиме управления блокировками данных используются уровни изоляции транзакций repeatable read и serializable, обеспечиваемые системой управления базами данных. Эти уровни изоляции транзакций обеспечивают согласованное и целостное чтение данных, и от разработчика не требуется каких-либо дополнительных действий по управлению блокировками.
Управляемый режим позволяет повысить параллельность работы пользователей в клиент-серверном варианте работы за счет использования более низкого уровня изоляции транзакций базы данных (Read Committed). При записи данных в транзакции объекты встроенного языка автоматически блокируют необходимые данные. Разработчику требуется управлять блокировками данных в тех случаях, когда бизнес-логика требует согласованного и целостного чтения данных в транзакции.
Автоматический и управляемый режим позволяет использовать возможность управления блокировками в транзакции только для некоторых объектов конфигурации. Этот режим может использоваться для оптимизации параллельности работы пользователей с отдельными прикладными объектами (например, с несколькими наиболее интенсивно используемыми документами) или для постепенного перевода больших конфигураций в режим управления блокировками в транзакции.
В сводном виде отличия при работе в режиме автоматических блокировок и в режиме управляемых блокировок приведены в следующей таблице:
Режим блокировки в транзакции |
СУБД |
Файловая база данных |
MS SQL Server |
PostgreSQL |
Автоматический | Вид блокировок |
Таблиц |
Записей |
Таблиц |
Уровень изоляции транзакций |
Serializable |
Repeatable Read или Serializable |
Read Committed | |
Управляемый | Вид блокировок |
Таблиц |
Записей |
Записей |
Уровень изоляции транзакций |
Serializable |
Read Committed |
Read Committed |
Ниже приведен пример управления блокировками данных при чтении данных регистра накопления "УчетНоменклатуры" в обработке проведения документа РасходнаяНакладная: