ОписаниеПараметровЗапроса.Найти

Методы · Find

Осуществляет поиск параметра запроса по имени.

Синтаксис

Найти(<Имя>)
Полное описание, параметры и ограничения

ОписаниеПараметровЗапроса.Найти (QueryParametersDescription.Find)

ОписаниеПараметровЗапроса (QueryParametersDescription)

Найти (Find)

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

Синтаксис:
Найти(<Имя>)
Параметры:

<Имя> (обязательный)
Тип: Строка.
Имя искомого параметра.
Возвращаемое значение:
Тип: ОписаниеПараметраЗапроса, Неопределено.
Если искомое значение не найдено, то возвращается Неопределено.
Описание:

Осуществляет поиск параметра запроса по имени.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

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

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

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

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

Разобрать параметры схемы и выполнить собственный расчёт

Схема находит параметры Количество и Цена, затем сформированный текст выполняется с числами 3 и 250. Проверяем результат 750, не побайтовое совпадение форматирования.

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

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

Подготовка

  1. В учебной обработке или общем модуле выполните каждый фрагмент отдельно на сервере. Все запросы используют только свои числа и параметры, без справочников, документов и регистров рабочей базы.

  2. СхемаЗапроса редактирует структуру и формирует текст, а Запрос выполняет этот текст. Родительская схема должна оставаться в переменной, пока используются её дочерние объекты.

  3. Не переносите полученные дочерние объекты между разными схемами и не обращайтесь к элементу после его удаления. Упражнения удаления работают только со своей структурой в памяти.

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

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

  1. УстановитьТекстЗапроса разбирает текст, но ещё не вычисляет результат.

  2. НайтиПараметры возвращает описания, а не значения параметров. Один и тот же параметр, повторённый в выражении, не становится двумя параметрами.

  3. Проверяем отсутствующий результат поиска до чтения Имя и рекомендуемого ТипЗначения.

  4. ПолучитьТекстЗапроса может нормализовать форматирование. Поэтому проверяем вычисленные данные, не буквальное равенство исходной строке.

  5. Только объект Запрос с явно установленными числами выполняет расчёт.

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

  1. Шесть сравнений Истина и диагностическое описание рекомендуемого типа.

  2. В итоговой собственной строке Количество=3, Цена=250, Сумма=750.

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

Разобраны параметры, сформирован текст и проверен настоящий числовой результат.

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

  1. ТипЗначения описания — рекомендация анализа выражения, не значение самого параметра.

  2. Наличие параметра в схеме не подставляет число автоматически.

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

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

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

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

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