Получает полное имя объекта метаданного. Имя отвечает требованиям, предъявляемым к именам (должно начинаться с буквы, содержать только буквы, цифры или символ "_", может содержать одну точку (не начальный и не конечный символ)).
Синтаксис
ПолноеИмя()Примеры платформы
Для каждого Объект Из Метаданные.Справочники Цикл
Сообщить(Объект.ПолноеИмя());
КонецЦикла;Полное описание, параметры и ограничения
ОбъектМетаданных: Ресурс.ПолноеИмя (MetadataObject: Resource.FullName)
ОбъектМетаданных: Ресурс (MetadataObject: Resource)
ПолноеИмя (FullName)
Доступен, начиная с версии 8.0.
Синтаксис:
ПолноеИмя()
Возвращаемое значение:
Тип: Строка.
Описание:
Получает полное имя объекта метаданного. Имя отвечает требованиям, предъявляемым к именам (должно начинаться с буквы, содержать только буквы, цифры или символ "_", может содержать одну точку (не начальный и не конечный символ)).
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
// В конфигурации определены справочники "Банки", "Валюты" и "Товары"
// Результатом работы примера:
Для каждого Объект Из Метаданные.Справочники Цикл
Сообщить(Объект.ПолноеИмя());
КонецЦикла;
// будут сообщения:
// Справочник.Банки
// Справочник.Валюты
// Справочник.Товары
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Разобрать ключ и ресурсы регистра сведений
Выбираем описание одного регистра сведений и отделяем измерения, ресурсы и дополнительные реквизиты. Записи регистра не читаются и не меняются.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Первый регистр выбирается лишь для воспроизводимого знакомства с коллекцией. Чтобы изучить конкретный регистр, замените Получить(0) на Найти с его реальным именем и проверьте Неопределено.
Если Метаданные.РегистрыСведений.Количество() = 0 Тогда
ВызватьИсключение "В этой конфигурации нет регистров сведений";
КонецЕсли;
Регистр = Метаданные.РегистрыСведений.Получить(0);
Сообщить(Регистр.ПолноеИмя());
Сообщить(Регистр.Представление());
Сообщить(СтрШаблон("%1 (%2)", Регистр.Имя, Регистр.Синоним));
Сообщить(Регистр.Комментарий);
Сообщить(Регистр.ПериодичностьРегистраСведений);
Сообщить(Регистр.РежимЗаписи);
Для Каждого Измерение Из Регистр.Измерения Цикл
Сообщить(Измерение.ПолноеИмя());
Сообщить(СтрШаблон("Ключ: %1 (%2), тип %3; ведущее: %4; заполнение: %5",
Измерение.Имя, Измерение.Синоним, Измерение.Тип, Измерение.Ведущее, Измерение.ПроверкаЗаполнения));
КонецЦикла;
Для Каждого Ресурс Из Регистр.Ресурсы Цикл
Сообщить(Ресурс.ПолноеИмя());
Сообщить(СтрШаблон("Значение: %1 (%2), тип %3; заполнение: %4",
Ресурс.Имя, Ресурс.Синоним, Ресурс.Тип, Ресурс.ПроверкаЗаполнения));
КонецЦикла;
Для Каждого Реквизит Из Регистр.Реквизиты Цикл
Сообщить(СтрШаблон("Дополнительное поле: %1, тип %2", Реквизит.Имя, Реквизит.Тип));
КонецЦикла;Разбор по шагам
Проверяем, что коллекция не пуста, прежде чем получать индекс 0.
Периодичность и РежимЗаписи показывают, нужен ли период и как организована запись, включая возможное подчинение регистратору.
Измерения описывают измерения ключа, Ресурсы — сохраняемые значения, Реквизиты — дополнительные сведения.
По описаниям типов составляем схему входных данных; никаких наборов записей и Записать здесь нет.
Как проверить результат
Состав трёх групп совпадает с выбранным регистром в Конфигураторе.
Для периодического регистра учитывайте период при проектировании ключа; для подчинённого — регистратор и особенности записи.
Измените выбор на другой существующий регистр: схема и периодичность должны измениться согласно его настройкам.
Ожидаемый результат
Получена схема регистра для проектирования чтения или обмена; данные базы не изменены.
На что обратить внимание
Измерения — не обязательно полный физический ключ: период, регистратор и режим записи также влияют на идентификацию строк.
Название ресурса Цена не позволяет предположить валюту, тип цены или способ вычисления без изучения конфигурации.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Проверить карту измерений и ресурсов собственного куба
Товар — измерение куба, Количество — ресурс, Товары — отдельная таблица измерения. Считаем описания, не фактические продажи.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Работайте в отдельной учебной конфигурации без расширений. В Конфигураторе создайте Внешние источники данных → УчебныйOLAP → Кубы → ПродажиКниг. Строку подключения оставьте пустой: ни сервер OLAP, ни пароль для этих упражнений не нужны.
Задайте кубу Синоним = Продажи учебных книг и Имя в источнике данных = guide_book_sales. В Измерениях создайте Товар, в Ресурсах Количество. Это описание источника, не создание настоящего OLAP-куба.
В Таблицах измерений куба создайте Товары: Синоним = Учебные товары, Имя в источнике данных = guide_products. Создайте два поля Ключ (Строка 20) и Наименование (Строка 100); Поле представления = Наименование. Иерархическая = Ложь, модули, справку, команды, формы и макеты оставьте пустыми.
Основные формы не назначайте, Использовать стандартные команды = Истина. Обновите только учебную конфигурацию. Каждый фрагмент отдельно вставьте в тело серверной процедуры ВыполнитьПример() Экспорт собственного учебного общего модуля.
Источник = Метаданные.ВнешниеИсточникиДанных.Найти("УчебныйOLAP");
Если Источник = Неопределено Тогда
ВызватьИсключение "Создайте собственное описание УчебныйOLAP в учебной базе";
КонецЕсли;
Куб = Источник.Кубы.Найти("ПродажиКниг");
Если Куб = Неопределено Тогда
ВызватьИсключение "Нет учебного описания куба ПродажиКниг";
КонецЕсли;
Сообщить(Куб.ИмяВИсточникеДанных = "guide_book_sales");
Сообщить(Куб.Измерения.Количество() = 1);
Сообщить(Куб.Ресурсы.Количество() = 1);
Сообщить(Куб.ТаблицыИзмерений.Количество() = 1);
Товар = Куб.Измерения.Найти("Товар");
Количество = Куб.Ресурсы.Найти("Количество");
ТаблицаТоваров = Куб.ТаблицыИзмерений.Найти("Товары");
Если Товар = Неопределено ИЛИ Количество = Неопределено ИЛИ ТаблицаТоваров = Неопределено Тогда
ВызватьИсключение "Сверьте три собственных описания с подготовкой урока";
КонецЕсли;
Сообщить(Товар.ПолноеИмя());
Сообщить(Количество.ПолноеИмя());
Сообщить(ТаблицаТоваров.Имя = "Товары");Разбор по шагам
ИмяВИсточникеДанных — настройка соответствия, а не текст запроса языка 1С.
Три Количество считают три разные коллекции объектов метаданных. Ресурс с именем Количество не подменяет метод коллекции Количество().
Перед доступом к найденным описаниям проверяется отсутствие каждого. Полные имена диагностируют различие ролей.
Таблица измерения содержит описание атрибутов товара; ресурс описывает показатель. Ни одно действие не суммирует реальные продажи.
Как проверить результат
Пять Истина и два полных имени. Каждый поиск нашёл ровно подготовленное описание.
Добавьте второе собственное измерение: сравнение количества станет Ложь, а не ошибкой соединения. Затем удалите только дополнительное описание вручную.
Ожидаемый результат
Карта учебного куба проверена без запросов к внешнему источнику.
На что обратить внимание
Имена измерений/ресурсов не доказывают, что сервер OLAP возвращает эти поля.
Коллекции метаданных — не выборка строк данных.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.