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