Тип: КоллекцияОбъектовМетаданных. Содержит описания кубов внешнего источника данных.
Полное описание, параметры и ограничения
ОбъектМетаданных: ВнешнийИсточникДанных.Кубы (MetadataObject: ExternalDataSource.Cubes)
ОбъектМетаданных: ВнешнийИсточникДанных (MetadataObject: ExternalDataSource)
Кубы (Cubes)
Доступен, начиная с версии 8.3.3.
Использование:
Только чтение.
Описание:
Тип: КоллекцияОбъектовМетаданных.
Содержит описания кубов внешнего источника данных.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.3.3.
Методическая информация
Практические примеры
Проверить подписи и необязательные формы куба
Пустая настройка основной формы допустима. Код отделяет подписи команд от назначенных форм и не пытается открыть отсутствующую форму.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Работайте в отдельной учебной конфигурации без расширений. В Конфигураторе создайте Внешние источники данных → УчебныйOLAP → Кубы → ПродажиКниг. Строку подключения оставьте пустой: ни сервер OLAP, ни пароль для этих упражнений не нужны.
Задайте кубу Синоним = Продажи учебных книг и Имя в источнике данных = guide_book_sales. В Измерениях создайте Товар, в Ресурсах Количество. Это описание источника, не создание настоящего OLAP-куба.
В Таблицах измерений куба создайте Товары: Синоним = Учебные товары, Имя в источнике данных = guide_products. Создайте два поля Ключ (Строка 20) и Наименование (Строка 100); Поле представления = Наименование. Иерархическая = Ложь, модули, справку, команды, формы и макеты оставьте пустыми.
Основные формы не назначайте, Использовать стандартные команды = Истина. Обновите только учебную конфигурацию. Каждый фрагмент отдельно вставьте в тело серверной процедуры ВыполнитьПример() Экспорт собственного учебного общего модуля.
Источник = Метаданные.ВнешниеИсточникиДанных.Найти("УчебныйOLAP");
Если Источник = Неопределено Тогда
ВызватьИсключение "Создайте собственное описание УчебныйOLAP в учебной базе";
КонецЕсли;
Куб = Источник.Кубы.Найти("ПродажиКниг");
Если Куб = Неопределено Тогда
ВызватьИсключение "Нет учебного описания куба ПродажиКниг";
КонецЕсли;
Сообщить("Запись: " + Куб.ПредставлениеЗаписи);
Сообщить("Список: " + Куб.ПредставлениеСписка);
Сообщить("Заголовок записи: " + Куб.РасширенноеПредставлениеЗаписи);
Сообщить("Заголовок списка: " + Куб.РасширенноеПредставлениеСписка);
Сообщить("Пояснение: " + Куб.Пояснение);
Сообщить(Куб.ИспользоватьСтандартныеКоманды);
Назначения = Новый Структура;
Назначения.Вставить("Запись", Куб.ОсновнаяФормаЗаписи);
Назначения.Вставить("Список", Куб.ОсновнаяФормаСписка);
Для Каждого Назначение Из Назначения Цикл
Если Назначение.Значение = Неопределено Тогда
Сообщить(Назначение.Ключ + ": основная форма не назначена");
Иначе
Сообщить(Назначение.Ключ + ": " + Назначение.Значение.Имя);
КонецЕсли;
КонецЦикла;Разбор по шагам
Четыре представления управляют подписями и заголовками; пустые строки не требуют обращения к серверу OLAP.
ИспользоватьСтандартныеКоманды читается как настройка формирования команд, не право записи пользователя.
Структура содержит два независимых назначения. Каждое значение проверено до чтения Имя.
Не назначена основная форма не означает, что платформа не сможет сформировать стандартную форму; урок только читает назначение.
Как проверить результат
Истина для стандартных команд и две строки основная форма не назначена.
Пустые подписи диагностические: заполните одно представление вручную в своём кубе и повторите вывод.
Ожидаемый результат
Настройки отображения проверены без открытия форм и обращения к внешним данным.
На что обратить внимание
Не вызывайте .Имя у Неопределено.
Проверка настройки команды не заменяет проверку пользовательских прав.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Проверить карту измерений и ресурсов собственного куба
Товар — измерение куба, Количество — ресурс, Товары — отдельная таблица измерения. Считаем описания, не фактические продажи.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Работайте в отдельной учебной конфигурации без расширений. В Конфигураторе создайте Внешние источники данных → УчебныйOLAP → Кубы → ПродажиКниг. Строку подключения оставьте пустой: ни сервер OLAP, ни пароль для этих упражнений не нужны.
Задайте кубу Синоним = Продажи учебных книг и Имя в источнике данных = guide_book_sales. В Измерениях создайте Товар, в Ресурсах Количество. Это описание источника, не создание настоящего OLAP-куба.
В Таблицах измерений куба создайте Товары: Синоним = Учебные товары, Имя в источнике данных = guide_products. Создайте два поля Ключ (Строка 20) и Наименование (Строка 100); Поле представления = Наименование. Иерархическая = Ложь, модули, справку, команды, формы и макеты оставьте пустыми.
Основные формы не назначайте, Использовать стандартные команды = Истина. Обновите только учебную конфигурацию. Каждый фрагмент отдельно вставьте в тело серверной процедуры ВыполнитьПример() Экспорт собственного учебного общего модуля.
Источник = Метаданные.ВнешниеИсточникиДанных.Найти("УчебныйOLAP");
Если Источник = Неопределено Тогда
ВызватьИсключение "Создайте собственное описание УчебныйOLAP в учебной базе";
КонецЕсли;
Куб = Источник.Кубы.Найти("ПродажиКниг");
Если Куб = Неопределено Тогда
ВызватьИсключение "Нет учебного описания куба ПродажиКниг";
КонецЕсли;
Сообщить(Куб.ИмяВИсточникеДанных = "guide_book_sales");
Сообщить(Куб.Измерения.Количество() = 1);
Сообщить(Куб.Ресурсы.Количество() = 1);
Сообщить(Куб.ТаблицыИзмерений.Количество() = 1);
Товар = Куб.Измерения.Найти("Товар");
Количество = Куб.Ресурсы.Найти("Количество");
ТаблицаТоваров = Куб.ТаблицыИзмерений.Найти("Товары");
Если Товар = Неопределено ИЛИ Количество = Неопределено ИЛИ ТаблицаТоваров = Неопределено Тогда
ВызватьИсключение "Сверьте три собственных описания с подготовкой урока";
КонецЕсли;
Сообщить(Товар.ПолноеИмя());
Сообщить(Количество.ПолноеИмя());
Сообщить(ТаблицаТоваров.Имя = "Товары");Разбор по шагам
ИмяВИсточникеДанных — настройка соответствия, а не текст запроса языка 1С.
Три Количество считают три разные коллекции объектов метаданных. Ресурс с именем Количество не подменяет метод коллекции Количество().
Перед доступом к найденным описаниям проверяется отсутствие каждого. Полные имена диагностируют различие ролей.
Таблица измерения содержит описание атрибутов товара; ресурс описывает показатель. Ни одно действие не суммирует реальные продажи.
Как проверить результат
Пять Истина и два полных имени. Каждый поиск нашёл ровно подготовленное описание.
Добавьте второе собственное измерение: сравнение количества станет Ложь, а не ошибкой соединения. Затем удалите только дополнительное описание вручную.
Ожидаемый результат
Карта учебного куба проверена без запросов к внешнему источнику.
На что обратить внимание
Имена измерений/ресурсов не доказывают, что сервер OLAP возвращает эти поля.
Коллекции метаданных — не выборка строк данных.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.