8.х не выполняется условие в запросе

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

  1. TopicStarter Overlay
    mhl
    Offline

    mhl Опытный в 1С

    Регистрация:
    23 июн 2007
    Сообщения:
    418
    Симпатии:
    0
    Баллы:
    26
    Код:
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |	ПараметрыЗаказаСрезПоследних.Период,
    |	ПараметрыЗаказаСрезПоследних.Контрагент,
    |	ПараметрыЗаказаСрезПоследних.ТелефонКонтрагента,
    |	ПараметрыЗаказаСрезПоследних.АдресДоставки,
    |	ПараметрыЗаказаСрезПоследних.ДатаДоставки,
    |	ПараметрыЗаказаСрезПоследних.ВремяДоставки,
    |	ПараметрыЗаказаСрезПоследних.Комментарий,
    |	ПараметрыЗаказаСрезПоследних.ТипОплаты,
    |	ПараметрыЗаказаСрезПоследних.ТипДоставки
    |ИЗ
    |	РегистрСведений.ПараметрыЗаказа.СрезПоследних КАК ПараметрыЗаказаСрезПоследних
    |ГДЕ
    |	ПараметрыЗаказаСрезПоследних.ДатаДоставки >= &ПериодНач
    |	И ПараметрыЗаказаСрезПоследних.ДатаДоставки <= &ПериодКон";
    Если ЭлементыФормы.ФлДоставкаКурьером.Значение = Истина Тогда
    Запрос.Текст = Запрос.Текст +
    "
    |И ПараметрыЗаказаСрезПоследних.ТипДоставки = &КурьерЗаМКАД
    |ИЛИ ПараметрыЗаказаСрезПоследних.ТипДоставки = &КурьерМКАД";
    КонецЕсли;
    
    Если выполняется условие ЭлементыФормы.ФлДоставкаКурьером.Значение = Истина Тогда то запрос не смотрит на дату из условия ГДЕ
    Где тут ошибка?
  2. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    корее всего берет так:
    (усл1 И усл2 И усл3) ИЛИ усл4,поставь скобки:
    (усл1 И усл2) И (усл3 ИЛИ усл4)
  3. TopicStarter Overlay
    mhl
    Offline

    mhl Опытный в 1С

    Регистрация:
    23 июн 2007
    Сообщения:
    418
    Симпатии:
    0
    Баллы:
    26
    можно пример с кодом
  4. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Код:
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |	ПараметрыЗаказаСрезПоследних.Период,
    |	ПараметрыЗаказаСрезПоследних.Контрагент,
    |	ПараметрыЗаказаСрезПоследних.ТелефонКонтрагента,
    |	ПараметрыЗаказаСрезПоследних.АдресДоставки,
    |	ПараметрыЗаказаСрезПоследних.ДатаДоставки,
    |	ПараметрыЗаказаСрезПоследних.ВремяДоставки,
    |	ПараметрыЗаказаСрезПоследних.Комментарий,
    |	ПараметрыЗаказаСрезПоследних.ТипОплаты,
    |	ПараметрыЗаказаСрезПоследних.ТипДоставки
    |ИЗ
    |	РегистрСведений.ПараметрыЗаказа.СрезПоследних КАК ПараметрыЗаказаСрезПоследних
    |ГДЕ
    |	ПараметрыЗаказаСрезПоследних.ДатаДоставки >= &ПериодНач
    |	И ПараметрыЗаказаСрезПоследних.ДатаДоставки <= &ПериодКон";
    Если ЭлементыФормы.ФлДоставкаКурьером.Значение = Истина Тогда
    Запрос.Текст = Запрос.Текст +
    "
    |И (ПараметрыЗаказаСрезПоследних.ТипДоставки = &КурьерЗаМКАД
    |ИЛИ ПараметрыЗаказаСрезПоследних.ТипДоставки = &КурьерМКАД)";
    КонецЕсли;
    
  5. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    и в принципе можно для даты пользоваться конструкцией "между"

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