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

Методы · Presentation

Получает строковое представление объекта метаданных. Как правило, в качестве строкового представления выступает синоним, а при его отсутствии - имя объекта метаданных, как оно задано в Конфигураторе.

Синтаксис

Представление()

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

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

ОбъектМетаданных: ОбщаяКоманда.Представление (MetadataObject: CommonCommand.Presentation)

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

Представление (Presentation)

Доступен, начиная с версии 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С» и не аффилирован с ней.