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

Учебные задачи

Читаем настройку конкретного подготовленного объекта метаданных и сопоставляем её с пояснением вариантов. Это диагностика, не изменение настройки и не исполнение её механизма.

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

Серверная процедура своей учебной обработки. Код без директив вставьте в тело процедуры; метаданные не изменяются.

Подготовка

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

  2. Каждый урок запускайте отдельно. Создание объектов выполняется в Конфигураторе; код не создаёт записи, не обновляет конфигурацию и не выполняет HTTP-вызовы.

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

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

  1. Получите описание своего объекта по точному имени из подготовки; это метаданные, а не записанный экземпляр документа или задачи.

  2. Прочитайте свойство РежимУправленияБлокировкойДанных. Значения перечисления квалифицированы через Метаданные.СвойстваОбъектов, а не вымышленные глобальные переменные.

  3. Соответствие связывает реальные варианты с их смыслом. Для большого перечисления пример показывает одну группу, поэтому текущий вариант может относиться к другой группе.

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

  1. Первая строка совпадает с настройкой конкретного объекта в Конфигураторе.

  2. Если текущее значение входит в эту группу, показано пояснение. Иначе показано честное сообщение о другой группе, а не утверждение об ошибке или неподдерживаемой версии.

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

Получено пояснение фактической настройки собственного объекта без изменения базы.

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

  1. Описания вариантов не означают, что этот урок реализовал обмен, проведение, нумерацию, разделение данных или HTTP-сервис.

  2. Не изменяйте рабочие настройки ради проверки. Режим сокращения типа может описывать удаление данных, но приведённый код такое удаление не выполняет.

  3. Для ВидЭлементаСтиля нужен указанный толстый клиент; доступность отдельного свойства метаданных не расширяет доступность набора его значений.

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

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

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

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

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