Получает строковое представление объекта метаданных. Как правило, в качестве строкового представления выступает синоним, а при его отсутствии - имя объекта метаданных, как оно задано в Конфигураторе.
Синтаксис
Представление()Примеры платформы
Для каждого Объект Из Метаданные.Справочники Цикл
Сообщить(Объект.Представление());
КонецЦикла;Полное описание, параметры и ограничения
ОбъектМетаданных: Обработка.Представление (MetadataObject: DataProcessor.Presentation)
ОбъектМетаданных: Обработка (MetadataObject: DataProcessor)
Представление (Presentation)
Доступен, начиная с версии 8.0.
Синтаксис:
Представление()
Возвращаемое значение:
Тип: Строка.
Описание:
Получает строковое представление объекта метаданных. Как правило, в качестве строкового представления выступает синоним, а при его отсутствии - имя объекта метаданных, как оно задано в Конфигураторе.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
Для каждого Объект Из Метаданные.Справочники Цикл
Сообщить(Объект.Представление());
КонецЦикла;
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Подобрать понятную подпись программы без изменения имени API
РасширенноеПредставление и Пояснение могут быть пустыми. Для учебного списка используем собственное правило подписи, не меняя метаданные.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.
В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.
Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.
Отчет = Метаданные.Отчеты.Найти("АнализОстатковТоваровОрганизаций");
Если Отчет = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует Отчеты.АнализОстатковТоваровОрганизаций";
КонецЕсли;
Обработка = Метаданные.Обработки.Найти("ВводКонтактнойИнформации");
Если Обработка = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует Обработки.ВводКонтактнойИнформации";
КонецЕсли;
Описания = Новый Массив;
Описания.Добавить(Отчет);
Описания.Добавить(Обработка);
Для Каждого Описание Из Описания Цикл
Заголовок = Описание.РасширенноеПредставление;
Если ПустаяСтрока(Заголовок) Тогда
Заголовок = Описание.Представление();
КонецЕсли;
Сообщить(Заголовок);
Если Не ПустаяСтрока(Описание.Пояснение) Тогда
Сообщить(Описание.Пояснение);
Иначе
Сообщить("Пояснение не заполнено; изучите справку и исходный модуль");
КонецЕсли;
Сообщить(Заголовок = Описание.Синоним);
КонецЦикла;Разбор по шагам
Сначала читаем отдельную расширенную подпись, не присваиваем в свойство объекта.
Для пустой подписи применяем явное учебное правило: Представление.
Пустое пояснение обрабатываем отдельно, не выдаём его за доказательство безопасной программы.
Подпись отображаем человеку, поиск сохраняем по внутреннему имени.
Как проверить результат
По XML расширенные представления пусты; подписи Анализ остатков товаров организаций и Ввод контактной информации.
Оба сравнения подписи с синонимом Истина; оба пояснения идут в ветку отсутствующего текста.
Ожидаемый результат
Сформированы читаемые подписи списка без переименования программ.
На что обратить внимание
Это собственное правило учебного списка, не обещание всех вариантов автоматических заголовков платформы.
Не используйте пользовательскую подпись как стабильный идентификатор интеграции.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Отличить имя отчёта от подписи и найти происхождение обработки
В метаданных две реальные программы КА2. Их описания не являются созданными объектами отчёта или обработки и не запускают бизнес-код.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.
В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.
Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.
Отчет = Метаданные.Отчеты.Найти("АнализОстатковТоваровОрганизаций");
Если Отчет = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует Отчеты.АнализОстатковТоваровОрганизаций";
КонецЕсли;
Обработка = Метаданные.Обработки.Найти("ВводКонтактнойИнформации");
Если Обработка = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует Обработки.ВводКонтактнойИнформации";
КонецЕсли;
Описания = Новый Массив;
Описания.Добавить(Отчет);
Описания.Добавить(Обработка);
Для Каждого Описание Из Описания Цикл
Сообщить(СтрШаблон("%1 / %2 / %3", Описание.Имя, Описание.Синоним, Описание.ПолноеИмя()));
Сообщить("Представление: " + Описание.Представление());
Сообщить("Комментарий: " + Описание.Комментарий);
Сообщить(Описание.Родитель() = Метаданные);
Сообщить(Описание.ПринадлежностьОбъекта);
Сообщить(Описание.ОбъектРасширяемойКонфигурации);
Сообщить("Изменён расширениями: " + Строка(Описание.ЕстьИзмененияРасширениямиКонфигурации()));
Расширение = Описание.РасширениеКонфигурации();
Если Расширение <> Неопределено Тогда
Сообщить("Добавившее расширение: " + Расширение.Имя);
Иначе
Сообщить("Добавившее расширение не получено");
КонецЕсли;
КонецЦикла;Разбор по шагам
Ищем по внутренним именам в разных коллекциях: Отчеты и Обработки.
ПолноеИмя различает вид объекта; Синоним и Представление предназначены человеку.
Родитель обоих корневых описаний — конфигурация, а не пользовательская форма.
Изменение расширениями и добавление расширением проверяем отдельно; Имя расширения читаем только после проверки.
Как проверить результат
Вывод содержит два блока; оба сравнения родителя — Истина.
Полные имена начинаются с Отчет. и Обработка.; никакая форма не открывается и остатки не рассчитываются.
Ожидаемый результат
Понятны идентичность, принадлежность и происхождение двух объектов схемы.
На что обратить внимание
Синоним не подходит вместо имени для поиска объекта.
Изменение расширением не доказывает ошибку или конфликт; потребуется чтение конкретного изменения.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.