Имя: Пароль:
1C
1С v8
подскажите по запросу, выбрать поставщиков, у которых нету цен
0 MrZLO
 
18.12.12
08:31
Здрасте!
Подскажите, что в запрос добавить, мне надо выбрать всех поставщиков, у которых нету никаких записей для закупочной цены в справочнике цены контрагентов...

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

Параметр ТипЦен - это ссылка из справочника закупочные цены
1 MrZLO
 
18.12.12
08:31
в этом запросе если нету вообще никаких цен в справочнике, то результат пустой
2 MrZLO
 
18.12.12
08:35
мне надо вывести всех, у кого нет в списке (в справочнике цены контрагентов) цен вообще или нет только закупочных цен
3 НЕА123
 
18.12.12
08:38
ВЫБРАТЬ
   Контрагенты.Ссылка
ИЗ
   Справочник.Контрагенты КАК Контрагенты
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТипыЦенНоменклатурыКонтрагентов КАК ТипыЦенНоменклатурыКонтрагентов
       ПО (ТипыЦенНоменклатурыКонтрагентов.Владелец = Контрагенты.Ссылка)
И
   Контрагенты.Поставщик = ИСТИНА
   И Контрагенты.ПометкаУдаления = ЛОЖЬ
   И ТипыЦенНоменклатурыКонтрагентов.ТипЦеныНоменклатуры.БазовыйТипЦен.Ссылка <> &ТипЦен

?
4 Homer
 
18.12.12
08:42
Левое соединение не сработает так как есть условие
ТипыЦенНоменклатурыКонтрагентов.ТипЦеныНоменклатуры.БазовыйТипЦен.Ссылка <> &ТипЦен
5 MrZLO
 
18.12.12
08:44
ВЫБРАТЬ
   Контрагенты.Ссылка
ИЗ
   Справочник.Контрагенты КАК Контрагенты
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТипыЦенНоменклатурыКонтрагентов КАК ТипыЦенНоменклатурыКонтрагентов
       ПО (ТипыЦенНоменклатурыКонтрагентов.Владелец = Контрагенты.Ссылка)
ГДЕ
   Контрагенты.Поставщик = ИСТИНА
   И Контрагенты.ПометкаУдаления = ЛОЖЬ
   И (ЕСТЬNULL(ТипыЦенНоменклатурыКонтрагентов.ТипЦеныНоменклатуры.БазовыйТипЦен.Ссылка, 0) = 0 ИЛИ ТипыЦенНоменклатурыКонтрагентов.ТипЦеныНоменклатуры.БазовыйТипЦен.Ссылка <> &ТипЦен)
6 НЕА123
 
18.12.12
08:46
ЕСТЬNULL(ТипыЦенНоменклатурыКонтрагентов.ТипЦеныНоменклатуры.БазовыйТипЦен.Ссылка, 0) = 0

тождественно

ТипыЦенНоменклатурыКонтрагентов.ТипЦеныНоменклатуры.БазовыйТипЦен.Ссылка ЕСТЬ NULL

и .Ссылка - надо?
7 MrZLO
 
18.12.12
11:06
вот так работает

ВЫБРАТЬ
   Контрагенты.Ссылка
ИЗ
   Справочник.Контрагенты КАК Контрагенты
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТипыЦенНоменклатурыКонтрагентов КАК ТипыЦенНоменклатурыКонтрагентов
       ПО (ТипыЦенНоменклатурыКонтрагентов.Владелец = Контрагенты.Ссылка)
ГДЕ
   Контрагенты.Поставщик = ИСТИНА
   И Контрагенты.ПометкаУдаления = ЛОЖЬ
   И (ТипыЦенНоменклатурыКонтрагентов.ТипЦеныНоменклатуры.Ссылка ЕСТЬ NULL ИЛИ ТипыЦенНоменклатурыКонтрагентов.ТипЦеныНоменклатуры.Ссылка <> &ТипЦен)
8 cw014
 
18.12.12
11:16
(7) Так может и работает, но правильный ответ в (3)
2 + 2 = 3.9999999999999999999999999999999...