ОбъектМетаданных: Куб.ТаблицыИзмерений

Свойства · DimensionTables

Тип: КоллекцияОбъектовМетаданных. Содержит таблицы измерений куба внешнего источника данных.

Полное описание, параметры и ограничения

ОбъектМетаданных: Куб.ТаблицыИзмерений (MetadataObject: Cube.DimensionTables)

ОбъектМетаданных: Куб (MetadataObject: Cube)

ТаблицыИзмерений (DimensionTables)

Доступен, начиная с версии 8.3.3.

Использование:
Только чтение.
Описание:
Тип: КоллекцияОбъектовМетаданных.
Содержит таблицы измерений куба внешнего источника данных.
Доступность:

Сервер, толстый клиент, внешнее соединение.

Использование в версии:

Доступен, начиная с версии 8.3.3.

Методическая информация

Практические примеры

Проверить карту измерений и ресурсов собственного куба

Товар — измерение куба, Количество — ресурс, Товары — отдельная таблица измерения. Считаем описания, не фактические продажи.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Работайте в отдельной учебной конфигурации без расширений. В Конфигураторе создайте Внешние источники данных → УчебныйOLAP → Кубы → ПродажиКниг. Строку подключения оставьте пустой: ни сервер OLAP, ни пароль для этих упражнений не нужны.

  2. Задайте кубу Синоним = Продажи учебных книг и Имя в источнике данных = guide_book_sales. В Измерениях создайте Товар, в Ресурсах Количество. Это описание источника, не создание настоящего OLAP-куба.

  3. В Таблицах измерений куба создайте Товары: Синоним = Учебные товары, Имя в источнике данных = guide_products. Создайте два поля Ключ (Строка 20) и Наименование (Строка 100); Поле представления = Наименование. Иерархическая = Ложь, модули, справку, команды, формы и макеты оставьте пустыми.

  4. Основные формы не назначайте, Использовать стандартные команды = Истина. Обновите только учебную конфигурацию. Каждый фрагмент отдельно вставьте в тело серверной процедуры ВыполнитьПример() Экспорт собственного учебного общего модуля.

Источник = Метаданные.ВнешниеИсточникиДанных.Найти("УчебныйOLAP");
Если Источник = Неопределено Тогда
    ВызватьИсключение "Создайте собственное описание УчебныйOLAP в учебной базе";
КонецЕсли;
Куб = Источник.Кубы.Найти("ПродажиКниг");
Если Куб = Неопределено Тогда
    ВызватьИсключение "Нет учебного описания куба ПродажиКниг";
КонецЕсли;
Сообщить(Куб.ИмяВИсточникеДанных = "guide_book_sales");
Сообщить(Куб.Измерения.Количество() = 1);
Сообщить(Куб.Ресурсы.Количество() = 1);
Сообщить(Куб.ТаблицыИзмерений.Количество() = 1);
Товар = Куб.Измерения.Найти("Товар");
Количество = Куб.Ресурсы.Найти("Количество");
ТаблицаТоваров = Куб.ТаблицыИзмерений.Найти("Товары");
Если Товар = Неопределено ИЛИ Количество = Неопределено ИЛИ ТаблицаТоваров = Неопределено Тогда
    ВызватьИсключение "Сверьте три собственных описания с подготовкой урока";
КонецЕсли;
Сообщить(Товар.ПолноеИмя());
Сообщить(Количество.ПолноеИмя());
Сообщить(ТаблицаТоваров.Имя = "Товары");

Разбор по шагам

  1. ИмяВИсточникеДанных — настройка соответствия, а не текст запроса языка 1С.

  2. Три Количество считают три разные коллекции объектов метаданных. Ресурс с именем Количество не подменяет метод коллекции Количество().

  3. Перед доступом к найденным описаниям проверяется отсутствие каждого. Полные имена диагностируют различие ролей.

  4. Таблица измерения содержит описание атрибутов товара; ресурс описывает показатель. Ни одно действие не суммирует реальные продажи.

Как проверить результат

  1. Пять Истина и два полных имени. Каждый поиск нашёл ровно подготовленное описание.

  2. Добавьте второе собственное измерение: сравнение количества станет Ложь, а не ошибкой соединения. Затем удалите только дополнительное описание вручную.

Ожидаемый результат

Карта учебного куба проверена без запросов к внешнему источнику.

На что обратить внимание

  1. Имена измерений/ресурсов не доказывают, что сервер OLAP возвращает эти поля.

  2. Коллекции метаданных — не выборка строк данных.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Проверить подписи и три назначения форм таблицы измерения

Выбор, объект и список используют отдельные основные формы. Ни одно пустое назначение не разыменовывается без проверки.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Работайте в отдельной учебной конфигурации без расширений. В Конфигураторе создайте Внешние источники данных → УчебныйOLAP → Кубы → ПродажиКниг. Строку подключения оставьте пустой: ни сервер OLAP, ни пароль для этих упражнений не нужны.

  2. Задайте кубу Синоним = Продажи учебных книг и Имя в источнике данных = guide_book_sales. В Измерениях создайте Товар, в Ресурсах Количество. Это описание источника, не создание настоящего OLAP-куба.

  3. В Таблицах измерений куба создайте Товары: Синоним = Учебные товары, Имя в источнике данных = guide_products. Создайте два поля Ключ (Строка 20) и Наименование (Строка 100); Поле представления = Наименование. Иерархическая = Ложь, модули, справку, команды, формы и макеты оставьте пустыми.

  4. Основные формы не назначайте, Использовать стандартные команды = Истина. Обновите только учебную конфигурацию. Каждый фрагмент отдельно вставьте в тело серверной процедуры ВыполнитьПример() Экспорт собственного учебного общего модуля.

Источник = Метаданные.ВнешниеИсточникиДанных.Найти("УчебныйOLAP");
Если Источник = Неопределено Тогда
    ВызватьИсключение "Создайте собственное описание УчебныйOLAP в учебной базе";
КонецЕсли;
Куб = Источник.Кубы.Найти("ПродажиКниг");
Если Куб = Неопределено Тогда
    ВызватьИсключение "Нет учебного описания куба ПродажиКниг";
КонецЕсли;
Измерение = Куб.ТаблицыИзмерений.Найти("Товары");
Если Измерение = Неопределено Тогда
    ВызватьИсключение "В собственном кубе нет таблицы измерения Товары";
КонецЕсли;
Сообщить("Объект: " + Измерение.ПредставлениеОбъекта);
Сообщить("Список: " + Измерение.ПредставлениеСписка);
Сообщить("Заголовок объекта: " + Измерение.РасширенноеПредставлениеОбъекта);
Сообщить("Заголовок списка: " + Измерение.РасширенноеПредставлениеСписка);
Сообщить("Пояснение: " + Измерение.Пояснение);
Сообщить(Измерение.ИспользоватьСтандартныеКоманды);
Назначения = Новый Структура;
Назначения.Вставить("Выбор", Измерение.ОсновнаяФормаДляВыбора);
Назначения.Вставить("Объект", Измерение.ОсновнаяФормаОбъекта);
Назначения.Вставить("Список", Измерение.ОсновнаяФормаСписка);
Для Каждого Назначение Из Назначения Цикл
    Если Назначение.Значение = Неопределено Тогда
        Сообщить(Назначение.Ключ + ": основная форма не назначена");
    Иначе
        Сообщить(Назначение.Ключ + ": " + Назначение.Значение.Имя);
    КонецЕсли;
КонецЦикла;

Разбор по шагам

  1. ПредставлениеОбъекта и ПредставлениеСписка — подписи; расширенные представления используются для заголовков.

  2. Три назначения собраны в собственную структуру. Значение проверяется в каждой итерации.

  3. Неопределено означает отсутствие явно назначенной основной формы. Это не вызов формы и не запрос товаров.

  4. ИспользоватьСтандартныеКоманды не является разрешением изменить внешний товар.

Как проверить результат

  1. Истина для стандартных команд и три строки основная форма не назначена.

  2. Пустые подписи можно заполнить вручную только в учебном описании и повторно вывести.

Ожидаемый результат

Проверены настройки интерфейса собственного описания таблицы измерения.

На что обратить внимание

  1. Не вызывайте ОткрытьФорму для проверки наличия назначения.

  2. Права и подключение к внешнему источнику здесь не проверяются.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.