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