Управляемые блокировки
-

Управляемые блокировки

1
3013
28.02.2022 Ольга Волкова

Содержание:

1.      О блокировке в 1С 8.3

2.      Режимы управления блокировками для объектов конфигурации

3.      Управляемая блокировка в коде

4.      Исключительная управляемая блокировка


1.       О блокировке в 1С 8.3

 

Блокировка – обязательный функционал многопользовательской системы.

 

Любой объект системы во время чтения и изменения должен быть заблокирован от других процессов. Блокироваться объект может как СУБД, так и самим приложением 1С. Именно из-за области воздействия блокировок они бывают объектными и транзакционными. Объектное блокирование – это вид, реализованный на уровне платформы 1С, не затрагивающий СУБД. Транзакционное блокирование – это механизм, который работает на уровне СУБД. Транзакционные подразделяются на автоматические и управляемые блокировки.

 

Режим автоматических блокировок предоставляется и исполняется СУБД.

 

Режим управляемых блокировок данных выполняется не моделями данных СУБД, а в терминах предметной области 1С. Благодаря этому блокировки накладываются «точнее» и параллельность работы пользователей повышается. При выполнении каждой операции с базой данных менеджер блокировок 1С 8.3 проверяет возможность блокировки ресурсов.  

 

2.       Режимы управления блокировками для объектов конфигурации

 

В Конфигураторе в свойствах можно установить вариант блокировки на все объекты конфигурации.

 

Свойство "Режим управления блокировкой данных":



Рис. 1 Режим управления блокировкой данных

 

Для конкретного объекта конфигурации тоже можно установить режим блокировки – свойство "Режим управления блокировкой":



Рис. 2 Свойство "Режим управления блокировкой"

 

Этот режим предназначен для частичного перевода конфигурации в режим управляемых блокировок. Он позволяет отдельным объектам метаданных работать с управляемыми блокировками в 1С, в то время как остальные объекты работают в режиме автоматических блокировок. Это и есть автоматический и управляемый режимы.  

 

3.       Управляемая блокировка в коде


Блокировки в коде создаются и устанавливаются с помощью методов и свойств.

 

Создать объект блокировка данных –

            БлокировкаДанных = Новый БлокировкаДанных;

Добавить новый элемент блокировки

            ЭлементБлокировки = БлокировкаДанных.Добавить("ключ")

Установить режим блокировки

            ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый/Исключительный

Установить значение блокируемых данных

            ЭлементБлокировки.УстановитьЗначение("ключ", ЗначениеКлюча);

            ЭлементБлокировки.УстановитьЗначение("Период", ЗаданныйДиапазонДат);

            ЭлементБлокировки.ИспользоватьИзИсточникаДанных("ключ", "ключ")

 

Блокировки в коде устанавливаются при изменении объектов, реквизитов, данных, и т.д.

 

1.Явное задание имени объекта блокировки и его значения

 

БлокировкаДанных = Новый БлокировкаДанных;

ЭлементБлокировки = БлокировкаДанных.Добавить("РегистрНакопления.ОстаткиТоваровНаСкладах");

ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;

ЭлементБлокировки.УстановитьЗначение("Склад", Склад);

 

В данном случае мы блокируем в данных регистра "ОстаткиТоваровНаСкладах" все записи, у которых

значение измерения "Склад" равно значению, содержащемуся в переменной "Склад"

 

2.Задание блокировки с указанием источника данных, содержащего необходимые значения

 

БлокировкаДанных = Новый БлокировкаДанных;

ЭлементБлокировки = БлокировкаДанных.Добавить("РегистрНакопления.ПродажиТоваров");

ЭлементБлокировки.Режим = РежимБлокировкиДанных. Разделяемый;

ЭлементБлокировки.УстановитьЗначение("Покупатель", Покупатель);

Диапазон = Новый Диапазон(НачалоМесяца(Дата), Дата);

ЭлементБлокировки.УстановитьЗначение("Период", Диапазон);

 

Ну, а в этом примере, мы блокируем в данных регистра "ПродажиТоваров" все записи, у которых

значение измерения "Покупатель" равно значению, содержащемуся в переменной "Покупатель",

а значение поля "Период" содержится в указанном диапазоне (НачалоМесяца(Дата), Дата).

 

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

 

БлокировкаДанных = Новый БлокировкаДанных;

ЭлементБлокировки = БлокировкаДанных.Добавить("РегистрНакопления.ОстаткиТоваровНаСкладах");

ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;

ЭлементБлокировки.УстановитьЗначение("Склад", Склад);

ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;

ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");

 

Данные для установки ограничений на поля этого элемента блокировки – это таблица значений "СписокНоменклатуры". Блокируем в данных регистра "ОстаткиТоваровНаСкладах" все записи, у которых значение измерения "Склад" равно значению переменной "Склад", а значение измерения "Номенклатура" равно какому-либо значению из колонки "Номенклатура", указанного источника данных. В качестве источника данных можно указывать результат запроса, и для последнего примера можно было бы создать запрос, который бы отсекал номенклатуру, содержащую "услугу", тем самым нивелируя избыточность блокировки.  

 

4.       Исключительная управляемая блокировка

 

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

 

Использование "разделяемой" блокировкой может привести к конфликту блокировок. Например, две транзакции начали считывать остатки из регистра "Списки номенклатуры", остатки имеют одинаковые элементы. При этом система в первой и второй транзакции устанавливает разделяемую блокировку на считываемые ресурсы. Эти две блокировки на один и тот же ресурс совместимы друг с другом, потому что они разделяемые. Далее первая транзакция прочитала данные, изменила и теперь хочет их записать, но сделать это не может, т.к. для этого система должна установить исключительную блокировку на записываемые данные, чему мешает разделяемая блокировка второй транзакции. Первая транзакция становится в очередь, ожидая снятия разделяемой блокировки, установленной второй транзакцией. Вторая транзакция также закончила чтение данных и хочет записать новые данные. Все повторяется – она не может это сделать, т.к. для этого система должна установить исключительную блокировку на записываемые данные, но этому мешает разделяемая блокировка, установленная на часть этих данных первой транзакцией. Вторая транзакция становится в очередь, ожидая снятия разделяемой блокировки, установленной первой транзакцией – круг замкнулся, и мы получаем конфликт блокировок.

 

При установлении исключительной блокировки таких конфликтов возникать не может.

 

Специалист компании «Кодерлайн»

Ольга Волкова

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

0
Alexey
Вы решительно зря игнорируете тег <code> для кусков кода
Имя Цитировать 0
Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Теги
# абота Риелторского Агентства # Управление торговлей 11 #Забалансовый счет #Контекстное меню #Параметры запуска #Работа Риелторского Агентства # 1C # CRM-система # Cинтаксис-помощник # Cинхронные методы работы # Cправочник номенклатуры # PDF документами # PowerShell # XML-файл # Бизнес-процесс # Виды событий оповещения # Возврат товаров # Глубина анализа # Графические объекты # Динамический список # Документ заказ клиентов # Документ заполнен # Документ Отбор (размещение) товаров # Документ Отгрузка товаров ИС МП # Документ Приобретение товаров и услуг # Документ УПД # Документы продажи # Доступ на ТСД # ДтКт # ЕАЭС # Задержка зарплаты работодателем # Заказ на перемещение # Закладка Администрирование # Зарплата и кадры # Имя таблицы # ИТС # Кабель NYM(Севкабель) 3x5.5 # Книга учета доходов и расходов # Курс валюты # Лицо с правом подписи # Лицо, имеющее право подписи документов # Маркировка цифровыми кодами # Минимальные цены продажи в 1С # Настройка НСИ и разделов # Настройка ценообразования # НДФЛ # Нематериальные активы # Нормативно-правовые документы # Обмен электронными документами # Оплата через банк # Оптовые продажи # Основное ответственное лицо организации # Остаток товара на складе # Отчет комиссионера # Передача на комиссию # Перемещение ТС и оборудования # Проведение инструктажа # Продажи или Закупки # Прочие доходы # Пункт Подключить обработки # Пункт Сервис # ПФР и ФФОМС # Работа ТС # Расчёт зарплаты # Расчет налога УСН # Расчетные счета # Режим использования модальности # Система «Честный знак» # Система GS1 # Списание на расходы # Справка-расчет налога УСН # Страховые взносы # Табель учёта рабочего времени # Таблица формы # Таблица формы «Сотрудники» # Товары # Установка цен на товары # Формат Цифровой Маркировки # Форматированное письмо # Функция Дата # Функция ДеньГода # Функция ДеньНедели # Центральный Банк России # Цены номенклатуры 2.5 # Эквайринговый терминал # Элементы #1.6-НДФЛ #1С Бухгалтерия #1С Договоры #1С: CRM #1С: ERP #1С: ERP Управление строительной организацией #1С: ERP. Управление буровой компанией #1С: WMS Управление складом #1С: Аренда и управление недвижимостью #1С: БУХ #1С: Договорчики #1С: Документооборот #1С: ЗУП #1С: Интеграция #1С: КА #1С: Колледж #1С: Конвертация данных #1С: Модули #1С: Платформа #1С: Предприятие #1С: Розница #1С: Сценарное тестирование #1С: ТОИР #1С: УАТ #1С: УКФ #1С: Университет #1С: УНФ #1С: УПП #1С: Управление строительной организацией #1С: УТ #1С: УХ #1С:ERP #1С:БГУ #1С:БП #1С:Риелтор #1С:Управление холдингом #1С.6-НДФЛ #ADO #APACHE #API #canonical #com-объекты #Cинтаксис-помощник #Cопроводительных документов #Cправочник БИК #Excel #Excel в 1С #FTP-сервер #GoogleDrive #Googleаккаунт #GUID #HTTP #ITIL #Koderline: Управление медиа-холдингом #Koderline: Управление проектами строительства скважин #LINUX #MS SQL Server #PDF #ragent.exe #SOAP-протокол #USB- ключ #WEB #WEB-сервисы 1С #Word #WS-ссылки #XDTO-объект #XML #XML-обмен #Авансовый платеж #Администрирование 1С #Адрес URL описания #Адресный классификатор #акты в 1С #Аппаратная часть сервера #Аутентификации операционной системы #База XML #База данных #Балансовый метод #Балансовый расчет #Банковские счета #Безопасность сервера #Бесшовная интеграция #Бизнес-процесс #БИТ.Финанc #Битрикс24 #Блокировка данных #Блокировки в 1С #БСП #БУ #Бурение скважин #Бухгалтерская отчётность в МСФО #Бухгалтерский отчет #Бюджетирование #Валовая прибыль #Ввод команд #Ввод пароля #Ввоз товаров #Веб-сервер #Веб-сервер Apache #Вид договора #Вид тарифа #Вид Характеристики #Вкладка Документы #Внедрение #Внедрение ERP #Внесение правок #Внешний вид формы #Внешнюю обработку #Возврат от покупателя #Восстановление данных #Временные разницы #Временные таблицы #Всплывающие ошибки #Выбор каталога #Выбранные файлы #Вызов процедуры #Выпадающий список #Выплата аванса #Выплата отпускных сотруднику #Выполнение запроса #Выполнение кода #Выполнение транзакций #График отпусков #ГТД #Данные сотрудника #Дата действия договора #Дата документа #Движение документа #Декларация по НДС #Диагностика ошибки #Директория сервера #Дистрибутивы программ #Документ Заказ клиента #Документ Отпуск #Документ1 #Дополнительный оплачиваемый отпуск #Доработка конфигурации #Доступ к файлам #Журнал проводок #Журнал регистрации #Журнал транзакций #Журналы #Загрузить Значения #Загрузка цен в 1С #Задача для 1С #Заказ-наряд #Закладка Торговля #Закрытие месяца #Закрытие сделки #Заменить #Запись регистра сведений #Заполнения полей #Запросы 1С #Заработная плата #Зарплата и управление персоналом #Импорт товара #Имущество предприятия #инвентаризационная опись #Инвентаризация склада #Интеграционный банк-клиент #Интеграция 1С #Интервал dpi #Интерпретатор языка #Интерфейс пользователя #Информационная база #История пользователя #Источник данных #ИТС ТЕХНО #Кадровые документы #Кадровый документ #КАК ОТРАЖАЮТСЯ ТОВАРЫ В ПУТИ 1С #Как сделать в 1С #Карточка должности #Карточка номенклатуры #Карточка Объекта недвижимости #Касса ККМ #Кассовый документ #Квалификационные надбавки #Классификаторы и курсы валют #Классификаторы и курсы валют #Клиент-серверная схема #Клиент-серверный режим #Код доступа #Код ЦМТ #Код языка #Кодировка формата #Команда вызова #Командная строка #Конвертация данных #Контроль документов #Конфигурация 1С #Конфигурация 1С ЗУП 3.1 #Конфигурация системы 1С #Копирование настроек пользователей #Корпоративное сопровождение #Корректировка базы данных #Корректировка расчётов с учредителем #Криптография данных #Критерии отбора документов #Курс валюты #Курсовые разницы #Левое соединение #Лизинг #Лимит стоимости #Лицензии 1С #Лицензионный договор #Лицензия 1С КОРП #Лицензия 1С ПРОФ #Личные документы #Локальный каталог #Маркетинговая акция #Массив Номенклатур #Массовая регистрация отгулов #Меню Отчет #Место хранения #Метод объекта #Метод устранения ошибки #Методы устранения ошибки #Механизм Анализа Данных в 1С #Механизм записи #Мобильное приложение #Мобильный клиент #Моделирование #Модель данных #Модуль Диадок #Монопольный режим #МРОТ #МСФО #Налоги #Налоговая декларация #Налоговый актив #Налоговый регистр #Налоговый учет #Написание запроса #Настройка отчета #Настройка панели #Настройка параметров #Настройка пользователя #Настройка системы #Настройки пользователя по умолчанию #Начальная таблица #Начисления Арендной платы #Неверные данные #Новый Массив #Норма времени #Нормативно-справочная информация #Облачный сервис #Обмен между базами #Обмен сведениями #Обновления #Обособленное подразделение #Обработка проведения документов #Общие ознакомительные рассылки #Объект системы #Объективность информации #Объектная база данных #Окно сообщений #Оперативная аналитика #Операции в 1С #Оплата агента #Оплата по квитанции #Оплата труда #Оповещение по видам события #Оптимизация #Организация #Организация хранения #ОС и НМА #Основное окно #Основное средство #Остатки взаиморасчетов #Остатки товаров на складах #Остаток товара #Отпуск #Отчет комитенту #Отчетность #Отчетный период #Отчеты в 1С #Оформление документа #Оформление перевода работника #Охрана труда #Оценка задач #Панель инструментов #Параллельный учет #Параметр «Количество» #Параметры отбора #Параметры подключения #Партнер #Перевод сотрудника #Передача данных #Передача неисключительных прав #Перемещение отчета #Перенос данных #Перенос цен из Excel в 1С #Перечисление денежных средств #Период отбора #Периодичность ДЕНЬ #Периодичность МЕСЯЦ #Печатная форма #Печатная форма документа #План счетов #Планирование #Планировать события #Платежный документ #Погашение обязательств #Подчиненный справочник #Поле Ввода Значение Субконто #Полезные обработки #Политика учета #Пользователь Администратор #Пользовательский режим #Поступление денежных средств #Поступление основных средств #Поступление основных средств #Потенциальный контрагент #Права доступа #Правила обмена #Правое соединение #предопределенные элементы справочников #Прием на работу #Принцип работы 1С #Приходная накладная #Приходно-кассовый ордер #Проведение документов #Проведение инвентаризации #Проводки 1С #Проводок документации #Программа 1С #Программирование в 1С #Программные права #Программный код #Продажа маркированной продукции #Продажа ТМЦ #Продажа товара #Продажи #Продление #Производственный план #Производство #Просмотр #Процедура и функция #Пункт «Касса» #Путь к файлу #Работа с объектами в 1С #Рабочий сервер #Раздел Справочники #Расположение ссылки #Расторжение #Расходная накладная #Расходный ордер #Расходы по амортизации #Расчет зарплаты #Расчет НДФЛ #Расчетные документы #Расширение конфигурации #Расширение прав доступа #Расширение функционала #Регистр бухгалтерского учета #Регистр бухучета #Регистр данных #Регистры бухгалтерии #Регистры движения документов #Регламентированная отчетность #Регламентное задание #Режим записи #Режим использования модальности #Режим конфигуратор #Режим налогообложения #Режим РИБ #Резерв отпусков #Результаты поиска #Реквизит «СпЗнч» #РМК #РМК кассира #РСБУ #С # #Сверка данных учёта НДС #Свойства характеристики номенклатуры #Свойство ячейки таблицы #Сдельный заработок #Сеанс Администратор #Сегмент номенклатуры #Сервис-деск #Сетевой ключ защиты #Сетевой ключ защиты #Сетевые структуры системы #СЗВ-СТАЖ #Синхронизация данных #Система программы #СКД #Служба ИТ #Служба НСИ #Соединение COM в 1С платформе #Соединение СОМ в 1С платформе #Спецификация на товар #Список документа #Список документов #Список номенклатуры #Список прав #Справочник Лиды #Сравнение конфигураций #Строка «Касса (ККМ)» #Сумма налога #Схема отчетности #Счет-фактура #Табличная часть #Табличная часть обработки #Таможенные пошлины #Текстовый формат #Текущая Строка #Территориальная привязка #Территориальные рамки #Тестирование 1С #Техническое задание #Тип данных #Тип свойства #Тип строки #Типы данных ссылки #Толстый клиент #Тонкий клиент #Торговое оборудование #Транспортная логистика #Увольнение сотрудника #Универсальные коллекции #Управление проектами #Управленческое взаимодействие #Условие предоставления скидки #Условия труда #Установка цен номенклатуры #Учет зарплаты #Учетная политика организации #Файл обмена данными #Файловая база #Файлы обмена #Физический ключ #Финансовый результат #Финансовый учет #Форма ввода #Форма выбора элемента #Форма файла XML #Формат MicrosoftExcel #Формат даты #Формат потока #Формирование отчета #Формирование отчета #Функционал МРМ #Х-точка #Характеристики Товаров #Хранение информации #Хранилище настроек #Хранить историю изменений #Ценообразование #Центральный узел #Чтение #Шаблон обновления #Шапка отчета #Эквайринговая операция #Экзамен 1С #Экспорт товаров #Экспортная процедура #Электронная подпись #электронные подписи #элемент справочника #Элемент языка #Язык программирования #Яндекс-диск или Google-диск #Яндекс.Касса 1С под Linux 1С:УНФ Email или телефон Работа с объектами в 1С тип да Функциональные опции в 1С
Услуги программиста 1С
Получите специалиста  
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.