Имя: Пароль:
1C
1С v8
Помогите правильно поставить условие в запросе
0 dfaa
 
19.08.11
15:56
|ВЫБОР
|    КОГДА (ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) В (&Контрагент)
|            ИЛИ (НЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор.Контрагент В (&Контрагент)
|                ИЛИ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров
|                ИЛИ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ОприходованиеТоваров
|                ИЛИ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.СписаниеТоваров))
|        ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход
|    ИНАЧЕ 0
|КОНЕЦ КАК КоличествоРасход

Нужно чтоб контрагенты попавшие в параметр не выводились т.е. должны попадать на иначе 0.


вот так работает, но нужно чтоб по тем документам которые стоят после ИЛИ тоже не выводился расход. Как правильно поставить условие?

|ВЫБОР
|    КОГДА (ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) В (&Контрагент)
|            ИЛИ (НЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор.Контрагент В (&Контрагент)))
|        ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход
|    ИНАЧЕ 0
|КОНЕЦ КАК КоличествоРасход
1 dfaa
 
19.08.11
16:01
up
2 GROOVY
 
19.08.11
16:05
Ну что up? Я два раза перечитал так и не понял в чем проблема.
3 zuza
 
19.08.11
16:06
Ты уверен, что у тебя во всех регистраторах реквизит Контрагент есть?
4 catena
 
19.08.11
16:06
аналогично...
5 dfaa
 
19.08.11
16:07
(2) проблема в том что отрабатывает только вот это условие
ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) В (&Контрагент)
|            ИЛИ (НЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор.Контрагент В (&Контрагент)))


а нужно чтоб отрабатывало вот так
(ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) В (&Контрагент)
|            ИЛИ (НЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор.Контрагент В (&Контрагент)
|                ИЛИ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров
|                ИЛИ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ОприходованиеТоваров
|                ИЛИ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.СписаниеТоваров))
6 dfaa
 
19.08.11
16:08
(3) те регистраторы которые идут после слова ИЛИ по ним просто не должны выводиться данные т.е. должен выводиться 0
7 dfaa
 
19.08.11
16:09
(3) в них нет контрагента ты прав, по ним просто нужен 0
8 GROOVY
 
19.08.11
16:11
(6) не уверен, но вдруг поможет: в конструкции ВЫБОР КОГДА можно несколько раз указывать условие КОГДА.

ВЫБОР КОГДА ТОГДА
КОГДА ТОГДА
КОГДА ТОГДА
ИНАЧЕ
КОНЕЦ
9 dfaa
 
19.08.11
16:12
(8) т.е. вместо ИЛИ использовать КОГДА. правильно ?
10 cViper
 
19.08.11
17:40
(0) Автор, читай и думай.
wiki:Дизъюнкция
2 + 2 = 3.9999999999999999999999999999999...