Получает полное имя объекта метаданного. Имя отвечает требованиям, предъявляемым к именам (должно начинаться с буквы, содержать только буквы, цифры или символ "_", может содержать одну точку (не начальный и не конечный символ)).
Синтаксис
ПолноеИмя()Примеры платформы
Для каждого Объект Из Метаданные.Справочники Цикл
Сообщить(Объект.ПолноеИмя());
КонецЦикла;Полное описание, параметры и ограничения
ОбъектМетаданных: Макет.ПолноеИмя (MetadataObject: Template.FullName)
ОбъектМетаданных: Макет (MetadataObject: Template)
ПолноеИмя (FullName)
Доступен, начиная с версии 8.0.
Синтаксис:
ПолноеИмя()
Возвращаемое значение:
Тип: Строка.
Описание:
Получает полное имя объекта метаданного. Имя отвечает требованиям, предъявляемым к именам (должно начинаться с буквы, содержать только буквы, цифры или символ "_", может содержать одну точку (не начальный и не конечный символ)).
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
// В конфигурации определены справочники "Банки", "Валюты" и "Товары"
// Результатом работы примера:
Для каждого Объект Из Метаданные.Справочники Цикл
Сообщить(Объект.ПолноеИмя());
КонецЦикла;
// будут сообщения:
// Справочник.Банки
// Справочник.Валюты
// Справочник.Товары
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Получить реальный макет вместо свойства метаданных
Метаданные макета содержат описание, но Макет всегда Неопределено. ТабличныйДокумент получают у менеджера соответствующего документа.
Где и как запускать
Полный серверный модуль учебной копии КА2 Progress 2.5.20.75; без HTTP, публикации и печати.
Подготовка
Изолированная учебная копия КА2 Progress 2.5.20.75 из C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS, платформа 8.5.1.1343. Создайте серверный общий модуль УчебныеМаршрутыИМакеты.
Вставьте полный модуль одного урока и вызовите УчебныеМаршрутыИМакеты.ВыполнитьПример() своей серверной учебной командой.
Источники: HTTPServices\ПередачаДанных.xml и ПередачаДанных\Ext\Module.bsl; Documents\РеализацияТоваровУслуг\Templates\ПФ_MXL_РеализацияТоваров.xml.
Метаданные только читаются. HTTP-запросы, публикация сервиса, загрузка/удаление файлов хранилища и печать документов не выполняются.
Формируемый путь с guide-owned-storage — учебная строка, не действующий адрес публикации. GET/POST обработчики могут выполнять прикладную работу и здесь не вызываются.
Макет печати получается в память без создания документа реализации и без заполнения его данными. Чтение размера макета не доказывает корректность настоящей печатной формы.
Процедура ВыполнитьПример() Экспорт
Документ = Метаданные.Документы.Найти("РеализацияТоваровУслуг");
Если Документ = Неопределено Тогда
ВызватьИсключение "Нет подтверждённых метаданных документа";
КонецЕсли;
МакетМетаданных = Документ.Макеты.Найти("ПФ_MXL_РеализацияТоваров");
Если МакетМетаданных = Неопределено Тогда
ВызватьИсключение "Нет подтверждённого макета";
КонецЕсли;
Сообщить(МакетМетаданных.Имя = "ПФ_MXL_РеализацияТоваров");
Сообщить(МакетМетаданных.ТипМакета = Метаданные.СвойстваОбъектов.ТипМакета.ТабличныйДокумент);
Сообщить(МакетМетаданных.Макет = Неопределено);
Макет = Документы.РеализацияТоваровУслуг.ПолучитьМакет(МакетМетаданных.Имя);
Сообщить(ТипЗнч(Макет) = Тип("ТабличныйДокумент"));
Сообщить(Макет.ВысотаТаблицы > 0);
Сообщить(Макет.ШиринаТаблицы > 0);
Сообщить("Получен макет в память, не заполненная накладная и не проведённый документ.");
Сообщить(МакетМетаданных.Синоним);
Сообщить(МакетМетаданных.Комментарий);
Сообщить(МакетМетаданных.ПолноеИмя());
Сообщить(МакетМетаданных.Представление());
Сообщить(МакетМетаданных.ПринадлежностьОбъекта);
Сообщить(ТипЗнч(МакетМетаданных.ОбъектРасширяемойКонфигурации));
Сообщить(МакетМетаданных.ЕстьИзмененияРасширениямиКонфигурации());
Сообщить(ТипЗнч(МакетМетаданных.РасширениеКонфигурации()));
Сообщить(МакетМетаданных.Родитель() = Документ);
КонецПроцедурыРазбор по шагам
Найти макет в коллекции документа РеализацияТоваровУслуг, не в общих макетах конфигурации.
Проверить ТипМакета и Неопределено у свойства Макет: это два разных аспекта описания.
Через менеджер документа получить макет по подтверждённому имени. Проверить тип и ненулевые размеры, не меняя ячейки.
Вывести сведения происхождения и проверить родителя — метаданные документа. Заполнения, записи документа и печати нет.
Как проверить результат
Семь фиксированных проверок дают Истина; сведения расширений диагностические.
В памяти непустой ТабличныйДокумент-макет. Нет сформированной накладной или новых записей базы.
Ожидаемый результат
Реальный рецепт получения макета из подтверждённого документа КА2.
На что обратить внимание
Нельзя вызывать МакетМетаданных.Макет.ПолучитьОбласть: свойство Неопределено.
ПолучитьМакет не формирует печатную форму с данными документа.
Не перезаписывайте шаблон или результат файловыми операциями из учебного примера.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Найти главную схему СКД и назначения хранилищ отчёта
Главная схема — описание макета, а хранилища описывают механизм сохранения настроек. Ни выборка остатков, ни чтение пользовательских вариантов не выполняются.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.
В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.
Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.
Отчет = Метаданные.Отчеты.Найти("АнализОстатковТоваровОрганизаций");
Если Отчет = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует Отчеты.АнализОстатковТоваровОрганизаций";
КонецЕсли;
Обработка = Метаданные.Обработки.Найти("ВводКонтактнойИнформации");
Если Обработка = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует Обработки.ВводКонтактнойИнформации";
КонецЕсли;
Схема = Отчет.ОсновнаяСхемаКомпоновкиДанных;
Если Схема = Неопределено Тогда
Сообщить("Основная схема не назначена");
Иначе
Сообщить(Схема.ПолноеИмя());
Сообщить(Отчет.Макеты.Содержит(Схема));
Сообщить(Схема.Имя = "ОсновнаяСхемаКомпоновкиДанных");
КонецЕсли;
Хранилища = Новый Массив;
Хранилища.Добавить(Отчет.ХранилищеВариантов);
Хранилища.Добавить(Отчет.ХранилищеНастроек);
Для Каждого Хранилище Из Хранилища Цикл
Если Хранилище = Неопределено Тогда
Сообщить("Собственное хранилище явно не назначено; изучите стандартный механизм");
Иначе
Сообщить("Назначенное хранилище: " + Хранилище.ПолноеИмя());
КонецЕсли;
КонецЦикла;Разбор по шагам
Получаем описание главного макета и проверяем наличие до чтения имени.
Содержит проверяет принадлежность Макеты; не загружает схему и не формирует отчёт.
Варианты отчёта и пользовательские настройки имеют разные назначения хранилищ.
Неназначенное собственное хранилище не является доказательством потери сохранённых вариантов.
Как проверить результат
По XML оба сравнения схемы Истина: макет принадлежит отчёту и имеет ожидаемое имя.
В XML оба назначения хранилищ пусты; код не обращается к их методам загрузки или сохранения.
Ожидаемый результат
Найдены описание главной схемы и настройки механизмов хранения.
На что обратить внимание
Не применяйте к описанию макета методы СхемаКомпоновкиДанных.
Проверка метаданных не подтверждает, что запросы отчёта быстры или остатки правильны.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.