8.х Условие для параметра в запросе!

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Romik, 28 ноя 2008.

  1. TopicStarter Overlay
    Romik
    Offline

    Romik Опытный в 1С

    Регистрация:
    27 июн 2008
    Сообщения:
    238
    Симпатии:
    0
    Баллы:
    26
    Подскажите как поставить условие для параметра в запросе?
    Задаю паметр для запроса
    ПолеПодразделение = Справочники.Подразделения.НайтиПоНаименованию("Березники");
    Запрос.УстановитьПараметр("ПолеПодразделение",ПолеПодразделение);
    |ГДЕ
    | ЗаказПокупателя.Дата МЕЖДУ &НачДата И &КонДата
    | И ЗаказПокупателя.Подразделение.Родитель В(&ПолеПодразделение)

    и нужно поставить условие,есил ПолеПодразделение выбрано тогда выполнять это условие а если нет тогда выводить без этого условия...
  2. MagTux
    Offline

    MagTux Опытный в 1С

    Регистрация:
    28 ноя 2008
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    Думаю так:
    Код:
    ПолеПодразделение = Справочники.Подразделения.НайтиПоНаименованию("Березники");
    Если ПолеПодразделение = Неопределено Тогда
    ТекстЗапроса=<текст запроса без условия>;
    Иначе
    Запрос.УстановитьПараметр("ПолеПодразделение",ПолеПодразделение);
    ТекстЗапроса=<текст запроса с условием>;
    КонецЕсли;
    Запрос.Выполнить(ТекстЗапроса);
    
  3. DmitryS
    Offline

    DmitryS Опытный в 1С

    Регистрация:
    20 июл 2007
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    26
    А можно и так:

    Код:
    ПолеПодразделение = Справочники.Подразделения.НайтиПоНаименованию("Березники");
    Запрос.УстановитьПараметр("ПолеПодразделение",ПолеПодразделение);
    
    Запрос.Текст = "
    |
    // ...
    |ГДЕ
    | ЗаказПокупателя.Дата МЕЖДУ &НачДата И &КонДата
    | "+?(ПолеПодразделение.Пустая(),"","И ЗаказПокупателя.Подразделение.Родитель В(&ПолеПодразделение)")+"
    |
    // ...
    |";
    

Поделиться этой страницей