Подскажите как можно без временных таблиц выбрать только значения с минимальным количеством, если их 2 то то которое раньше по дате, возможно ли это?

```1c
    ВЫБРАТЬ
    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Субконто1,
    МИНИМУМ(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
    ХозрасчетныйОстаткиИОбороты.Регистратор.Контрагент КАК РегистраторКонтрагент
    ПОМЕСТИТЬ qwe
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&д1, &д2, Регистратор, , , , ) КАК ХозрасчетныйОстаткиИОбороты
    ГДЕ
    ХозрасчетныйОстаткиИОбороты.Счет = &Счет
    И ХозрасчетныйОстаткиИОбороты.Организация = &Организация
    И ХозрасчетныйОстаткиИОбороты.Регистратор.Контрагент <> &Контрагент

    СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстаткиИОбороты.Субконто1,
    ХозрасчетныйОстаткиИОбороты.Регистратор.Контрагент
    ;
```
---
Первая таблица
Субконто1, МИНИМУМ(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток)

Вторая таблица
Субконто1, МИНИМУМ(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток),
Регистратор,
Регистратор.Дата

```1c
    ВЫБРАТЬ т1.Субконто1, т1.КоличествоКонечныйОстаток, т2.Регистратор,
    МИНИМУМ(т2.Регистратор.Дата)
    ЛЕВОЕ СОЕДИНЕНИЕ т2 ПО т1.Субконто1 = т2.Субконто1
    И т1.КоличествоКонечныйОстаток = т2.КоличествоКонечныйОстаток
```
---
в результате запроса выше получаю все регистраторы, если убрать регистратор получу то что надо но без ссылки на документ
a 100
a 120
a 60

а нужно
a 60
---
в перечень выбираемых полей добавляем Дату_, это же поле добавляем в сгруппировать
добавляем
УПОРЯДОЧИТЬ ПО МИНИМУМ(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток), Дата_
в начало запроса добавляем ВЫБРАТЬ ПЕРВЫЕ 1
---
Спасибо, сейчас попробую
---
Этим запросом получаю только 1 запись, не подскажите как правильно тут использовать ВЫБРАТЬ ПЕРВЫЕ 1?

```1c
    ВЫБРАТЬ ПЕРВЫЕ 1
    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Субконто1,
    МИНИМУМ(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
    ХозрасчетныйОстаткиИОбороты.Регистратор.Контрагент КАК РегистраторКонтрагент,
    ХозрасчетныйОстаткиИОбороты.Регистратор.Дата КАК РегистраторДата
    ПОМЕСТИТЬ qwe
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&д1, &д2, Регистратор, , , , ) КАК ХозрасчетныйОстаткиИОбороты
    ГДЕ
    ХозрасчетныйОстаткиИОбороты.Счет = &Счет
    И ХозрасчетныйОстаткиИОбороты.Организация = &Организация
    И ХозрасчетныйОстаткиИОбороты.Регистратор.Контрагент <> &Контрагент

    СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстаткиИОбороты.Субконто1,
    ХозрасчетныйОстаткиИОбороты.Регистратор.Контрагент,
    ХозрасчетныйОстаткиИОбороты.Регистратор.Дата

    УПОРЯДОЧИТЬ ПО
    МИНИМУМ(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток),
    РегистраторДата
    ;
```
---
так получаете то верную запись или нет?

выбрать первый 1 и возвращаем вам одну запись
если надо больше, указывайте сколько нужно
ВЫБРАТЬ ПЕРВЫЕ 2... 3 и т.д.

но тогда уже и результат надо будет обрабатывать отдельно, например так

```1c
    лРеультат = Запрос.Выполнить.Выгрузить();
    Если лРезультат.Количество()<>0 Тогда
    Возврат лРезультат[0];
    КонецЕсли;
```

или так

```1c
    лРезультат = Запрос.Выполнить.Выбрать();
    Если лРезультат.Следующий() Тогда
    Возврат лРезультат... что-то там из группировок;
    КонецЕсли;
```
---
Хочу получить массив из записей,
вход
дата1, товар1, колич=10, регистратор1
Дата2, товар1, колич=20, регистратор2
дата3,товар1, колич=9, регистратор3
дата3+1сек,товар1, колич=9, регистратор4
Дата4,товар2,колчи=100, регистратор5

На выходе хочу
дата3,товар1, колич=9, регистратор3
Дата4,товар2,колчи=100, регистратор5
---
Мы запутались окончательно !
Правильно ли я понимаю что нужно получить "не одну запись", а записи с Минимум(колво) по товару с СамымРаннимРегистратором ???
Но тогда должно быть из твоего примера:
На выходе хочу
дата3,товар1, колич=9, регистратор1 регистратор3 <<---------------------------
Дата4,товар2,колчи=100, регистратор4 регистратор5 <<---------------------------
---
Поправил сообщение с примером, похоже я не самый лучший рассказчик.

```1c
    ВЫБРАТЬ
    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Субконто1,
    МИНИМУМ(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&д1, &д2, Регистратор, , , , ) КАК ХозрасчетныйОстаткиИОбороты
    ГДЕ
    ХозрасчетныйОстаткиИОбороты.Счет = &Счет
    И ХозрасчетныйОстаткиИОбороты.Организация = &Организация
    И ХозрасчетныйОстаткиИОбороты.Регистратор.Контрагент <> &Контрагент

    СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстаткиИОбороты.Субконто1
    ;
```

Вот этот запрос выдает все что я хочу, но я хочу чтобы в нем было еще видно самый ранний документ после которого был достигнут минимум
---
тут без временных таблиц не обойтись... в первой надо найти минимум по количеству, во второй дату минимума из первой таблицы, в третьей дату перед датой минимума (из второй таблицы )...
---
можно в подзапросах это все сделать.
---
Первая таблица
Субконто1, МИНИМУМ(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток)

Вторая таблица
Субконто1, МИНИМУМ(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток),
Регистратор,
Регистратор.Дата

```1c
    ВЫБРАТЬ т1.Субконто1, т1.КоличествоКонечныйОстаток, т2.Регистратор,
    МИНИМУМ(т2.Регистратор.Дата)
    ЛЕВОЕ СОЕДИНЕНИЕ т2 ПО т1.Субконто1 = т2.Субконто1
    И т1.КоличествоКонечныйОстаток = т2.КоличествоКонечныйОстаток
```
---
Так и написал в итоге, просто коробило что на такую простую штуку надо целых 3 таблицы.
---
как-то так, наверное, нет под рукой ни БУ, ни конфигуратора, чтобы проверить... по идее на выходе будет первой строкой самый ранний документ с самым меньшим количество

```1c
    ВЫБРАТЬ
    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Субконто1,
    МИНИМУМ(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
    ХозрасчетныйОстаткиИОбороты.Регистратор.Контрагент КАК РегистраторКонтрагент,
    ХозрасчетныйОстаткиИОбороты.Регистратор.Дата КАК РегистраторДата
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&д1, &д2, Регистратор, , , , ) КАК ХозрасчетныйОстаткиИОбороты
    ГДЕ
    ХозрасчетныйОстаткиИОбороты.Счет = &Счет
    И ХозрасчетныйОстаткиИОбороты.Организация = &Организация
    И ХозрасчетныйОстаткиИОбороты.Регистратор.Контрагент <> &Контрагент

    СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстаткиИОбороты.Субконто1,
    ХозрасчетныйОстаткиИОбороты.Регистратор.Контрагент,
    ХозрасчетныйОстаткиИОбороты.Регистратор.Дата

    УПОРЯДОЧИТЬ ПО
    МИНИМУМ(ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток) УБЫВ,
    ХозрасчетныйОстаткиИОбороты.Субконто1
    РегистраторДата ВОЗР
```
---
Задачу уже решил, в данном запросе субконто дублируется.
---
попробуйте так

```1c
    ВЫБРАТЬ первые 1
    (ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
    ХозрасчетныйОстаткиИОбороты.Регистратор.Дата КАК Дата //если доступен используйте Период
    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Субконто1,
    ХозрасчетныйОстаткиИОбороты.Регистратор.Контрагент КАК РегистраторКонтрагент
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&д1, &д2, Регистратор, , , , ) КАК ХозрасчетныйОстаткиИОбороты
    ГДЕ
    ХозрасчетныйОстаткиИОбороты.Счет = &Счет
    И ХозрасчетныйОстаткиИОбороты.Организация = &Организация
    И ХозрасчетныйОстаткиИОбороты.Регистратор.Контрагент <> &Контрагент

    //просто используем упорядочивание
    Упорядочить по
    1,2
```