Имя: Пароль:
1C
1С v8
Полное соединение в запросе не срабатывает. Почему?
0 Azmarika
 
21.08.14
13:38
Доброго времени суток! Подскажите пожалуйста, у меня есть две таблицы: справочник номенклатуры и документ в котором эта номенклатура отображается, и вот если документ найден, то все нормально, а если нет то запрос пустой, а мне надо чтобы одна строчка с номенклатурой стояла...никак не получается
ВЫБРАТЬ
    НоменклатураСпр.Ссылка,
    ПередачаДопМестаВыкладкиВАрендуСоставДопМест.ДопМестоВыкладки
ИЗ
    Справочник.Номенклатура КАК НоменклатураСпр
        ПОЛНОЕ СОЕДИНЕНИЕ Документ.ПередачаДопМестаВыкладкиВАренду.СоставДопМест КАК ПередачаДопМестаВыкладкиВАрендуСоставДопМест
        ПО (ИСТИНА)
ГДЕ
    НоменклатураСпр.Ссылка = &Номенклатура
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Номенклатура = &Номенклатура
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Ссылка.ДатаС <= &ДатаКон
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Ссылка.ДатаПо >= &ДатаКон
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Ссылка.Магазин = &склад
1 Defender aka LINN
 
21.08.14
13:39

ГДЕ
    НоменклатураСпр.Ссылка = &Номенклатура
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Номенклатура = &Номенклатура
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Ссылка.ДатаС <= &ДатаКон
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Ссылка.ДатаПо >= &ДатаКон
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Ссылка.Магазин = &склад

Полное, говоришь...
2 Apokalipsec
 
21.08.14
13:40
а мне надо чтобы одна строчка с номенклатурой стояла - может попробовать использовать левое?)
3 Azmarika
 
21.08.14
13:42
Ой, а что ни так? Мне же надо условия наложить на документ
4 Azmarika
 
21.08.14
13:42
Левое тоже ничего не меняет, второй день играюсь
5 Любопытная
 
21.08.14
13:44
И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Номенклатура = &Номенклатура

ВОт эта строка явно мешает. Как минимум.
6 Azmarika
 
21.08.14
13:46
Пробовала убрать, вся номенклатура вываливается
7 Любопытная
 
21.08.14
13:47
(6) дык тебе ж с номенклатурой надо. Разве нет?
8 Любопытная
 
21.08.14
13:47
Вообще не поняла, что где соединяется.
9 sf
 
21.08.14
13:47
(4)(6) в (0) вообще не нужно соединение. можно из "Документ.ПередачаДопМестаВыкладкиВАренду.СоставДопМест" выбрать
10 Azmarika
 
21.08.14
13:47
Мне только одна номенклатура нужна, а не весь справочник (
11 Azmarika
 
21.08.14
13:48
Просто у меня этих документов десять штук, и я хотела их объединить в одну строку по номенклатуре
12 Azmarika
 
21.08.14
13:49
В смысле, разных видов документов
13 Любопытная
 
21.08.14
13:49
ВЫБРАТЬ
    &Номенклатура,
    ПередачаДопМестаВыкладкиВАрендуСоставДопМест.ДопМестоВыкладки
ИЗ
   Документ.ПередачаДопМестаВыкладкиВАренду.СоставДопМест КАК ПередачаДопМестаВыкладкиВАрендуСоставДопМест
ГДЕ
  ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Номенклатура = &Номенклатура
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Ссылка.ДатаС <= &ДатаКон
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Ссылка.ДатаПо >= &ДатаКон
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Ссылка.Магазин = &склад
14 Любопытная
 
21.08.14
13:49
хотя так ничего не вернет, если документа нет
15 Azmarika
 
21.08.14
13:50
13, ага ничего не возвращает
16 Azmarika
 
21.08.14
13:51
Причем с регистрами все нормально проходит, а с документами какая-то ерунда
17 Любопытная
 
21.08.14
13:52
(16) да нет никакой ерунды, все логично.
18 hhhh
 
21.08.14
13:54
(16)

ПОЛНОЕ СОЕДИНЕНИЕ Документ.ПередачаДопМестаВыкладкиВАренду.СоставДопМест КАК ПередачаДопМестаВыкладкиВАрендуСоставДопМест
        ПО
    НоменклатураСпр.Ссылка = &Номенклатура
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Номенклатура = &Номенклатура
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Ссылка.ДатаС <= &ДатаКон
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Ссылка.ДатаПо >= &ДатаКон
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Ссылка.Магазин = &склад
19 Azmarika
 
21.08.14
13:54
17, а я не понимаю логики (
20 Любопытная
 
21.08.14
13:55
(19) ну так нет документа по твоим условиям. ВОт и не выводится.
21 hhhh
 
21.08.14
13:56
(19) по логике ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Номенклатура = NULL

по-вашей логике что даст выражение

ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Номенклатура = &Номенклатура ??

Истина или Ложь?
22 Azmarika
 
21.08.14
13:59
21, даст ложь, она мне и нужна в результате, номенклатура-ложь по этому документу, а по другому она прошла
23 Azmarika
 
21.08.14
14:00
18, запрос завис, что-то считает тщательно
24 hhhh
 
21.08.14
14:02
(22) это называется ВНУТРЕННЕЕ СОЕДИНЕНИЕ. Когда и

НоменклатураСпр.Ссылка = &Номенклатура
    И ПередачаДопМестаВыкладкиВАрендуСоставДопМест.Номенклатура = &Номенклатура
25 hhhh
 
21.08.14
14:03
(22) ну по другому документу значит склад не совпадает. Или даты.
26 Azmarika
 
21.08.14
14:06
Проблема в том, что другие документы двигают регистры, и если в регистре нет информации, то выводится ноль, а по этому документу регистр не формируется, а ноль по пустому документу никак не могу вывести
27 GenAcid
 
21.08.14
14:07
Все не читал, попробую вангануть:

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

Можно добавить последнее условие в условие соединения, по вкусу.
28 1sanekmaloi1
 
21.08.14
14:08
1.Вт выбрать из справошника
2.ВТ выбрать из дока с условиями
3. по вкусу соединять или объединять как нужно
29 Azmarika
 
21.08.14
14:12
27, большое человеческое спасибо!!! Идеально.
30 Simod
 
21.08.14
14:29
(27) Лучше в условие соединения. Еще лучше выборку из справочника в ВТ.