Имя: Пароль:
1C
 
Пустое значение
0 Voblhned
 
10.07.17
12:50
Подскажите, как сделать ЕстьNULL что бы он работал?

ВЫБРАТЬ
    УлетевшиеТуристыОбороты.ОбщаяКомиссияОборот КАК ОбщаяКомиссияОборот,
    УлетевшиеТуристыОбороты.КомиссияМенеджераОборот КАК КомиссияМенеджераОборот,
    ЕстьNULL(РасходыОбороты.СуммаОборот, 0) КАК СуммаОборот
ИЗ
    РегистрНакопления.УлетевшиеТуристы.Обороты КАК УлетевшиеТуристыОбороты,
    РегистрНакопления.Расходы.Обороты КАК РасходыОбороты
ГДЕ
    УлетевшиеТуристыОбороты.ТипОплаты = ЗНАЧЕНИЕ(Перечисление.ТипОплаты.Безналичный)
    И РасходыОбороты.ТипОплаты = ЗНАЧЕНИЕ(Перечисление.ТипОплаты.Безналичный)

не работает
1 Ёпрст
 
10.07.17
12:52
А что должно работать ?
И зачем тебе кросс джоин в этом запросе ?
2 Ёпрст
 
10.07.17
12:52
И откуда там NULL возьмётся?
3 LordCMEPTb
 
10.07.17
12:53
Сделай полное соединение, перемести условия из ГДЕ в соединения таблиц ПО...
4 LordCMEPTb
 
10.07.17
12:55
Но на будущее, лучше решать задачи оптимально, а не из расчета "Цель оправдывает средства".
Эт я к тому, что условия из ГДЕ, скорее всего, надо просто в параметры виртуальных таблиц закинуть, да указать периоды отбора.
5 Voblhned
 
10.07.17
12:59
Окей, тут тоже не работает

ВЫБРАТЬ
    УлетевшиеТуристыОбороты.ОбщаяКомиссияОборот КАК ОбщаяКомиссияОборот,
    УлетевшиеТуристыОбороты.КомиссияМенеджераОборот КАК КомиссияМенеджераОборот,
    NULL КАК СуммаОборот
ИЗ
    РегистрНакопления.УлетевшиеТуристы.Обороты КАК УлетевшиеТуристыОбороты
ГДЕ
    УлетевшиеТуристыОбороты.ТипОплаты = ЗНАЧЕНИЕ(Перечисление.ТипОплаты.Безналичный)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    NULL,
    NULL,
    РасходыОбороты.СуммаОборот
ИЗ
    РегистрНакопления.Расходы.Обороты КАК РасходыОбороты
6 Ёпрст
 
10.07.17
13:00
(5) Зачем пихать NULL  в числовое поле, заняться нечем ?
7 Voblhned
 
10.07.17
13:00
фишка в том, что табличка выходит таким методом, НО!

далее идем в Вычисляемые поля и пишем:

ОбщаяКомиссияОборот-КомиссияМенеджераОборот-СуммаОборот

И в итоге пустота в графе ИТОГ.
8 Ёпрст
 
10.07.17
13:01
0 - ноль туда пихай.
9 Voblhned
 
10.07.17
13:51
то конкретных подсказок, как такое делается, вы не знаете?
Птому что как только где то возникает пустое значение, так сразу таблица пустая, в общем херь какая то, в описаниях вообще пустатота
10 Ёпрст
 
10.07.17
13:52
(9) замени null на 0, что кажет твой запрос ?
11 Ёпрст
 
10.07.17
13:53
>>>" как такое делается, вы не знаете? "

Что именно делается ?
13 Лефмихалыч
 
10.07.17
13:55
зачетный регистр


улётный
http://cs9.pikabu.ru/post_img/2017/04/20/9/149270188516054147.jpg
14 Voblhned
 
10.07.17
13:58
(11) да но там с-ка не NULL он вообще хер пойми че там!
15 Лефмихалыч
 
10.07.17
13:59
(14) ты сначала скажи, что именно ты хочешь получить и зачем
16 Voblhned
 
10.07.17
14:04
(15) все довольно просто. есть 2 регистра в 1м 2 числа в другом 1.

вывести табличку, 1 2 3 Итог

итог = 1 - 2 -3, так вот хрень в чем, вывести табличку не вопрос, но если 1го числа нету, то вся таблица пропадает.
17 Лефмихалыч
 
10.07.17
14:07
объединение используй, а не соединение
18 Ёпрст
 
10.07.17
14:09
(16) Выплюнь кашу-то.

Кто-куда пропадает и где ?
Этот запрос чего возвращает ?


Выбрать

Табличка.ОбщаяКомиссияОборот-Табличка.КомиссияМенеджераОборот-Табличка.СуммаОборот как ТвояХрень

ИЗ
(

ВЫБРАТЬ
    УлетевшиеТуристыОбороты.ОбщаяКомиссияОборот КАК ОбщаяКомиссияОборот,
    УлетевшиеТуристыОбороты.КомиссияМенеджераОборот КАК КомиссияМенеджераОборот,

    0 КАК СуммаОборот

ИЗ
    РегистрНакопления.УлетевшиеТуристы.Обороты КАК УлетевшиеТуристыОбороты

ГДЕ
    УлетевшиеТуристыОбороты.ТипОплаты = ЗНАЧЕНИЕ(Перечисление.ТипОплаты.Безналичный)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    0,
    0,
    РасходыОбороты.СуммаОборот

ИЗ
    РегистрНакопления.Расходы.Обороты КАК РасходыОбороты
ГДЕ
    РасходыОбороты.ТипОплаты = ЗНАЧЕНИЕ(Перечисление.ТипОплаты.Безналичный)


) как Табличка
19 Voblhned
 
10.07.17
14:15
(17) Табличка.ОбщаяКомиссияОборот - Табличка.КомиссияМенеджераОборот - Табличка.СуммаОборот КАК ТвояХрень

Это можно как в запросе посчитать так и в Вычисляемых полях(скд), как правильнее?
20 Ёпрст
 
10.07.17
14:17
(19) у тя еще и скд ? :)
21 Ёпрст
 
10.07.17
14:18
для начала, скажи, что запрос, например, в консоли выводит ?
22 Voblhned
 
10.07.17
14:18
(20) итог выглядит так
https://yadi.sk/i/9MgSaoV13KueVQ
23 Лефмихалыч
 
10.07.17
14:21
(22) сугрппировать по и СУММА
24 Voblhned
 
10.07.17
14:27
(23)
Так?
ВЫБРАТЬ
    СУММА(Табличка.ОбщаяКомиссияОборот - Табличка.КомиссияМенеджераОборот - Табличка.СуммаОборот) КАК ТвояХрень,
    СУММА(Табличка.ОбщаяКомиссияОборот) КАК ОбщаяКомиссияОборот,
    СУММА(Табличка.КомиссияМенеджераОборот) КАК КомиссияМенеджераОборот,
    СУММА(Табличка.СуммаОборот) КАК СуммаОборот
ИЗ
    (ВЫБРАТЬ
        УлетевшиеТуристыОбороты.ОбщаяКомиссияОборот КАК ОбщаяКомиссияОборот,
        УлетевшиеТуристыОбороты.КомиссияМенеджераОборот КАК КомиссияМенеджераОборот,
        0 КАК СуммаОборот
    ИЗ
        РегистрНакопления.УлетевшиеТуристы.Обороты КАК УлетевшиеТуристыОбороты
    ГДЕ
        УлетевшиеТуристыОбороты.ТипОплаты = ЗНАЧЕНИЕ(Перечисление.ТипОплаты.Безналичный)
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        0,
        0,
        РасходыОбороты.СуммаОборот
    ИЗ
        РегистрНакопления.Расходы.Обороты КАК РасходыОбороты
    ГДЕ
        РасходыОбороты.ТипОплаты = ЗНАЧЕНИЕ(Перечисление.ТипОплаты.Безналичный)) КАК Табличка
25 Лефмихалыч
 
10.07.17
14:34
да, если тебе только суммы нужны
26 Voblhned
 
10.07.17
14:38
(25) да мне только обороты нужны и итоги
27 h-sp
 
10.07.17
16:49
(26) итоги выкинь сразу. В скд задашь галочками. Запрос не надо ими засорять.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн