К статьям

Параметры в запросе

1 мин


Описание

Платформа 1С поддерживает параметризованные запросы. Чаще всего это используется когда результат запроса должен зависеть от переданных в него извне данных. 
Синтаксис параметров в запросе достаточно просто в освоении, перед каждым параметром обязателен специальный символ "амперсанд"-&, чтобы в итоге получилось &НазваниеПараметра. Значения передаваемые в параметрах могут содержать и какое-то единичное значение, и коллекцию объектов.
В коде на языке 1С, мы бы описали передачу параметра в запрос следующим образом

Запрос = Новый Запрос();      

Запрос.Текст = "

                |ВЫБРАТЬ

                |       &ТекущаяДата КАК ТекущаяДата";  

Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДатаСеанса());

Примеры

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

ВЫБРАТЬ

    &ТекущаяДата КАК ТекущаяДата

Результатом будет таблица:

ТекущаяДата
17.06.2022 0:00:00

А в следующем примере мы использовали параметр в условиях, как если бы желали получить список всех документов у которого дата меньше чем переданная в параметре ТекущаяДата 

ВЫБРАТЬ

    ПоступлениеТоваровУслуг.Ссылка КАК Ссылка,

    ПоступлениеТоваровУслуг.Дата КАК Дата

ИЗ

    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг

ГДЕ

    ПоступлениеТоваровУслуг.Дата <= &ТекущаяДата  

Результат будет следующий:

Ссылка Дата
Поступление товаров услуг 000000001 от 13.05.2022 9:51:06 13.05.2022 9:51:06
Поступление товаров услуг 000000002 от 16.05.2022 10:30:32 16.05.2022 10:30:32
Поступление товаров услуг 000000003 от 16.05.2022 10:30:41 16.05.2022 10:30:41

 

Задачи на эту тему: