Имя: Пароль:
1C
1С v8
Запрос
0 soleg78
 
24.05.13
15:03
Добрый день
Ситуация следующая
например:
Есть справочник "контрагенты"
в нем есть допиляная (новая) ТЧ "Техника", а в ТЧ один реквизит "ВидТехники" (Справочник "Вид техники" )

   Пример в ИБ:
       Контрагент 1
           -Техника1
           -Техника2
           -Техника3
           -Техника4
       Контрагент 2
           -Техника2
           -Техника4
       Контрагент 3
           -Техника3
       Контрагент 4
           -Техника1
           -Техника4


Как мне выбрать контрагентов у которых нет Техники2

Если простым сравнением на НеРавно тогда Вываливаються все

ВЫБРАТЬ
   КонтрагентыТехника.Ссылка,
   КонтрагентыТехника.ВидТехники
ИЗ
   Справочник.Контрагенты.Техника КАК КонтрагентыТехника
ГДЕ
   КонтрагентыТехника<> &ВидТехники
1 Шапокляк
 
24.05.13
15:07
выбрать тех, у кого есть, в подзапросе, а запросом выбрать контрагентов, которые не входят в результат этого подзапроса
2 soleg78
 
24.05.13
15:20
А кроме этого варианта нет ничего? просто пользователи хотят видеть как и тех контрагентов у которых есть Техники2 так и у которых её нет
+ Этот запрос я загоняю в отчет, это получиться что по одному реквизиту пользователи будут в отборах искать котргентов у которых есть Техники2, а по другому у который Техники2 нет
3 fisher
 
24.05.13
15:36
Как-то так:

ВЫБРАТЬ
 Контрагенты.Контрагент,
 НЕ НаличиеТехники.Контрагент ЕСТЬ NULL КАК ЕстьТехника
ИЗ Справочник.Контрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ
 (ВЫБРАТЬ РАЗЛИЧНЫЕ Техника.Ссылка КАК Контрагент
  ИЗ Справочник.Контрагенты.Техника КАК Техника
  ГДЕ Техника.ВидТехники = &ВидТехники) КАК НаличиеТехники
ПО Контрагенты.Ссылка = НаличиеТехники.Контрагент
4 soleg78
 
27.05.13
17:17
(3) Запрос то рабочий, но я не хочу так писать "ГДЕ Техника.ВидТехники = &ВидТехники", этот отчет нужен не толко для отбора по виду техники, там есть еще и другие реквизиты с котороми можно манипулировать (отбирать, и т.д)

Просто этот запрос еще надо объединять с другими запросами
например : хотят видеть у кого есть техника 1, потом у кого её нет, потом у кого есть Техника1 и такая-то  модель техники (это буду тянуть с другого запроса), или например просто интересно проанализировать модели техники, таким образом тут не надо ставить клин на "ГДЕ Техника.ВидТехники = &ВидТехники" и т. д., там много отборов можно ставить, ну типа ТипТехники, Модель, основная характеристика, производитель, и т.д.

А никто подобного ни в каком отчете не видел?
5 zladenuw
 
27.05.13
17:18
(4) так проверяй отбор. если пустой то не вызывай условие
6 fisher
 
28.05.13
10:05
(4) Если в СКД, то просто примени магию фигурных скобок.
7 Ёпрст
 
28.05.13
10:12
(0) вот это зач0тное условие, ага

>>>>>ГДЕ
  >>>>> КонтрагентыТехника<> &ВидТехники