ТипПараметраДоступнойТаблицыСхемыЗапроса.Вариант

Свойства · Variant

В параметре указывается один из возможных вариантов. Возможные варианты получаются из свойства Варианты объекта типа ПараметрДоступнойТаблицыСхемыЗапроса.

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

ТипПараметраДоступнойТаблицыСхемыЗапроса.Вариант (QuerySchemaAvailableTableParameterType.Variant)

ТипПараметраДоступнойТаблицыСхемыЗапроса (QuerySchemaAvailableTableParameterType)

Вариант (Variant)

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

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

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

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

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

Найти параметры собственных таблиц типа Вариант

Конструктор запроса получает реальные описания доступных таблиц и отличает вид параметра от типа его значения.

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

Собственная обычная форма, толстый клиент: основной блок в кнопке, рекурсивная процедура отдельно.

Подготовка

  1. Собственная учебная конфигурация. Создайте свой регистр накопления УчебныеОстаткиПараметров вида Остатки: измерение КодКниги Строка 40, ресурс Количество Число 12.2. Записи и движения не нужны.

  2. Для дополнительных видов параметров можно использовать собственный регистр расчёта УчебныеНачисленияПараметров, периодичность Месяц, план видов расчёта УчебныеВидыРасчетаПараметров, ресурс Результат Число 12.2 и собственный документ-регистратор УчебныйРасчетПараметров. Сами начисления не создавайте.

  3. Основной код — тело кнопки своей обычной формы, толстый клиент. Дополнительная процедура отдельно в том же модуле. Созданная схема запроса остаётся живой во время обхода её объектов.

  4. Доступные таблицы содержат группы и таблицы: одна проверка типа отделяет разные элементы коллекции. Обход показывает только собственные имена с Учебн, не читает данные рабочих регистров.

Схема = Новый СхемаЗапроса;
Схема.УстановитьТекстЗапроса("ВЫБРАТЬ 1 КАК Число");
ЗапросВыбора = Схема.ПакетЗапросов[0];
ТипПараметра = ТипПараметраДоступнойТаблицыСхемыЗапроса.Вариант;
ПоказатьПараметрыУчебныхТаблиц(ЗапросВыбора.ДоступныеТаблицы, ТипПараметра);
Сообщить("Закончено чтение описаний типа Вариант; запрос к данным не исполнялся");
Тот же модуль: пройти реальные группы и параметры своих таблиц
Процедура ПоказатьПараметрыУчебныхТаблиц(Таблицы, ИскомыйТип)
    Для Каждого Таблица Из Таблицы Цикл
        Если ТипЗнч(Таблица) = Тип("ГруппаДоступныхТаблицСхемыЗапроса") Тогда
            ПоказатьПараметрыУчебныхТаблиц(Таблица.Состав, ИскомыйТип);
            Продолжить;
        КонецЕсли;
        Если СтрНайти(Таблица.Имя, "Учебн") = 0 Тогда
            Продолжить;
        КонецЕсли;
        Для Каждого Параметр Из Таблица.Параметры Цикл
            Если Параметр.ТипПараметра = ИскомыйТип Тогда
                Сообщить(Таблица.Имя + ": " + Параметр.Имя);
                Сообщить("Ожидаемый тип значения: " + Строка(Параметр.ТипЗначения));
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
КонецПроцедуры

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

  1. Создайте собственные метаданные и пустую схему одного запроса.

  2. Получите реальную коллекцию ДоступныеТаблицы.

  3. Рекурсивно выведите описания параметров выбранного вида у своих таблиц.

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

  1. ТипПараметра может быть Значение / Условие / СписокПолей / Порядок / Массив / Вариант. ТипЗначения отдельно описывает допустимые значения, это не то же перечисление.

  2. Если у собственных таблиц нет параметра выбранного вида, список пуст. Это не ошибка и не повод выдумывать виртуальную таблицу. Для Вариант допустимые варианты следует брать из Параметр.Варианты, а не придумывать строку.

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

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

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

  1. Код не присваивает ТипПараметра readonly-объекту и не выполняет исследуемые виртуальные таблицы.

  2. BSL при сборке HTML не исполнялся.

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

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

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

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

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