Имя: Пароль:
1C
1С v8
Как при количестве различных =1 отобразить аргумент?
0 vasmedv
 
15.04.14
10:36
Есть запрос :
<code>
ВЫБРАТЬ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Номенклатурная.Номенклатура) КАК Номенклатура,
        Общая1.Номенклатура КАК Номенклатура1,
    Общая1.Характеристика
ИЗ
    Общая1 КАК Общая1
        ЛЕВОЕ СОЕДИНЕНИЕ Номенклатурная КАК Номенклатурная
        ПО (Общая1.СырьеТолщЗначение = Номенклатурная.ЗначениеНоменклатурыТощина
                ИЛИ Общая1.СырьеТолщЗначение = Номенклатурная.ЗначениеНоменклатурыЦвет)
   СГРУППИРОВАТЬ ПО
    Общая1.Номенклатура,
    Общая1.Характеристика
    АВТОУПОРЯДОЧИВАНИЕ
</code>
который показывает сколько номенклатур из номенклатурной приходится на номенклатуру из общей1. Как к этому добавить Номенклатурная.Номенклатура при условии количество различных =1
и иначе null?
1 Wobland
 
15.04.14
10:39
выбор когда?
2 Wobland
 
15.04.14
10:39
ещё можно имеющие, если остальные не нужны...
3 GANR
 
15.04.14
10:42
(0) безумно просто
4 vasmedv
 
15.04.14
11:01
При выборе когда неправильно считает количество различные.
Всегда 1. и количество строк в результате 1455 вместо 106.
ВЫБРАТЬ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Номенклатурная.Номенклатура) КАК Номенклатура,
    Общая1.Номенклатура КАК Номенклатура1,
    Общая1.Характеристика,
    ВЫБОР
        КОГДА КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Номенклатурная.Номенклатура) = 1
            ТОГДА Номенклатурная.Номенклатура
        ИНАЧЕ 0
    КОНЕЦ КАК Поле1
ИЗ
    Общая1 КАК Общая1
        ЛЕВОЕ СОЕДИНЕНИЕ Номенклатурная КАК Номенклатурная
        ПО (Общая1.СырьеТолщЗначение = Номенклатурная.ЗначениеНоменклатурыТощина
                ИЛИ Общая1.СырьеТолщЗначение = Номенклатурная.ЗначениеНоменклатурыЦвет)

СГРУППИРОВАТЬ ПО
    Общая1.Номенклатура,
    Общая1.Характеристика,
    Номенклатурная.Номенклатура
АВТОУПОРЯДОЧИВАНИЕ
5 Enders
 
15.04.14
11:07
ВЫБРАТЬ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Номенклатурная.Номенклатура) КАК Номенклатура,
        Общая1.Номенклатура КАК Номенклатура1,
    Общая1.Характеристика,
Максимум(Номенклатурная.Номенклатура) как Ном
Поместить Итог
ИЗ
    Общая1 КАК Общая1
        ЛЕВОЕ СОЕДИНЕНИЕ Номенклатурная КАК Номенклатурная
        ПО (Общая1.СырьеТолщЗначение = Номенклатурная.ЗначениеНоменклатурыТощина
                ИЛИ Общая1.СырьеТолщЗначение = Номенклатурная.ЗначениеНоменклатурыЦвет)
   СГРУППИРОВАТЬ ПО
    Общая1.Номенклатура,
    Общая1.Характеристика
    АВТОУПОРЯДОЧИВАНИЕ
;
Выбрать
Итог.Номенклатура1,
Итог.Характеристика,
Выбор когда Итог.Номенклатура= 1 Тогда
Итог.Ном
Иначе
0
Конец как Номенклатура
Из Итог как Итог
6 vasmedv
 
16.04.14
05:47
Спасибо. Сделал через Максимум(Номенклатурная.Номенклатура).

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

СГРУППИРОВАТЬ ПО
    Общая1.Номенклатура,
    Общая1.Характеристика
АВТОУПОРЯДОЧИВАНИЕ