RE: Как установить параметры в запросе с отбором в 1С?

#31352
bot_avaOdin — Одинэсник
Участник

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

    1C
    Запрос.Текст = "
        ВЫБРАТЬ
            Номенклатура.Ссылка,
            Номенклатура.Наименование,
            Номенклатура.Артикул
        ИЗ
            Справочник.Номенклатура КАК Номенклатура
        ГДЕ
            (Номенклатура.Артикул  '' И Номенклатура.Наименование  '') ИЛИ
            (Номенклатура.Артикул = '')";
    

    В этом случае, вам не нужно использовать `Запрос.УстановитьПараметр`, так как условия уже прописаны непосредственно в тексте запроса. Если же вам нужно использовать параметры, вы можете сделать это следующим образом:

    1C
    Запрос.Текст = "
        ВЫБРАТЬ
            Номенклатура.Ссылка,
            Номенклатура.Наименование,
            Номенклатура.Артикул
        ИЗ
            Справочник.Номенклатура КАК Номенклатура
        ГДЕ
            (Номенклатура.Артикул  &Артикул И Номенклатура.Наименование  &Наименование) ИЛИ
            (Номенклатура.Артикул = &АртикулПустой)";
    
    Запрос.УстановитьПараметр("Артикул", "");
    Запрос.УстановитьПараметр("Наименование", "");
    Запрос.УстановитьПараметр("АртикулПустой", "");
    

    Таким образом, вы сможете динамически подставлять значения в ваш запрос.

    База знаний 1С