ОбъектМетаданных: Константа.РежимУправленияБлокировкойДанных

Свойства · DataLockControlMode

Тип: РежимУправленияБлокировкойДанныхПоУмолчанию. Определяет режим управления блокировкой данных объекта (например, Автоматический, Управляемый, АвтоматическийИУправляемый).

Полное описание, параметры и ограничения

ОбъектМетаданных: Константа.РежимУправленияБлокировкойДанных (MetadataObject: Constant.DataLockControlMode)

ОбъектМетаданных: Константа (MetadataObject: Constant)

РежимУправленияБлокировкойДанных (DataLockControlMode)

Доступен, начиная с версии 8.1.

Использование:
Только чтение.
Описание:
Тип: РежимУправленияБлокировкойДанныхПоУмолчанию.
Определяет режим управления блокировкой данных объекта (например, Автоматический, Управляемый, АвтоматическийИУправляемый).
Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Использование в версии:

Доступен, начиная с версии 8.1.

Методическая информация

Практические примеры

Проверить политику блокировок заголовка, не заблокировать базу

Метаданные ЗаголовокСистемы указывают управляемый режим. Чтение настройки не захватывает блокировку и не начинает транзакцию.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.

  2. Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.

  3. Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.

  4. В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.

  5. Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.

Описание = Метаданные.Константы.Найти("ЗаголовокСистемы");
Если Описание = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует Константы.ЗаголовокСистемы";
КонецЕсли;
Режим = Описание.РежимУправленияБлокировкойДанных;
Сообщить(Режим = Метаданные.СвойстваОбъектов.РежимУправленияБлокировкойДанныхПоУмолчанию.Управляемый);
Сообщить(Описание.Имя = "ЗаголовокСистемы");
Сообщить("Это настройка схемы, а не факт установленной блокировки");

Разбор по шагам

  1. РежимУправленияБлокировкойДанных читается у описания конкретной константы.

  2. Управляемый режим — политика, а не объект БлокировкаДанных.

  3. Имя проверяем отдельно, чтобы не перепутать режим другой константы.

  4. Данный урок не начинает транзакцию, не записывает значение и не ждёт чужой блокировки.

Как проверить результат

  1. По XML две проверки Истина: Управляемый и нужное имя.

  2. Нет вызовов НачатьТранзакцию, Заблокировать или Установить; сеансы базы не блокируются этим чтением.

Ожидаемый результат

Различены режим управления и реальная блокировка данных.

На что обратить внимание

  1. Переключение режима ради устранения ошибки может изменить бизнес-контракт и требует отдельного проекта.

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

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.