Имя: Пароль:
1C
 
Условие на заполненность одного из двух реквизитов
0 Galaad
 
06.10.25
14:16
Всем доброго дня

Как в запросе правильно написать условие, чтобы в результат не попадали документы, где оба реквизита пустые? В моем случае это ДокЗам и ДокОхл

Текст запроса :

ВЫБРАТЬ
    ЗаказПокупателя.Ссылка КАК Ссылка,
    ЗаказПокупателя.Марш_ДокЗам КАК ДокЗам,
    ЗаказПокупателя.Марш_ДокОхл КАК ДокОхл,
    ЗаказПокупателя.Контрагент КАК Контрагент,
    ЗаказПокупателя.Комментарий КАК Комментарий,
    ЗаказПокупателя.Марш_АдресДоставки КАК Адрес,
    ЗаказПокупателя.Марш_Маршрут КАК Маршрут,
    ЗаказПокупателя.Марш_ВремяДоставки КАК Время,
    ЗаказПокупателя.Марш_ДокЗам.СуммаДокумента КАК СуммаЗам,
    ЗаказПокупателя.Марш_ДокОхл.СуммаДокумента КАК СуммаОхл,
    ЗаказПокупателя.СуммаДокумента КАК СуммаДокумента
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
ГДЕ
    ЗаказПокупателя.Марш_МаршрутныйЛист = &МаршрутныйЛист
    И ЗаказПокупателя.Марш_ВремяДоставки В(&ВремяДоставки)
    И ЗаказПокупателя.Марш_Маршрут В(&Маршрут)
    И ЗаказПокупателя.Дата >= &НачалоПериода
    И ЗаказПокупателя.Дата <= &КонецПериода
    И ЗаказПокупателя.ПометкаУдаления = ЛОЖЬ
    И НЕ ЗаказПокупателя.Марш_ДокОхл = ЗНАЧЕНИЕ(Документ.РасходнаяНакладная.ПустаяССылка)
    И ЗаказПокупателя.Марш_ДокЗам = ЗНАЧЕНИЕ(Документ.РасходнаяНакладная.ПустаяССылка)

УПОРЯДОЧИТЬ ПО
    Маршрут,
    Время
1 shuhard
 
06.10.25
14:17
(0) НЕ (.. ИЛИ ..)
2 Мультук
 
гуру
06.10.25
14:20
P.S.

Интересно, Зам и Охл это "заморозка" и "охлажденка" ?
3 Galaad
 
06.10.25
14:20
(1) Спасибо, не особо еще разобрался с языком запросов
Скобки все исправили
4 formista2000
 
06.10.25
14:20
>>  И ЗаказПокупателя.Марш_ВремяДоставки В(&ВремяДоставки)
Вот здеся можно поподробнее?
5 Galaad
 
06.10.25
14:21
(2) Именно)
6 Мультук
 
гуру
06.10.25
14:22
(4)

Например

ВремяДоставки:
-- утром
-- в обед
-- вечером
-- в любое время суток
7 formista2000
 
06.10.25
14:23
(6) ну хотя да, наверное...
8 Galaad
 
06.10.25
14:23
(4) &ВремяДоставки это список значений, в котором содержатся все времена, выбранные пользователем
9 Kigo_Kigo
 
06.10.25
14:24
А может там справочник времени доставки а в ВремяДоставки - набор элементов
10 Мультук
 
гуру
06.10.25
14:27
(0)

И ЗаказПокупателя.ПометкаУдаления = ЛОЖЬ


Интересно, если основной заказ помечается на удаление.
Зам и охл тоже автоматически помечаются на удаление?

А зам и охл отдельно могут быть помечены на удаление?
Почему тогда в запросе нет на это проверки ?
11 Табуретко
 
06.10.25
14:28
И ЗаказПокупателя.Дата >= &НачалоПериода
    И ЗаказПокупателя.Дата <= &КонецПериода

    =

ЗаказПокупателя.Дата МЕЖДУ &НачалоПериода И &КонецПериода
12 formista2000
 
06.10.25
14:29
(11) + стпудово понадобится что-нибудь вроде КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
13 maxab72
 
06.10.25
14:32
(6) Время доставки:
- завтра.

а потом диалог:
Покупатель: Вы, №&*%@!, почему заказ не привезли?
Оператор: В заказе же написано "завтра", а вы опять сегодня звоните и спрашиваете...
14 Galaad
 
06.10.25
15:14
(10) не, не могут. На это запрет стоит)
15 Galaad
 
06.10.25
15:16
(10) Но про проставление пометки удаления зам и охл при проставлении оной в заказе - спасибо, забыл добавить
16 Galaad
 
06.10.25
15:24
(12) Не особо понял, типа конец дня?