ОбъектМетаданных: Язык.ПринадлежностьОбъекта

Свойства · ObjectBelonging

Тип: ПринадлежностьОбъекта. Устанавливает, относится ли объект к данной конфигурации или был заимствован из расширяемой конфигурации.

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

ОбъектМетаданных: Язык.ПринадлежностьОбъекта (MetadataObject: Language.ObjectBelonging)

ОбъектМетаданных: Язык (MetadataObject: Language)

ПринадлежностьОбъекта (ObjectBelonging)

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

Использование:
Только чтение.
Описание:
Тип: ПринадлежностьОбъекта.
Устанавливает, относится ли объект к данной конфигурации или был заимствован из расширяемой конфигурации.
Доступность:

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

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

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

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

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

Получить паспорт языка без изменения метаданных

Сравниваем короткое имя и полное имя языка, его представление и сведения о влиянии расширений. Это схема конфигурации, не список переводов.

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

Полный серверный общий модуль учебной копии. Только чтение настроек и вычисления в памяти.

Подготовка

  1. Работайте в отдельной учебной копии базы. Создайте серверный общий модуль УчебныеЗадачи, вставьте полный модуль урока и вызовите ВыполнитьПример() из серверного обработчика учебной команды.

  2. Код выполняется на сервере: часть функций локализации и часовых поясов недоступна непосредственно в тонком клиенте. Реквизиты пользователя, региональные настройки и часовые пояса код не меняет.

  3. Для двух уроков о метаданных используйте копию КА2 Progress: в исходном Languages/Русский.xml действительно есть язык Русский с КодЯзыка = ru. Остальные уроки не требуют объектов конкретной конфигурации.

Процедура ВыполнитьПример() Экспорт
    Язык = Метаданные.Языки.Найти("Русский");
    Если Язык = Неопределено Тогда
        ВызватьИсключение "Нужна учебная копия КА2 Progress с языком Русский";
    КонецЕсли;
    Сообщить("Полное имя: " + Язык.ПолноеИмя());
    Сообщить("Представление: " + Язык.Представление());
    Сообщить("Тип родителя: " + Строка(ТипЗнч(Язык.Родитель())));
    Сообщить("Принадлежность: " + Строка(Язык.ПринадлежностьОбъекта));
    Сообщить("Тип идентификатора заимствования: " + Строка(ТипЗнч(Язык.ОбъектРасширяемойКонфигурации)));
    Сообщить("Изменён расширениями: " + Строка(Язык.ЕстьИзмененияРасширениямиКонфигурации()));
    Расширение = Язык.РасширениеКонфигурации();
    Если Расширение = Неопределено Тогда
        Сообщить("Объект не принадлежит отдельному расширению");
    Иначе
        Сообщить("Расширение определено; его объект читается без изменения");
    КонецЕсли;
    Сообщить(Язык.КодЯзыка = "ru");
КонецПроцедуры

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

  1. ПолноеИмя позволяет отличить Язык.Русский от объекта другой категории с таким же коротким именем. Представление — пользовательская строка, не ключ поиска.

  2. Родитель возвращает объект метаданных: выводим его фактический тип, а не приписываем ему бизнес-данные пользователя.

  3. ПринадлежностьОбъекта и ОбъектРасширяемойКонфигурации характеризуют происхождение объекта. Не считаем все подключённые расширения заведомо отсутствующими.

  4. РасширениеКонфигурации может вернуть Неопределено. ЕстьИзмененияРасширениямиКонфигурации — отдельный вопрос о влиянии расширений, не синоним принадлежности расширению.

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

  1. Полное имя и представление можно сопоставить с языком в Конфигураторе. Последняя контрольная проверка — Истина.

  2. При подключённых расширениях диагностические строки могут отличаться. Код не отключает расширения и не переписывает объект.

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

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

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

  1. Синоним и Представление не подходят как стабильный программный идентификатор.

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

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

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

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

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

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