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