Здравствуйте!
Знаю,тема немного избита.. но все же:
как получить запросом последнюю строку табличной части документа??
делаю так и получаю только 1-ю строку

```1c
    ВЫБРАТЬ
    Док.Сотрудник КАК Сотрудник,
    ДокТЗ.Начисление.Наименование КАК НовОплата
    ИЗ
    Документ.Док КАК Док
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.Док.ТЗ КАК ДокТЗ
    ПО Док.Ссылка = ДокТЗ.Ссылка
    И (ДокТЗ.НомерСтроки = 1)
    ГДЕ
    Док.Подразделение В ИЕРАРХИИ(&Подразделение)
    И Док.Дата МЕЖДУ &НачДата И &КонДата
    УПОРЯДОЧИТЬ ПО
    Сотрудник
```

а если сделать так: вместо
```1c
    И (ДокТЗ.НомерСтроки = 1)
```
 поставить
```1c
    И (ДокТЗ.НомерСтроки = Количество(ДокТЗ.НомерСтроки))
```
 то ругается что так делать нельзя. как можно?
---
Попробовали выполнить такой запрос? Какой результат?

```1c
    ВЫБРАТЬ
    ДокТЗ.Ссылка,
    МАКСИМУМ(ДокТЗ.НомерСтроки) КАК НомерСтроки
    ПОМЕСТИТЬ втПоследниеСтрокиТЗ
    ИЗ
    Документ.Док.ТЗ КАК ДокТЗ
    ГДЕ
    ДокТЗ.Ссылка.Подразделение В ИЕРАРХИИ(&Подразделение)
    И ДокТЗ.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
    СГРУППИРОВАТЬ ПО
    ДокТЗ.Ссылка
    ;

    ВЫБРАТЬ
    ДокТЗ.Сотрудник КАК Сотрудник,
    ДокТЗ.Начисление.Наименование КАК НовОплата
    ИЗ
    втПоследниеСтрокиТЗ КАК втПоследниеСтрокиТЗ
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.Док.ТЗ КАК ДокТЗ
    ПО (втПоследниеСтрокиТЗ.Ссылка = ДокТЗ.Ссылка
    И втПоследниеСтрокиТЗ.НомерСтроки = ДокТЗ.НомерСтроки)

    УПОРЯДОЧИТЬ ПО
    НомерСтроки,
    Сотрудник
```
---
Количество только в полях выборки запроса можно писать а не в условиях и его применение требует группировку
---
Попробуйте такой запрос.

```1c
    ВЫБРАТЬ
    ДокТЗ.Ссылка,
    МАКСИМУМ(ДокТЗ.НомерСтроки) КАК НомерСтроки
    ПОМЕСТИТЬ втПоследниеСтрокиТЗ
    ИЗ
    Документ.Док.ТЗ КАК ДокТЗ
    ГДЕ
    ДокТЗ.Ссылка.Подразделение В ИЕРАРХИИ(&Подразделение)
    И ДокТЗ.Ссылка.Дата МЕЖДУ &НачДата И &КонДата

    СГРУППИРОВАТЬ ПО
    ДокТЗ.Ссылка
    ;

    ВЫБРАТЬ
    ДокТЗ.Сотрудник КАК Сотрудник,
    ДокТЗ.Начисление.Наименование КАК НовОплата
    ИЗ
    втПоследниеСтрокиТЗ КАК втПоследниеСтрокиТЗ
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.Док.ТЗ КАК ДокТЗ
    ПО (втПоследниеСтрокиТЗ.Ссылка = ДокТЗ.Ссылка
    И втПоследниеСтрокиТЗ.НомерСтроки = ДокТЗ.НомерСтроки)

    УПОРЯДОЧИТЬ ПО
    НомерСтроки,
    Сотрудник
```
---
в (8) и (12) правильно. вроде :)
---
да-да. работает! спасибо всем!
---
сортируй по номеру строки и Выбрать Первые 1
---
сортируй(или индексируй если ВТ) по убыванию.
---
МАКСИМУМ(НомерСтроки)?
---
```1c
    ВЫБРАТЬ Первые 1
    Док.Сотрудник КАК Сотрудник,
    ДокТЗ.Начисление.Наименование КАК НовОплата
    ИЗ
    Документ.Док КАК Док
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.Док.ТЗ КАК ДокТЗ
    ПО Док.Ссылка = ДокТЗ.Ссылка
    И (ДокТЗ.НомерСтроки = 1)
    ГДЕ
    Док.Подразделение В ИЕРАРХИИ(&Подразделение)
    И Док.Дата МЕЖДУ &НачДата И &КонДата
    УПОРЯДОЧИТЬ ПО
    НомерСтроки,
    Сотрудник
```

Вот как-то так
---
ВЫБРАТЬ Первые 1 тогда выбирается только одна первая запись!
а мне нужно у кажд сотрудника чтобы выходила последняя строка наименования из тз
и на максимум ругается
пока не получается. отпишусь как сделаю
---
Группировать нужно. А вообще условия задачи описаны не до конца. В запросе идет условие на подразделение и дату. Как быть если по одному сотруднику будет получено несколько документов? Соответственно у каждого документа есть своя последняя строка.

Для получения правильного ответа давайте полную постановку задачи.
---
да-да! все именно так как вы написали! у каждого сотрудника м.б. от 1 до н количества документов! (не учла момент, точнее я то вижу что так и есть, а в пост написать забыла!)
а мне надо чтобы выбирался по кажд сотруднику только последнее значение из табличной части документа (т.е. только последнее начисление)

т.е. выдает:
сотрудник начисление номерстроки
петров начисление2 2
петров начисление1 1
пупкин начисление1 1
иванов начисление2 2
иванов начисление1 1

а мне надо так:
сотрудник начисление номерстроки
петров начисление2 2
пупкин начисление1 1
иванов начисление2 2

```1c
    ВЫБРАТЬ
    ДОК.Сотрудник КАК Сотрудник,
    ДОКТЗ.Начисление.Наименование КАК Начисление,
    ДОКТЗ.НомерСтроки КАК НомерСтроки
    ПОМЕСТИТЬ ВТ_1
    ИЗ
    Документ.ДОК КАК ДОК
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ДОК.Начисления КАК ДОКТЗ
    ПО ДОК.Ссылка = ДОК.Ссылка
    ГДЕ
    И ДОК.Подразделение В ИЕРАРХИИ(&Подразделение)
    И ДОК.Дата МЕЖДУ &НачДата И &КонДата
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТ_1.Сотрудник КАК Сотрудник,
    ВТ_1.НовОплата,
    МАКСИМУМ(ВТ_1.НомерСтроки) КАК НомерСтроки
    ИЗ
    ВТ_1 КАК ВТ_1
    ГДЕ
    ВТ_1.НомерСтроки = 1

    СГРУППИРОВАТЬ ПО
    ВТ_1.Сотрудник,
    ВТ_1.Начисление

    УПОРЯДОЧИТЬ ПО
    Сотрудник,
    НомерСтроки УБЫВ
```

выдает только первые строки
---
Попробовали выполнить такой запрос? Какой результат?

```1c
    ВЫБРАТЬ
    ДокТЗ.Ссылка,
    МАКСИМУМ(ДокТЗ.НомерСтроки) КАК НомерСтроки
    ПОМЕСТИТЬ втПоследниеСтрокиТЗ
    ИЗ
    Документ.Док.ТЗ КАК ДокТЗ
    ГДЕ
    ДокТЗ.Ссылка.Подразделение В ИЕРАРХИИ(&Подразделение)
    И ДокТЗ.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
    СГРУППИРОВАТЬ ПО
    ДокТЗ.Ссылка
    ;

    ВЫБРАТЬ
    ДокТЗ.Сотрудник КАК Сотрудник,
    ДокТЗ.Начисление.Наименование КАК НовОплата
    ИЗ
    втПоследниеСтрокиТЗ КАК втПоследниеСтрокиТЗ
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.Док.ТЗ КАК ДокТЗ
    ПО (втПоследниеСтрокиТЗ.Ссылка = ДокТЗ.Ссылка
    И втПоследниеСтрокиТЗ.НомерСтроки = ДокТЗ.НомерСтроки)

    УПОРЯДОЧИТЬ ПО
    НомерСтроки,
    Сотрудник
```
---
в ДокТЗ нет сотрудника.
сотрудник в документе. а а тз документа есть начисление по которому и нужен мне отбор(только последняя строка) для кажд сотрудника
---
помогло! спасибо всем огромное и отдельно Михаил Степанов (Dzamba)! работает!
---
Немного ошибся. Добавьте обращение через ссылку.
Замените во втором запросе

```1c
    ДокТЗ.Сотрудник КАК Сотрудник
```

на

```1c
    ДокТЗ.Ссылка.Сотрудник КАК Сотрудник
```
---
пишет:
{ВнешняяОбработка.КонсольЗапросов_82.Форма.Форма.Форма(39)}: Ошибка при вызове конструктора (КонструкторЗапроса)
   Конструктор = Новый КонструкторЗапроса(ЭлементДерева.ТекстЗапроса);
по причине:
{(24, 5)}: Неоднозначное поле "НомерСтроки"
<<?>>НомерСтроки,
---
Посмори в эту сторону:

```1c
    ВЫБРАТЬ
    ПолучениеМаксимальнойСтроки.Сотрудник,
    ДокТЗ.Начисление.Наименование КАК НовОплата
    ИЗ
    Документ.ДокТЗ КАК ДокТЗ
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    ДокТЗ.Сотрудник КАК Сотрудник,
    МАКСИМУМ(ДокТЗ.НомерСтроки) КАК НомерСтроки
    ИЗ
    Документ.ДокТЗ КАК ДокТЗ

    СГРУППИРОВАТЬ ПО
    ДокТЗ .Сотрудник) КАК
    ПО ДокТЗ .НомерСтроки = ПолучениеМаксимальнойСтроки.НомерСтроки
    И ДокТЗ .Сотрудник = ПолучениеМаксимальнойСтроки.Сотрудник
```
---
Выбрать первые 1 * Из Документ.ДокТЗ КАК ДокТЗ Упорядочить по НомерСтроки Убыв