ОбъектМетаданных: Реквизит.ПолноеИмя

Методы · FullName

Получает полное имя объекта метаданного. Имя отвечает требованиям, предъявляемым к именам (должно начинаться с буквы, содержать только буквы, цифры или символ "_", может содержать одну точку (не начальный и не конечный символ)).

Синтаксис

ПолноеИмя()

Примеры платформы

Для каждого Объект Из Метаданные.Справочники Цикл
    Сообщить(Объект.ПолноеИмя());
КонецЦикла;
Полное описание, параметры и ограничения

ОбъектМетаданных: Реквизит.ПолноеИмя (MetadataObject: Attribute.FullName)

ОбъектМетаданных: Реквизит (MetadataObject: Attribute)

ПолноеИмя (FullName)

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

Синтаксис:
ПолноеИмя()
Возвращаемое значение:
Тип: Строка.

Описание:

Получает полное имя объекта метаданного. Имя отвечает требованиям, предъявляемым к именам (должно начинаться с буквы, содержать только буквы, цифры или символ "_", может содержать одну точку (не начальный и не конечный символ)).

Доступность:

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

Пример:

// В конфигурации определены справочники "Банки", "Валюты" и "Товары"

// Результатом работы примера:

Для каждого Объект Из Метаданные.Справочники Цикл
Сообщить(Объект.ПолноеИмя());
КонецЦикла;
// будут сообщения:

// Справочник.Банки

// Справочник.Валюты

// Справочник.Товары

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

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

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

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

Получить происхождение реквизита, не отключая расширения

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

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

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

Подготовка

  1. Используйте отдельную учебную копию КА2 Progress, соответствующую C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Названия и настройки проверены по реальным Catalogs/Номенклатура.xml и Catalogs/ВидыПодарочныхСертификатов.xml.

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

  3. Примеры читают схему и создают значения только в памяти. Они не создают и не записывают товары, не меняют метаданные, не запускают заполнение объекта или перестроение поискового индекса.

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

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

  1. ПолноеИмя включает владельца и категорию реквизита; одинаковое короткое имя в другом справочнике не является этим же объектом.

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

  3. Факт изменения расширениями и принадлежность расширению выводятся раздельно. Не предполагаем, что все изменения формы обязательно происходят в базовой конфигурации.

  4. Для полной диагностики затем отдельно изучают модуль конкретной формы. Этот урок не отключает расширения и не включает привилегированный режим.

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

  1. Проверка имени — Истина, остальные строки — фактический паспорт объекта вашей учебной копии.

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

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

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

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

  1. Отсутствие изменений самого реквизита не доказывает отсутствие изменений модуля формы.

  2. Метаданные не являются экземпляром номенклатуры: Родитель здесь не родительская группа товара.

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

Проверить участие реквизита Партнер реализации в критерии

Состав содержит описания полей, а не документы. По предоставленному XML у критерия 61 источник, включая Партнер документа РеализацияТоваровУслуг.

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

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.

  2. Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.

  3. Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.

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

  5. Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.

Описание = Метаданные.КритерииОтбора.Найти("ДокументыПоПартнеру");
Если Описание = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует КритерииОтбора.ДокументыПоПартнеру";
КонецЕсли;
Реализация = Метаданные.Документы.Найти("РеализацияТоваровУслуг");
Если Реализация = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует Документы.РеализацияТоваровУслуг";
КонецЕсли;
ПолеПартнера = Реализация.Реквизиты.Найти("Партнер");
Если ПолеПартнера = Неопределено Тогда
    ВызватьИсключение "В учебной реализации ожидался реквизит Партнер";
КонецЕсли;
Сообщить(Описание.Состав.Количество() = 61);
Сообщить(Описание.Состав.Содержит(ПолеПартнера));
Сообщить(ПолеПартнера.Родитель() = Реализация);
Сообщить(ПолеПартнера.Тип.СодержитТип(Тип("СправочникСсылка.Партнеры")));
Сообщить(ПолеПартнера.ПолноеИмя());
Для Каждого Источник Из Описание.Состав Цикл
    Сообщить(Источник.ПолноеИмя());
КонецЦикла;

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

  1. Документ ищем в Метаданные.Документы, не создаём ДокументОбъект.

  2. Реквизит ищем в схеме реализации и проверяем до чтения типа/родителя.

  3. Содержит сравнивает конкретное описание поля; строка имени Партнер не заменяет это описание.

  4. Перечень Состав выводит полные имена 61 описания источников, не количество реализаций партнёра.

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

  1. Четыре сравнения Истина по XML: источников 61, участие поля, его родитель и ссылочный тип.

  2. После полного имени поля выводятся 61 имя источника; персональные/торговые данные документов не получены.

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

Подтверждено участие конкретного реквизита в схеме критерия.

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

  1. Число 61 нельзя использовать как количество связанных документов.

  2. Если расширение добавило источник, фактическое количество изменится: это не само по себе ошибка платформы.

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

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

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

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

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