Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут!

Причины избыточных блокировок в 1С

Умение найти и «обезвредить» причину избыточных блокировок — одна из самых интересных и сложных задач стоящих перед экспертом или программистом 1С 8.3.

Ниже речь пойдет о причинах возникновения избыточных блокировок и методов решения этой проблемы.

Анализ избыточных блокировок в 1С ЦУП

Среди самых часто встречаемых причин избыточных блокировок можно выделить следующие пункты:

Получите 267 видеоуроков по 1С бесплатно:

Рассмотрим каждые из них подробнее.

Неоптимальная работа запросов

Подробнее вы можете прочесть в статье причины неоптимальной работы запросов.

Среди основных причин:

  • использование подзапросов в условии соединения
  • фильтрация виртуальных таблиц без использования параметров
  • соединения с подзапросами
  • соединения с виртуальными таблицами
  • несоответствие индексов и условий запроса
  • использование логического ИЛИ в условиях
  • получение данных через точку от полей составного типа

Чтение остатков в начале транзакции

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

Причина в том, что чтение остатков запросом блокирует записи до конца транзакции — следовательно устанавливается блокировка до конца транзакции. Чем ближе к концу установлено чтение — тем выше параллельность системы.

Избыточные блокировки СУБД

Не допустимо использование некоторых СУБД для серьезных, многопользовательских решениях. Это связано с тем, что для работы эти СУБД используют очень высокий уровень изоляции транзакций.

Использование следующих СУБД не желательно к многопользовательскому режиму:

  • PostgreSQL (режим автоматических блокировок)
  • Oracle (режим автоматических блокировок)
  • файловый режим 1С

Неправильное использование объектов конфигурации

Рассмотрим подробнее каждый объект метаданных:

Константы

Не рекомендуется часто изменять данные констант, т.к при работе с одной константой блокируется вся таблица констант (с 1С 8.2.15 константы разнесены по отдельным таблицам)

Последовательности

Не рекомендуется изменять границу последовательностей при проведении документов.

Регистры бухгалтерии и регистры накопления

Рекомендации идентичны: при оперативной работе рекомендуется использовать режим разделения итогов — он позволяет существенно распараллелить работу пользователей. Так же, рекомендуется как можно позже производить чтение остатков в транзакции.

Планы обмена

Т.к планы обмена блокируют таблицы изменения всех объектов, включенные в состав плана обмена, рекомендуется производить обмены либо в нерабочее время, либо маленькими порциями — что бы блокировки были небольшими по времени.

P.S. Наша компания предоставляет услуги по настройке, доработке и комплексному внедрению 1С. Закажите бесплатный расчет стоимости вашей задачи на странице Услуги 1С или по телефону +7 (499) 350 29 00.

Остались вопросы?

СПРОСИТЕ в комментариях!

Добавить комментарий:

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*