Имя: Пароль:
1C
1С v8
Помогите с запросом
0 Double_Medved
 
17.04.13
10:34
Подскажите пожалуйста, надо сделать такой запрос: есть склад-отправитель  и склад-получатель, и определенная дата. Надо взять остатки по каждому из этих складов и получить ту номенклатуру, у которой есть плюсовой остаток на складе-отправителе но нет остатка на складе-получателе (то есть 0). Как взять отдельно остатки для каждого склада я понимаю. Но не пойму как мне потом эти таблицы объединять соединять там левое правое или полное или как.... Подскажите плиз.
1 Sammo
 
17.04.13
10:41
Для определения типа соединения надо для начала ответить - что делать, если на одном складе остаток есть, а на другом нет
2 Double_Medved
 
17.04.13
10:42
(1) мне как раз и нужны те стоки, где на первом складе остаток есть а на  втором нет). Но не наоборот.
3 olegves
 
17.04.13
10:42
Основной - отправитель и левым соединением цепляй, в условии которого и укажи остаток или Null
4 Жан Пердежон
 
17.04.13
10:43
левое соединение
где остаток2 есть null
5 palpetrovich
 
17.04.13
10:44
(3) а чего "левым"? ему-ж не нужны все остатки которые на "отправителе"
6 Double_Medved
 
17.04.13
10:46
а вот например на втором складе остаток нулевой, так там вообще сточка будет типа "номенклатура = помада , остаток = 0" или "номенклатура = помада, остаток = null", или ее в таблице вообще не будет?
7 lapinio
 
17.04.13
10:46
А объединение запросов  не подойдет в данном случаи?
8 olegves
 
17.04.13
10:46
(5) так к отправителю левым и подцепит получателя
9 В тылу врага
 
17.04.13
10:49
херня все, есть альтернатива

ВЫБРАТЬ
   ТоварыНаСкладахОстатки.Номенклатура,
   СУММА(ВЫБОР
           КОГДА ТоварыНаСкладахОстатки.Склад = &Основной
               ТОГДА ТоварыНаСкладахОстатки.КоличествоОстаток
       КОНЕЦ) КАК Поле1
ИЗ
   РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад В (&Основной, &Побочный)) КАК ТоварыНаСкладахОстатки

СГРУППИРОВАТЬ ПО
   ТоварыНаСкладахОстатки.Номенклатура

ИМЕЮЩИЕ
   СУММА(ВЫБОР
           КОГДА ТоварыНаСкладахОстатки.Склад = &Побочный
               ТОГДА 1
           ИНАЧЕ 0
       КОНЕЦ) = 0
10 Double_Medved
 
17.04.13
10:50
(8) а вот подцеплю я получателя у меня же будет типа вся информация со всеми остатками типа "помада, у отправителя - 3, у получателя - 1"? это в принципе подойдет, потом выберу что мне нужно. а вот нулевые остатки на складе получателе он подтянет как "помада, у отправителя = 3, а у получателя 0? null? или как?
11 lapinio
 
17.04.13
10:57
Можно сделать вложенный запрос в  этом вложенном запросе объединение. Потом во вложенном запросе можно поставить условия или в объединениях. Зачем какое то левое, правое соединение не понятно. Нужно получить одну таблицу из двух!
12 lapinio
 
17.04.13
11:15
или Внутреннее соединение по номенклатуре