Имя: Пароль:
1C
1С v8
МАКСИМУМ(ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0))
0 Klesk666
 
23.10.14
14:38
выдает пустое значение в некоторых строках, подскажите как правильно сделать

Запрос:

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

СГРУППИРОВАТЬ ПО
    ИсходныеДанныеПоследнийЗапрос.Номенклатура,
    ИсходныеДанныеПоследнийЗапрос.Характеристика,
    Ассортимент.ОбъектПланирования

УПОРЯДОЧИТЬ ПО
    ИсходныеДанныеПоследнийЗапрос.Номенклатура.Наименование
1 mehfk
 
23.10.14
14:40
Что подразумевается под "пустое значение в некоторых строках" ?
2 Klesk666
 
23.10.14
14:43
(1)
не 0
3 Жан Пердежон
 
23.10.14
14:49
а без { }?
4 saaken
 
23.10.14
14:52
через временную. Сначала получи максимум, а потом соединяй с ИсходныеДанныеПоследнийЗапрос
5 Klesk666
 
23.10.14
15:20
а все таки почему

МАКСИМУМ(ВЫБОР
            КОГДА ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) > 0
                ТОГДА ТоварыНаСкладахОстатки.ВНаличииОстаток
            ИНАЧЕ 0
        КОНЕЦ) КАК ОстатокНаСкладе

должно же число получиться
6 Ёпрст
 
23.10.14
15:24
где ты видишь, что в строках "пусто", а не 0 ?
:)))))))))))))))))))))))))))))))))))))))))))))))))))))))
7 ssh2QQ6
 
23.10.14
15:24
(5) там же левое соединение, вполне null может быть
8 Ёпрст
 
23.10.14
15:25
(5) там число и получается, всегда
9 Ёпрст
 
23.10.14
15:25
Чем ты сммотришь результат, для начала ?
10 Жан Пердежон
 
23.10.14
15:28
(5) что у тебя получается, если заменить на

0 КАК ОстатокНаСкладе
11 Klesk666
 
23.10.14
15:28
(9)консоль запросов
12 Ёпрст
 
23.10.14
15:30
(11) :)

0 там всегда как "пусто" , если че
Но можно и формат поставить - чтоб прям явно 0 рисовал тебе.
13 Klesk666
 
23.10.14
15:33
(12)  понял, спасибо, просто там где этот запрос используется не выбирает позиции =0