Имя: Пароль:
1C
1С v8
левое соединение в скд
0 nVoRoN
 
18.10.12
12:44
выполняю вот такой запрос

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   втПервички.Посредник,
   втПервички.ПоставщикУслуги,
   втПервички.СчетПоставщика,
   втПервички.ПапкаРейса,
   втПервички.ДатаПервички,
   втПервички.НомерПервички,
   втПервички.Сумма,
   втПервички.Валюта,
   втПервички.КодПосадки,
   Выставление.Регистратор КАК ВыставленВСчете
ИЗ
   втПервички КАК втПервички
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Выставление КАК Выставление
       ПО втПервички.СчетПоставщика.Ссылка = Выставление.Первичка.Ссылка
ГДЕ
   Выставление.ВидДвижения = Значение(ВидДвиженияНакопления.Приход)
[/code]

но левого соединения не происходит, выводятся записи как будто полное соединение
если не производить соединения, записей возвращается больше

помогите разобраться в чем дело
1 AaNnDdRrEeYy
 
18.10.12
12:48
больще потому что в регистре "Выставление" записей по одному регистратору больще чем одна.
попробуй так

ВЫБРАТЬ Различные
   Выставление.Клиент КАК Посредник,
   Выставление.Агент КАК ПоставщикУслуги,
   Выставление.Регистратор КАК СчетПоставщик
2 Homer
 
18.10.12
12:49
условие
ГДЕ
   Выставление.ВидДвижения = Значение(ВидДвиженияНакопления.Приход)
убери
3 Axel2009
 
18.10.12
12:49
(0) и как же определил, что полное соединение?
4 nVoRoN
 
18.10.12
12:51
в варианте без соединения выдает и так различные

проблема в том что при соединении происходит не левое, а полное соединение (в присоединяемой таблице нет пустых полей, а должны быть)
5 GLazNik
 
18.10.12
12:52
(0) условие по виду движения перенеси в соединение. оно то и делает внутреннее соединение (а не полное)
6 Axel2009
 
18.10.12
12:54
(4) учить мат.часть очень надо. чтобы понимать что такое полное и что такое внутреннее
7 nVoRoN
 
18.10.12
12:57
GLazNik

спасибо помогло!
8 Жан Пердежон
 
18.10.12
12:57
(4) у тебя все пустые отбрасываются по условию в ГДЕ