Имя: Пароль:
1C
1С v8
Как получить последнее значение записи по колонке
0 Norbertano
 
06.10.14
17:08
Приветствую. Уже ломаю голову полчаса. Результатом запроса есть таблица такого вида.
Склад    Номенклатура    Количество    Дата    Период
Склад на Нивках    Аератор ПВХ d=75mm    104    31.12.2012 0:00    05.08.2014
Склад на Нивках    Аератор ПВХ d=75mm    90    02.07.2014    05.08.2014
Склад на Нивках    Аератор ПВХ d=75mm    82    08.07.2014    05.08.2014
Склад на Нивках    Аератор ПВХ d=75mm    182    18.07.2014    05.08.2014
Склад на Нивках    Аератор ПВХ d=75mm    172    28.07.2014    05.08.2014
Склад на Нивках    Аератор ПВХ d=75mm    104    31.12.2012    04.09.2014
Склад на Нивках    Аератор ПВХ d=75mm    78    05.03.2013    04.09.2014
Склад на Нивках    Аератор ПВХ d=75mm    69    26.03.2013    04.09.2014
Склад на Нивках    Аератор ПВХ d=75mm    212    29.08.2014    04.09.2014
Склад на Нивках    Аератор ПВХ d=75mm    204    02.09.2014    04.09.2014
Склад на Нивках    Аератор ПВХ d=75mm    199    03.09.2014    04.09.2014
Склад на Нивках    Аератор ПВХ d=75mm    104    31.12.2012    04.10.2014
Склад на Нивках    Аератор ПВХ d=75mm    78    05.03.2013    04.10.2014
Склад на Нивках    Аератор ПВХ d=75mm    133    24.09.2014    04.10.2014
Склад на Нивках    Аератор ПВХ d=75mm    131    26.09.2014    04.10.2014
Склад на Нивках    Аератор ПВХ d=75mm    119    01.10.2014    04.10.2014

Как получить последнее значение записи по колонке "Период"?
Склад на Нивках    Аератор ПВХ d=75mm    172    28.07.2014    05.08.2014
Склад на Нивках    Аератор ПВХ d=75mm    199    03.09.2014    04.09.2014
Склад на Нивках    Аератор ПВХ d=75mm    119    01.10.2014    04.10.2014
1 Euguln
 
06.10.14
17:09
МАКСИМУМ и соединить с исходной таблицей.
2 Norbertano
 
06.10.14
17:11
в том то и дело,что использую МАКСИМУМ, а получаю ерунду
3 Я сказал
 
06.10.14
17:18
ИТОГИ ПО ОБЩИЕ
МАКСИМУМ ИсточникДанных.Период

Так не?
4 Я сказал
 
06.10.14
17:19
* МАКСИМУМ(ИсточникДанных.Период) (3)
5 Norbertano
 
06.10.14
17:29
ВЫБРАТЬ
    &КонецПериода КАК Период
ПОМЕСТИТЬ Даты

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

ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(&КонецПериода, ДЕНЬ, -30)

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

ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(&КонецПериода, ДЕНЬ, -60)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВЗ.Период,
    ВЗ.Склад,
    ВЗ.Номенклатура,
    ВЗ.Количество
ИЗ
    (ВЫБРАТЬ
        МАКСИМУМ(Даты.Период) КАК Период,
        Обороты.Склад КАК Склад,
        Обороты.Номенклатура КАК Номенклатура,
        Обороты.КоличествоКонечныйОстаток КАК Количество
    ИЗ
        РегистрНакопления._ОстаткиТоваров.ОстаткиИОбороты(, , День, , ) КАК Обороты
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ Даты КАК Даты
            ПО (Даты.Период <= Обороты.Период)
    ГДЕ
        Обороты.Номенклатура = &Номенклатура
        И Обороты.Склад = &Склад
    
    СГРУППИРОВАТЬ ПО
        Обороты.Склад,
        Обороты.Номенклатура,
        Обороты.КоличествоКонечныйОстаток) КАК ВЗ
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Даты КАК Даты
        ПО ВЗ.Период = Даты.Период
6 Euguln
 
06.10.14
17:32
Это надо загнать в ВТ:
ВЫБРАТЬ
        Даты.Период КАК Период,
        Обороты.Склад КАК Склад,
        Обороты.Номенклатура КАК Номенклатура,
        Обороты.КоличествоКонечныйОстаток КАК Количество
    ИЗ
        РегистрНакопления._ОстаткиТоваров.ОстаткиИОбороты(, , День, , ) КАК Обороты
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ Даты КАК Даты
            ПО (Даты.Период <= Обороты.Период)
    ГДЕ
        Обороты.Номенклатура = &Номенклатура
        И Обороты.Склад = &Склад

А потом прогнать через МАКСИМУМ и соединить с ВТ.
7 Norbertano
 
06.10.14
17:40
По порядку
выделенный сегмент помещаю в ВТ №2
прогоняю через МАКСИМУМ и соединяю с ВТ №1
Верно?
8 Enders
 
06.10.14
17:40
(0)
1.Поместить эту таблицу в ВТ
2. Сгруппировать по Склад,Товар,Период. Дату в Максимум, количество выкинуть. Поместить в ВТ1
3. Соединить ВТ1 с ВТ по Складу, Товару, Периоду,Дате. Вытащить из ВТ кол-во
9 Norbertano
 
06.10.14
17:42
(8) спасибо, буду пробывать