Имя: Пароль:
1C
1С v8
Левое соединение 3-х таблиц
,
0 Double_Medved
 
27.01.13
16:41
Подскажите плиз, как правильно сделать соединение  3-х таблиц? я соединил две, как правильно прилепить третью не пойму... 1-я таблица - количество товара на складе, 2-я его цена в виде цен "Закупочная", 3-я - его цена в виде цен "Розничная"
Мне к вот этому:
ВЫБРАТЬ
   ТоварыНаСкладах.Номенклатура,
   ТоварыНаСкладах.Склад,
   
   ТоварыНаСкладах.ВНаличииОстаток
ИЗ
   РегистрНакопления.ТоварыНаСкладах.Остатки(&дата, Склад = &Склад) КАК ТоварыНаСкладах
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип) КАК ЦеныНоменклатурыСрезПоследних
       ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура

Нужно прилепить вот это:
ВЫБРАТЬ
  ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена
ИЗ
  мРегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип2)
1 Double_Medved
 
27.01.13
16:42
Ой не совсем так
2 Double_Medved
 
27.01.13
16:42
ВЫБРАТЬ
   ТоварыНаСкладах.Номенклатура,
   ТоварыНаСкладах.Склад,
   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип)
   ТоварыНаСкладах.ВНаличииОстаток
ИЗ
   РегистрНакопления.ТоварыНаСкладах.Остатки(&дата, Склад = &Склад) КАК ТоварыНаСкладах
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип) КАК ЦеныНоменклатурыСрезПоследних
       ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура

Нужно прилепить вот это:
ВЫБРАТЬ
  ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена
ИЗ
  РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип2)
3 Double_Medved
 
27.01.13
16:43
Вот так
4 Wobland
 
27.01.13
16:43
конструктор пользовал?
5 Double_Medved
 
27.01.13
16:44
Не, мне тут так на форуме подсказали
6 Wobland
 
27.01.13
16:44
вообще-то тут две таблицы.
остатки левое цены по номенклатура=номенклатура и тип=тип1
левое цены по номенклатура=номенклатура и тип=тип2
(5) а ты попробуй
7 Double_Medved
 
27.01.13
16:48
Должно быть как-то так?:
ВЫБРАТЬ
   ТоварыНаСкладах.Номенклатура,
   ТоварыНаСкладах.Склад,
   ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
   ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних2.Цена, 0) КАК Цена2,
   ТоварыНаСкладах.ВНаличииОстаток
ИЗ
   РегистрНакопления.ТоварыНаСкладах.Остатки(&дата, Склад = &Склад) КАК ТоварыНаСкладах
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип) КАК ЦеныНоменклатурыСрезПоследних
       ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип) КАК ЦеныНоменклатурыСрезПоследних2
       ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатурыСрезПоследних2.Номенклатура
8 Wobland
 
27.01.13
16:52
ну пусть так. второй тип другой же?
9 Double_Medved
 
27.01.13
16:53
да
10 Double_Medved
 
27.01.13
16:54
просто я  про то как правильно пишется 2 левых соединения? просто подряд можно?
11 Wobland
 
27.01.13
16:55
(10) ещё можно конструктор позвать и спросить
12 Double_Medved
 
27.01.13
17:07
Я просто что-то не понял где в конструкторе делается соединение
13 Wobland
 
27.01.13
17:09
(12) связи
14 Double_Medved
 
27.01.13
17:25
Понял, спасибо