Используется для обращения к метаданным объекта конфигурации - константа.
Полное описание, параметры и ограничения
ОбъектМетаданных: Константа (MetadataObject: Constant)
ОбъектМетаданных: Константа (MetadataObject: Constant)
Доступен, начиная с версии 8.1.
Свойства:
Имя (Name)
Комментарий (Comment)
ОбъектРасширяемойКонфигурации (ExtendedConfigurationObject)
ПринадлежностьОбъекта (ObjectBelonging)
Синоним (Synonym)
БыстрыйВыбор (QuickChoice)
ВыборГруппИЭлементов (ChoiceFoldersAndItems)
ВыделятьОтрицательные (MarkNegatives)
ВыполнятьОбработкуПослеЗаписиВерсииИсторииДанных (ExecuteAfterWriteDataHistoryVersionProcessing)
ИспользоватьСтандартныеКоманды (UseStandardCommands)
ИсторияДанных (DataHistory)
Маска (Mask)
МногострочныйРежим (MultiLine)
МодульМенеджера (ManagerModule)
МодульМенеджераЗначения (ValueManagerModule)
ОбновлятьИсториюДанныхСразуПослеЗаписи (UpdateDataHistoryImmediatelyAfterWrite)
ПараметрыВыбора (ChoiceParameters)
Подсказка (Tooltip)
Пояснение (Explanation)
ПроверкаЗаполнения (FillChecking)
РасширенноеПредставление (ExtendedPresentation)
РасширенноеРедактирование (ExtendedEdit)
РежимПароля (PasswordMode)
РежимУправленияБлокировкойДанных (DataLockControlMode)
СвязиПараметровВыбора (ChoiceParameterLinks)
СвязьПоТипу (LinkByType)
Тип (Type)
ФормаВыбора (ChoiceForm)
Формат (Format)
ФорматРедактирования (EditFormat)
Методы:
ЕстьИзмененияРасширениямиКонфигурации (ChangedByConfigurationExtensions)
ПолноеИмя (FullName)
Представление (Presentation)
РасширениеКонфигурации (ConfigurationExtension)
Родитель (Parent)
Описание:
Используется для обращения к метаданным объекта конфигурации - константа.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
См. также:
КонстантаМенеджерЗначения.<Имя константы>, метод Метаданные
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Разобрать схему разделителя, не менять область данных сеанса
На ОбластьДанныхВспомогательныеДанные читаем ссылки на параметры сеанса и условную константу, но не значения этих параметров.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.
В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.
Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.
Описание = Метаданные.ОбщиеРеквизиты.Найти("ОбластьДанныхВспомогательныеДанные");
Если Описание = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует ОбщиеРеквизиты.ОбластьДанныхВспомогательныеДанные";
КонецЕсли;
Сообщить("Разделение данных: " + Строка(Описание.РазделениеДанных));
Сообщить("Уровень разделения: " + Строка(Описание.ИспользованиеРазделяемыхДанных));
ПараметрЗначения = Описание.ЗначениеРазделенияДанных;
Если ПараметрЗначения <> Неопределено Тогда
Сообщить("Параметр значения: " + ПараметрЗначения.ПолноеИмя());
КонецЕсли;
ПараметрИспользования = Описание.ИспользованиеРазделенияДанных;
Если ПараметрИспользования <> Неопределено Тогда
Сообщить("Параметр использования: " + ПараметрИспользования.ПолноеИмя());
КонецЕсли;
Условие = Описание.УсловноеРазделение;
Если Условие <> Неопределено Тогда
Сообщить("Условная константа: " + Условие.ПолноеИмя());
КонецЕсли;Разбор по шагам
РазделениеДанных и ИспользованиеРазделяемыхДанных описывают механизм схемы.
ЗначениеРазделенияДанных здесь возвращает описание параметра сеанса, не номер текущей области.
ИспользованиеРазделенияДанных тоже описание параметра; УсловноеРазделение — описание константы.
ПараметрыСеанса и менеджер констант в коде не используются: область и условие не меняем.
Как проверить результат
В данном XML указаны ОбластьДанныхЗначение, ОбластьДанныхИспользование и ИспользоватьРазделениеПоОбластямДанных; сравните полные имена в текущей копии.
В выводе нет фактического номера области, значения параметров или содержимого разделённых записей.
Ожидаемый результат
Построены связи разделителя с настройками сеанса и условной константой.
На что обратить внимание
Переключать разделитель в рабочем сеансе ради получения доступа к данным нельзя.
Наличие ссылок не является доказательством правильной изоляции: нужны отдельные проверки в контролируемой копии.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Отличить булевую настройку заказов от валютной ссылки
Сравниваем два типа метаданных. Ни флаг ИспользоватьЗаказыКлиентов, ни выбранная валюта из базы не читаются.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.
В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.
Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.
Описание = Метаданные.Константы.Найти("ИспользоватьЗаказыКлиентов");
Если Описание = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует Константы.ИспользоватьЗаказыКлиентов";
КонецЕсли;
Валюта = Метаданные.Константы.Найти("ВалютаУправленческогоУчета");
Если Валюта = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует Константы.ВалютаУправленческогоУчета";
КонецЕсли;
Сообщить(Описание.Тип.СодержитТип(Тип("Булево")));
Сообщить(Валюта.Тип.СодержитТип(Тип("СправочникСсылка.Валюты")));
Сообщить(Не Валюта.Тип.СодержитТип(Тип("Строка")));
УчебныйФлаг = Ложь;
Сообщить(ТипЗнч(УчебныйФлаг) = Тип("Булево"));
Сообщить("Проверка заполнения валюты: " + Строка(Валюта.ПроверкаЗаполнения));Разбор по шагам
Булево хранит смысл Истина/Ложь, а ссылка валюты — прикладную идентичность справочника.
Описание.Тип — ОписаниеТипов, не результат менеджера константы.
Для собственного Ложь проверяем тип: это осмысленное значение, а не ошибка.
ПроверкаЗаполнения валюты читается как декларация, не доказательство заполненного текущего значения.
Как проверить результат
По XML четыре сравнения Истина: булевый тип, валютная ссылка, отсутствие строкового типа и собственное Ложь.
Валюта имеет FillChecking ShowError; реальные настройки заказов и валюты остались прежними.
Ожидаемый результат
Типы двух настроек разделены до проектирования входного JSON.
На что обратить внимание
Передавать строку USD вместо ссылки без процедуры сопоставления нельзя.
Настройка типа не вычисляет значение функциональной опции.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.