Тип: Строка. Имя объекта метаданных.
Полное описание, параметры и ограничения
ОбъектМетаданных: Поле.Имя (MetadataObject: Field.Name)
ОбъектМетаданных: Поле (MetadataObject: Field)
Имя (Name)
Доступен, начиная с версии 8.1.
Использование:
Только чтение.
Описание:
Тип: Строка.
Имя объекта метаданных.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Имя должно состоять из одного слова, начинаться с буквы и не содержать специальных символов, кроме «_».
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Проверить тип и допустимость Null у количества
Количество книг — числовое поле описания. Проверяем имя в источнике, тип и ограничения, не пытаясь получить количество товаров из метаданных.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте отдельную учебную конфигурацию Учебная85 без расширений, не рабочие КА2/УНФ/УТ. В Конфигураторе создайте Внешние источники данных → УчебныйВнешний → Таблицы → Товары. Строку подключения оставьте пустой: упражнения читают только метаданные, внешняя СУБД не требуется.
Для таблицы задайте вид Таблица, тип ОбъектныеДанные, имя в источнике guide_books, ТолькоЧтение=Истина. В её Полях создайте Код (Строка 20, имя book_code), Наименование (Строка 100, имя book_name), Количество (Число 9.0, имя book_quantity) и Версия (Число 15.0, имя book_version). Это описание учебного источника, не команда создания SQL-таблицы.
В ПоляКлюча и ПоляБлокировкиДанных включите Код, ПолеПредставления=Наименование, ПолеВерсииДанных=Версия, ПолеРодителя не задавайте. ВводПоСтроке: Код и Наименование. Для Количество запретите Null, задайте заполнение 0 и Подсказку «Количество книг». Для Наименование задайте Синоним «Название книги». СозданиеПриВводе оставьте без использования.
Модули и справку оставьте пустыми, не создавайте обработчики подключения и команды записи. Обновите только эту учебную конфигурацию. Фрагменты запускайте отдельно на сервере в учебной обработке: они не обращаются к данным источника и не меняют метаданные.
Источник = Метаданные.ВнешниеИсточникиДанных.Найти("УчебныйВнешний");
Если Источник = Неопределено Тогда
ВызватьИсключение "Создайте только учебный внешний источник УчебныйВнешний";
КонецЕсли;
Таблица = Источник.Таблицы.Найти("Товары");
Если Таблица = Неопределено Тогда
ВызватьИсключение "В учебном источнике нет описания таблицы Товары";
КонецЕсли;
Поле = Таблица.Поля.Найти("Количество");
Если Поле = Неопределено Тогда
ВызватьИсключение "В собственной учебной таблице нет поля Количество";
КонецЕсли;
Сообщить(Поле.Имя = "Количество");
Сообщить("Синоним: " + Поле.Синоним);
Сообщить("Комментарий: " + Поле.Комментарий);
Сообщить(Поле.ИмяВИсточникеДанных = "book_quantity");
Сообщить(Поле.Тип.СодержитТип(Тип("Число")));
Сообщить(Не Поле.РазрешитьNull);
Сообщить("Только чтение поля: " + Строка(Поле.ТолькоЧтение));
Сообщить("Проверка заполнения: " + Строка(Поле.ПроверкаЗаполнения));
Сообщить(Поле.Подсказка = "Количество книг");Разбор по шагам
Поле найдено только в собственной учебной таблице и проверено на отсутствие.
Имя Количество и имя book_quantity относятся к разным слоям: конфигурации 1С и внешнему источнику.
ОписаниеТипов.СодержитТип проверяет числовой контракт, а не значение конкретной записи.
РазрешитьNull отвечает за отдельное значение Null. Оно не тождественно числу 0, пустой строке или Неопределено.
ТолькоЧтение поля и ПроверкаЗаполнения показывают настройки поведения; данные источника не читаются.
Как проверить результат
Пять сравнений Истина; три подписи и два режима диагностические.
Объект Поле не используется как запись с количеством 3.
Ожидаемый результат
Проверен контракт числового поля без обращения к строкам.
На что обратить внимание
Правило Null в метаданных не доказывает наличие ограничения NOT NULL в самой внешней БД.
Число 0 может быть допустимым количеством, но смысл обязательности определяется задачей.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Проверить соответствие полей внешнему источнику
Разделяем имя Товары в конфигурации, имя guide_books в источнике, поля ключа и поле версии. Ни строка данных, ни SQL-запрос здесь не выполняются.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте отдельную учебную конфигурацию Учебная85 без расширений, не рабочие КА2/УНФ/УТ. В Конфигураторе создайте Внешние источники данных → УчебныйВнешний → Таблицы → Товары. Строку подключения оставьте пустой: упражнения читают только метаданные, внешняя СУБД не требуется.
Для таблицы задайте вид Таблица, тип ОбъектныеДанные, имя в источнике guide_books, ТолькоЧтение=Истина. В её Полях создайте Код (Строка 20, имя book_code), Наименование (Строка 100, имя book_name), Количество (Число 9.0, имя book_quantity) и Версия (Число 15.0, имя book_version). Это описание учебного источника, не команда создания SQL-таблицы.
В ПоляКлюча и ПоляБлокировкиДанных включите Код, ПолеПредставления=Наименование, ПолеВерсииДанных=Версия, ПолеРодителя не задавайте. ВводПоСтроке: Код и Наименование. Для Количество запретите Null, задайте заполнение 0 и Подсказку «Количество книг». Для Наименование задайте Синоним «Название книги». СозданиеПриВводе оставьте без использования.
Модули и справку оставьте пустыми, не создавайте обработчики подключения и команды записи. Обновите только эту учебную конфигурацию. Фрагменты запускайте отдельно на сервере в учебной обработке: они не обращаются к данным источника и не меняют метаданные.
Источник = Метаданные.ВнешниеИсточникиДанных.Найти("УчебныйВнешний");
Если Источник = Неопределено Тогда
ВызватьИсключение "Создайте только учебный внешний источник УчебныйВнешний";
КонецЕсли;
Таблица = Источник.Таблицы.Найти("Товары");
Если Таблица = Неопределено Тогда
ВызватьИсключение "В учебном источнике нет описания таблицы Товары";
КонецЕсли;
Сообщить(Таблица.ИмяВИсточникеДанных = "guide_books");
Сообщить(Таблица.ВидТаблицы = Метаданные.СвойстваОбъектов.ВидТаблицыВнешнегоИсточникаДанных.Таблица);
Сообщить(Таблица.ТипДанныхТаблицы = Метаданные.СвойстваОбъектов.ТипДанныхТаблицыВнешнегоИсточникаДанных.ОбъектныеДанные);
Сообщить("Выражение вместо таблицы: " + Таблица.ВыражениеВИсточникеДанных);
Сообщить(Таблица.Поля.Количество() = 4);
Ключ = Таблица.ПоляКлюча.Найти("Код");
Если Ключ = Неопределено Тогда
ВызватьИсключение "В собственном описании не настроен ключ Код";
КонецЕсли;
Сообщить(Ключ.Имя = "Код");
Сообщить(Таблица.ПоляБлокировкиДанных.Найти("Код") <> Неопределено);
Представление = Таблица.ПолеПредставления;
Версия = Таблица.ПолеВерсииДанных;
Если Представление = Неопределено Или Версия = Неопределено Тогда
ВызватьИсключение "Настройте собственные поля представления и версии";
КонецЕсли;
Сообщить(Представление.Имя = "Наименование");
Сообщить(Версия.Имя = "Версия");
Сообщить(Таблица.ПолеРодителя = Неопределено);
Сообщить("Тип незаполненного родителя: " + Строка(ТипЗнч(Таблица.ЗначениеНезаполненногоРодителя)));Разбор по шагам
Вид Таблица означает имя физического источника. ВыражениеВИсточникеДанных используется для другого вида, выражения языка внешней СУБД.
Тип ОбъектныеДанные описывает работу с объектными строками, а не доказательство разрешения записи.
Поля содержит четыре описания колонок. ПоляКлюча и ПоляБлокировкиДанных — отдельные списки, Код ищется в каждом из них.
ПолеПредставления и ПолеВерсииДанных возвращают описания полей; отсутствие проверяется до чтения Имя.
В учебной таблице иерархический родитель не настроен. Его значение-заполнитель диагностируем только по типу.
Как проверить результат
Девять сравнений Истина; выражение и тип родителя диагностические.
Количество описаний 4, ключ Код, представление Наименование, версия Версия.
Ожидаемый результат
Проверена карта собственных метаданных без обращения к внешним данным.
На что обратить внимание
Поле версии не создаёт автоматически столбец rowversion внешней СУБД.
ВыражениеВИсточникеДанных не является текстом запроса языка 1С.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.