Тип: РежимУправленияБлокировкойДанныхПоУмолчанию. Определяет режим управления блокировкой данных объекта конфигурации (например, Автоматический, Управляемый, АвтоматическийИУправляемый).
Полное описание, параметры и ограничения
ОбъектМетаданных: ПланСчетов.РежимУправленияБлокировкойДанных (MetadataObject: ChartOfAccounts.DataLockControlMode)
ОбъектМетаданных: ПланСчетов (MetadataObject: ChartOfAccounts)
РежимУправленияБлокировкойДанных (DataLockControlMode)
Доступен, начиная с версии 8.1.
Использование:
Только чтение.
Описание:
Тип: РежимУправленияБлокировкойДанныхПоУмолчанию.
Определяет режим управления блокировкой данных объекта конфигурации (например, Автоматический, Управляемый, АвтоматическийИУправляемый).
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Отделить стандартные поля счёта от признаков учёта и пользовательских реквизитов
В минимальном плане есть стандартные поля и стандартная табличная часть субконто. Пользовательские реквизиты, табличные части и признаки учёта по подготовке отсутствуют.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую базу, корневое имя УчебныйУчет85. В рабочей БП/КА2/УТ/УНФ эти задачи не запускайте. Это технический пример API, не готовый бухгалтерский учёт.
Планы видов характеристик → Добавить: УчебныеАналитики85. Тип значения только Строка 30. Элементы, дополнительные реквизиты, табличные части и предопределённые значения не создавайте.
Планы счетов → Добавить: УчебныеСчета85. ДлинаКода 10, МаскаКода @@@.@@@.@@, ДлинаНаименования 100, ДлинаПорядка 20. АвтоПорядокПоКоду выключен, КонтрольУникальности включён. ВидыСубконто=УчебныеАналитики85, МаксКоличествоСубконто=2.
У плана счетов не создавайте пользовательские реквизиты, табличные части, признаки учёта/субконто, предопределённые счета, формы, команды, макеты и дополнительные индексы. Модули оставьте пустыми. Историю данных и два флага обработки её версий выключите. Расширений нет.
Обновите конфигурацию БД. Создайте серверный обработчик ВыполнитьПример() Экспорт в собственной обработке. Фрагмент вставляйте в тело; запускайте уроки по отдельности.
Объекты создаются только в памяти: Записать/Удалить/Заблокировать не вызываются. Регистров бухгалтерии, проводок и фактических остатков в этом примере нет.
Описание = Метаданные.ПланыСчетов.Найти("УчебныеСчета85");
Если Описание = Неопределено Тогда
ВызватьИсключение "Сначала создайте собственный план УчебныеСчета85";
КонецЕсли;
Если Описание.ДлинаКода <> 10 Или Описание.ДлинаНаименования <> 100
Или Описание.ДлинаПорядка <> 20 Или Описание.МаскаКода <> "@@@.@@@.@@"
Или Описание.АвтоПорядокПоКоду Или Описание.МаксКоличествоСубконто <> 2 Тогда
ВызватьИсключение "Настройки учебного плана не соответствуют подготовке";
КонецЕсли;
Если Описание.ВидыСубконто = Неопределено Тогда
ВызватьИсключение "Назначьте собственный план аналитик";
КонецЕсли;
Если Описание.ВидыСубконто.Имя <> "УчебныеАналитики85" Тогда
ВызватьИсключение "Нужны только собственные учебные аналитики";
КонецЕсли;
Менеджер = ПланыСчетов.УчебныеСчета85;
Для Каждого Поле Из Описание.СтандартныеРеквизиты Цикл
Сообщить("Стандартное поле: " + Поле.Имя);
КонецЦикла;
Для Каждого Часть Из Описание.СтандартныеТабличныеЧасти Цикл
Сообщить("Стандартная часть: " + Часть.Имя);
КонецЦикла;
Сообщить(Описание.Реквизиты.Количество() = 0);
Сообщить(Описание.ТабличныеЧасти.Количество() = 0);
Сообщить(Описание.ПризнакиУчета.Количество() = 0);
Сообщить(Описание.ПризнакиУчетаСубконто.Количество() = 0);
Сообщить(Описание.ДополнительныеИндексы.Количество() = 0);
Сообщить(Описание.Команды.Количество() = 0);
Сообщить(Описание.Макеты.Количество() = 0);
Сообщить(Описание.МодульОбъекта = Неопределено);
Сообщить(Описание.МодульМенеджера = Неопределено);
Сообщить(Описание.Справка = Неопределено);
Сообщить(Описание.Предопределенные = Неопределено);
Сообщить(Описание.ПолучитьИменаПредопределенных().Количество() = 0);
Сообщить(Описание.КонтрольУникальности);
Сообщить("Описаний характеристик: " + Строка(Описание.Характеристики.Количество()));
Для Каждого ПолеБлокировки Из Описание.ПоляБлокировкиДанных Цикл
Сообщить("Поле блокировки: " + ПолеБлокировки.Имя);
КонецЦикла;
Сообщить("Режим блокировки: " + Строка(Описание.РежимУправленияБлокировкойДанных));Разбор по шагам
Стандартные поля и табличные части перебираем через Имя. Не используем отсутствующий Найти у коллекции стандартных реквизитов.
ПризнакиУчета и ПризнакиУчетаСубконто — определения схемы, не сами виды субконто и не движения.
МодульОбъекта/МодульМенеджера/Справка/Предопределенные имеют текущий контракт Неопределено. Для списка имён предопределённых используем специальный метод.
КонтрольУникальности читаем по подготовке; не записываем два одинаковых кода для проверки.
ПоляБлокировкиДанных и режим только читаются. Установка блокировки не выполняется.
Как проверить результат
Тринадцать логических проверок дают Истина.
В выводе стандартной части видны ВидыСубконто, хотя коллекция пользовательских ТабличныеЧасти пуста.
Ожидаемый результат
Показан состав схемы счёта и отделены стандартные, пользовательские и недоступные через API данные.
На что обратить внимание
Неопределено у свойства модуля не доказывает отсутствие BSL.
Пустая пользовательская коллекция не означает отсутствие стандартных полей/частей.
Историю, регистр бухгалтерии и пользовательские права этот урок не анализирует.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.