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