ОбъектМетаданных: ОбщаяКоманда.ПолноеИмя

Методы · FullName

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

Синтаксис

ПолноеИмя()

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

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

ОбъектМетаданных: ОбщаяКоманда.ПолноеИмя (MetadataObject: CommonCommand.FullName)

ОбъектМетаданных: ОбщаяКоманда (MetadataObject: CommonCommand)

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

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

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

Описание:

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

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

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

Пример:

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

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

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

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

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

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

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

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

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

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

Проверить тип и кратность параметра общей команды

Для АрхивСообщенийОбменов читаем допустимые типы ссылок и режим параметра до изучения обработчика. Команду не выполняем.

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

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

Подготовка

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

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

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

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

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

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

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

  1. ТипПараметраКоманды — ОписаниеТипов, а не текущая ссылка выбранного узла.

  2. Типы() раскрывает список допустимых типов; состав зависит от релиза.

  3. РежимИспользованияПараметра определяет одиночную или множественную передачу.

  4. Пример не выбирает узел обмена и не вызывает обработчик.

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

  1. В предоставленном XML перечислены три типа ссылок планов обмена и одиночный режим. Сверьте свой релиз.

  2. Число выведенных типов совпадает со счётчиком; это не число узлов обмена в базе.

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

Составлен контракт параметра до переноса команды в собственную форму.

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

  1. Допустимый тип не доказывает существование или права на конкретный узел.

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

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

Проверить происхождение четырёх общих объектов при наличии расширений

Одинаковые базовые методы существуют у разных описаний. Сравниваем полные имена, родителя, принадлежность и влияние расширений, не меняя расширения.

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

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

Подготовка

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

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

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

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

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

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

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

  1. Находим четыре конкретных описания и складываем их в собственный массив.

  2. ПолноеИмя различает виды объектов; Представление предназначено для человека.

  3. Родитель относится к дереву метаданных, не к владельцу бизнес-записи.

  4. РасширениеКонфигурации показывает добавившее объект расширение; ЕстьИзмененияРасширениямиКонфигурации отвечает на другой вопрос — изменён ли объект в текущем сеансе.

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

  1. Получены четыре блока для ОбщийМодуль, ОбщаяКоманда, ОбщаяКартинка и ОбщийРеквизит; родитель корневых описаний — текущие Метаданные.

  2. В базе без расширений метод добавившего расширения возвращает Неопределено; для объекта основной конфигурации, изменённого расширением, не требуйте ненулевого результата этого метода.

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

Разделены добавление объекта расширением, его заимствование и изменение в текущем сеансе.

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

  1. Не включайте и не отключайте расширения в рабочей базе ради урока.

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

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

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

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

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

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