Имя: Пароль:
1C
1С v8
Запрос. Левое соединение.
,
0 golden-pack
 
15.02.12
10:02
Помогите мне ламеру. Есть два запроса - они выдают разные данные.
1c 8.2.14

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

Запрос2:
  ВЫБРАТЬ
      ТоварыНаСкладахОбороты.Номенклатура,
      ТоварыНаСкладахОбороты.ХарактеристикаНоменклатуры,
      ТоварыНаСкладахОбороты.СерияНоменклатуры,
      ТоварыНаСкладахОбороты.КоличествоПриход - ТоварыНаСкладахОбороты.КоличествоРасход КАК Приход,
      ТоварыНаСкладахОбороты.КоличествоРасход КАК Расход,
      СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка КАК СпецификацииНоменклатуры,
      СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка.КодВерсии
     ИЗ
      РегистрНакопления.рат_Товары_МС.Обороты(
        &ДатаНачала,
        КОНЕЦПЕРИОДА(&ДатаКонец,ДЕНЬ) ,
        ,
        Склад = &Склад
         И Номенклатура.НоменклатурнаяГруппа = &НоменклатурнаяГруппа) КАК ТоварыНаСкладахОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие
       ПО ТоварыНаСкладахОбороты.Номенклатура = СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура
        И ТоварыНаСкладахОбороты.ХарактеристикаНоменклатуры.Ссылка = СпецификацииНоменклатурыИсходныеКомплектующие.ХарактеристикаНоменклатуры.Ссылка
1 golden-pack
 
15.02.12
10:04
Оба запроса выводят двсе строчки.

Запрос1: с заполненным полем "СпецификацииНоменклатуры"

Запрос2: без заполненного поля  "СпецификацииНоменклатуры"
2 НЕА123
 
15.02.12
10:05
ТоварыНаСкладахОбороты.ХарактеристикаНоменклатуры.Ссылка может дать NULL
3 golden-pack
 
15.02.12
10:05
Условие в запросе1:
ТоварыНаСкладахОбороты.ХарактеристикаНоменклатуры = СпецификацииНоменклатурыИсходныеКомплектующие.ХарактеристикаНоменклатуры

Условие в запросе2:
ТоварыНаСкладахОбороты.ХарактеристикаНоменклатуры.Ссылка = СпецификацииНоменклатурыИсходныеКомплектующие.ХарактеристикаНоменклатуры.Ссылка

".Ссылка"
4 Wobland
 
15.02.12
10:05
(1) ходи в параметры
5 golden-pack
 
15.02.12
10:06
(4) параметры одинаковые. В первом запросе выводится двсе строчки с заполненным полем Характеристика, а во втором - где условие в соединении ".Ссылка" - двсе строчки с пустой характеристикой
6 golden-pack
 
15.02.12
10:07
(2)ТоварыНаСкладахОбороты.ХарактеристикаНоменклатуры тоже может дать NULL
7 НЕА123
 
15.02.12
10:10
(6)
разве?
8 golden-pack
 
15.02.12
10:11
(7) точно ... не может. Мопед не мой просто).
9 НЕА123
 
15.02.12
10:13
в (2) речь о том, что не будет выполняться условие при пустых и битых ссылках.
10 golden-pack
 
15.02.12
10:14
(9) Я понял. Там NULL, то есть удалили без проверки ссылочной целосности. Спасибо!
11 dk
 
15.02.12
10:23
выведи в запрос
ТоварыНаСкладахОбороты.ХарактеристикаНоменклатуры.Ссылка
и
ТоварыНаСкладахОбороты.ХарактеристикаНоменклатуры
и посмотри что там будет
12 golden-pack
 
15.02.12
10:28
(11) Я уже понял. Никто ничего не удалял, битых ссылок нет.

Если ТоварыНаСкладахОбороты.ХарактеристикаНоменклатуры = Пустая ССЫлка, то ТоварыНаСкладахОбороты.ХарактеристикаНоменклатуры.Ссылка есть Null
13 golden-pack
 
15.02.12
10:29
Опять NULL Неопределено и пустая ссылка
14 НЕА123
 
15.02.12
10:33
а чем первый запрос не устраивает?
15 НЕА123
 
15.02.12
10:34
(14)
хотя да, при незаполненных куйня получится.
16 golden-pack
 
15.02.12
10:35
(14) коллеги по работе задали вопрос - в чем разница между двумя запросами. Я всегда соединения не задумываясь пишу без .Ссылка) Теперь буду понимать в чем разница)
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан