Имя: Пароль:
1C
1С v8
Почему ДокументДвижения = NULL
,
0 СвинТуз
 
01.07.14
12:39
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Перв.Номенклатура КАК Номенклатура,
    Перв.ОстатокРег КАК ОстатокРег,
    Перв.ОстатокУпр КАК ОстатокУпр,
    ЕСТЬNULL(ДвУпр.КПУ, 0) КАК КПУ,
    ЕСТЬNULL(ДвУпр.КРУ, 0) КАК КРУ,
    ЕСТЬNULL(Перв.КПР, 0) КАК КПР,
    ЕСТЬNULL(Перв.КРР, 0) КАК КРР,
    ЕстьNull(Перв.Регистратор,ДвУпр.Регистратор) КАК ДокументДвижения
    
ИЗ
    Перв КАК Перв
        ПОЛНОЕ СОЕДИНЕНИЕ ДвУпр КАК ДвУпр
        ПО Перв.Номенклатура = ДвУпр.Номенклатура
            И Перв.Регистратор = ДвУпр.Регистратор

УПОРЯДОЧИТЬ ПО
    Номенклатура,
    ДвУпр.Регистратор.Дата
ИТОГИ
    МАКСИМУМ(ОстатокРег),
    МАКСИМУМ(ОстатокУпр),
    СУММА(КПУ),
    СУММА(КРУ),
    СУММА(КПР),
    СУММА(КРР)
ПО
    Номенклатура
1 СвинТуз
 
01.07.14
12:40
во временной таблице ДвУпр.Регистратор имеет реальное значение
2 Господин ПЖ
 
01.07.14
12:41
а почему нет?
3 Maxus43
 
01.07.14
12:42
оба null не могут быть в обоих таблицах?
4 СвинТуз
 
01.07.14
12:42
(2)
так стоит же проверка?
что то не то делаю?
5 Господин ПЖ
 
01.07.14
12:42
6 СвинТуз
 
01.07.14
12:42
(3)
нет во второй не null
7 Maxus43
 
01.07.14
12:44
Перв.Номенклатура КАК Номенклатура,
    Перв.ОстатокРег КАК ОстатокРег,
    Перв.ОстатокУпр КАК ОстатокУпр,
    ЕСТЬNULL(ДвУпр.КПУ, 0) КАК КПУ,
    ЕСТЬNULL(ДвУпр.КРУ, 0) КАК КРУ,
    ЕСТЬNULL(Перв.КПР, 0) КАК КПР,
    ЕСТЬNULL(Перв.КРР, 0) КАК КРР,
    ЕстьNull(Перв.Регистратор,ДвУпр.Регистратор) КАК ДокументДвижения,
Перв.Регистратор КАК П,
ДвУпр.Регистратор КАК ДВУ

так сделай, что увидишь?
8 Maxus43
 
01.07.14
12:44
отдельно поля вытащи ещё короче, без есть null
9 СвинТуз
 
01.07.14
12:44
(5)
спс но азы я лет 10 назад на фокспро проходил
10 СвинТуз
 
01.07.14
12:48
(7)
два Null
в ДвУпр с регистратором все нормально
11 Господин ПЖ
 
01.07.14
12:49
(9) пора вспомнить судя по всему... full join особо доставляет
12 СвинТуз
 
01.07.14
12:51
(11)
я всем расскажу до чего довел эту планету господин ПЖ

по существу то что?
13 СвинТуз
 
01.07.14
12:52
(11)
или умные фразы не о чем?
14 Господин ПЖ
 
01.07.14
12:52
(12) перемножил, получил нулы, что надо то теперь...
15 СвинТуз
 
01.07.14
12:54
(12)
я то все равно ободу ...
хотелось бы просто более умное чем я знаю сам услышать

где перемножил? Вы вообще запрос смотрели?
Про умножение множеств ? Ну стоит у меня ЕстьNULL().
Не работает она в этом случае?
16 СвинТуз
 
01.07.14
12:56
проблема не в этом
оно вообще не присоединяется
у меня такое ощущение
17 Maxus43
 
01.07.14
12:57
(15) естьNull работает, но ты сам сказал что у тебя Оба Null, дак что ты хочешь увидеть после ЕстьNull?
Полное соединение.
Значит к Null первой таблицы - есно "цепляется" null из "второй", мбо там его нет
18 СвинТуз
 
01.07.14
12:57
просто строка с NULL в условии сравнения игнорится
19 СвинТуз
 
01.07.14
12:58
(17)
у меня второй не NULL
до присоединения
после присоединения NULL
20 СвинТуз
 
01.07.14
12:59
строка не присоединяется
тип в регистраторе составной
21 Maxus43
 
01.07.14
13:00
(19) Первый что?
ПОЛНОЕ соединение - это когда ВСЕ записи из первой таблицы, и ВСЕ из второй
22 Maxus43
 
01.07.14
13:00
Внутренее - только совпадающие по полям соединений.
Это ж арифметика
23 hhhh
 
01.07.14
13:01
(19) у вас

ИТОГИ
  
ПО
    Номенклатура

верхний уровень Номенклатура, в нем остальные поля NULL. Включайте уже голову.
24 СвинТуз
 
01.07.14
13:03
(21)
я так понимаю в самом синтаксисе ошибок нет?
я все что вы говорите понимаю
только почему то строка в которой документ в первой таблице налл (она должна подхватить из правой таблицы строку с регистратором не налл)
остается не тронутая, не присоединяется ничего
25 СвинТуз
 
01.07.14
13:04
(23)
)
увы без итогов то же самое
26 Господин ПЖ
 
01.07.14
13:06
>где перемножил?

в караганде... full join
27 Maxus43
 
01.07.14
13:07
(24) в которой документ в первой таблице налл (она должна подхватить из правой таблицы строку с регистратором не налл)

Да с чего? Это поле как условие Соединения, поля не совпадают - никто не должен ничего подхватывать. оба будут Null
28 Maxus43
 
01.07.14
13:07
по номенклатуре только соедини - будет тебе не null во второй
29 hhhh
 
01.07.14
13:09
(24) остаток на начало и остаток на конец всегда идут без регистратора.
30 СвинТуз
 
01.07.14
13:10
(26)
довели планету?

ладно ребята я устал
для себя я вывод сделал
что есть такая фича
у кого есть желание копайтесь
я обошел же обошел , есть много способов сделать запрос.
31 Maxus43
 
01.07.14
13:11
(30) по слогам прочитай (27), это не фича, всё правильно работает
32 СвинТуз
 
01.07.14
13:13
(31)
ну вот я и обошел
я получил что хотел ...

http://www.youtube.com/watch?v=zUrrMK_enF8
33 Drac0
 
01.07.14
13:16
А вообще лучше использовать ОБЪЕДИНИТЬ ВСЕ и Группировку. И быстрее и надежнее.
34 СвинТуз
 
01.07.14
13:17
(33)
можно и по другому
35 Maxus43
 
01.07.14
13:17
(32) ничо не понял, ну да ладно. По сабжу - всё правильно
Закон Брукера: Даже маленькая практика стоит большой теории.