Имя: Пароль:
1C
1С v8
Выбрать строку с максимальным значением в колонке
,
0 r1000
 
24.04.17
14:34
Неким запросом получаю временную таблицу.
Задача теперь выбрать из это таблицы строки с максимальным значением в колонке "УровеньЭлемента".
Пытаюсь так:
ИМЕЮЩИЕ
тз.УровеньЭлемента = МАКСИМУМ(тз.УровеньЭлемента)

Но все равно выбираются все строки... Как одну строку оставить ?

http://s019.radikal.ru/i601/1704/22/9e0c37ddee04.png
1 cons74
 
24.04.17
14:36
сгруппировать по
2 Лефмихалыч
 
24.04.17
14:37
ВЫБРАТЬ Максимум(ТЗ.УровеньЭлемента) как УровеньЭлемента
ПОМЕСТИТЬ ВТМаксимум;
ВЫБРАТЬ * из ТЗ внутреннее соединение ВТМаксимум по ТЗ.УровеньЭлемента = ВТМаксимум.УровеньЭлемента
3 chelentano
 
24.04.17
14:38
Как-то так:

ВЫБРАТЬ
    тз.УровеньЭлемента
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
(ВЫБРАТЬ
    МАКСИМУМ(тз.УровеньЭлемента) КАК УровеньЭлемента ИЗ тз) КАК ВложенныйЗапрос ПО тз.УровеньЭлемента = ВложенныйЗапрос.УровеньЭлемента
4 Лефмихалыч
 
24.04.17
14:38
(1) вот в ПО-то как раз и дело
5 НЕА123
 
24.04.17
14:40
выбрать первые 1 .... упорядочить
6 r1000
 
24.04.17
15:00
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    тз.Ссылка,
    тз.БазовыТипЦен,
    МАКСИМУМ(тз.УровеньЭлемента) КАК УровеньЭлемента
ПОМЕСТИТЬ тз1
ИЗ
    тз КАК тз

СГРУППИРОВАТЬ ПО
    тз.Ссылка,
    тз.БазовыТипЦен
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    тз.Ссылка,
    тз.БазовыТипЦен,
    тз.УровеньЭлемента
ИЗ
    тз КАК тз
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ тз1 КАК тз1
        ПО тз.УровеньЭлемента = тз1.УровеньЭлемента
            И тз.Ссылка = тз1.Ссылка
7 r1000
 
24.04.17
15:01
И все равно выбираются все строки... чяднт ?
8 НЕА123
 
24.04.17
15:05
ВЫБРАТЬ Первые 1
    тз.Ссылка,
    тз.БазовыТипЦен,
    тз.УровеньЭлемента
ИЗ
    тз КАК тз
Упорядочить по     тз.УровеньЭлемента Убыв
9 программистище
 
24.04.17
15:08
ну из картинки же видно, что тз.БазовыТипЦен разный для этих строк
10 r1000
 
24.04.17
15:11
(8)У меня не одна номенклатура в таблице. В таблице много элементов номенклатуры и по каждой несколько строк с разным значением УровеньЭлемента. Нужно выбрать по одной максимальной строке.
11 Лефмихалыч
 
24.04.17
15:11
(7) группируешь ПО
12 r1000
 
24.04.17
15:11
(9)вот его и не нужно принимать во внимание. нужны строки с максимальным значением УровеньЭлемента.
13 r1000
 
24.04.17
15:12
(11)А как убрать ? без этого запрос не выполняется... и запросник подставляет сам.
14 программистище
 
24.04.17
15:13
ВЫБРАТЬ
    тз.Ссылка,
    тз.БазовыТипЦен,
    тз.УровеньЭлемента КАК УровеньЭлемента
ПОМЕСТИТЬ тз
ИЗ
    тз КАК тз
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    тз.Ссылка,
    МАКСИМУМ(тз.УровеньЭлемента) КАК УровеньЭлемента
ПОМЕСТИТЬ ВтМаксимум
ИЗ
    тз КАК тз

СГРУППИРОВАТЬ ПО
    тз.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВтМаксимум.Ссылка,
    ВтМаксимум.УровеньЭлемента,
    тз.БазовыТипЦен
ИЗ
    ВтМаксимум КАК ВтМаксимум
        ЛЕВОЕ СОЕДИНЕНИЕ тз КАК тз
        ПО ВтМаксимум.Ссылка = тз.Ссылка
            И ВтМаксимум.УровеньЭлемента = тз.УровеньЭлемента
15 r1000
 
24.04.17
15:18
понял. спасибо.
16 Basilio
 
24.04.17
15:20
(14) из второго запроса поле тз.Ссылка надо убрать, иначе опять будет (0)
17 программистище
 
24.04.17
15:33
(16) как потом с документом соединять будешь
18 r1000
 
24.04.17
16:04
странно. в запроснике результирующая таблица правильная.
А отчет СКД с тем же запросом, выводит совершенно другую таблицу. Все проверил, запросы одинаковые. что может быть ? Автозаполнение отключил.