Коллеги, доброго времени суток!
Возник вопрос у меня.
Необходимо получить количество файлов кроме последних по дате за весь период. То есть в карточке элемента во вкладке "Файлы", могут быть несколько одноименных файлов, но различны по дате изменения.
Я сделал запрос, он выводит количество, но как говорят архитекторы, я кое-что не доработал. Возможно у вас есть идея.
Буду благодарен за ваши советы.
Спасибо!

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

    МассивВП = Новый Массив;
    МассивВП.Добавить(Справочники.СТ_ХФ_ВидыПрисоединенныхФайлов.ГруппыНоменклатурыВКаталоге_CAD_REVIT);
    МассивВП.Добавить(Справочники.СТ_ХФ_ВидыПрисоединенныхФайлов.ГруппыНоменклатурыВКаталоге_Изображение);
    МассивВП.Добавить(Справочники.СТ_ХФ_ВидыПрисоединенныхФайлов.ГруппыНоменклатурыВКаталоге_СхемаГабаритыСветильника);
    МассивВП.Добавить(Справочники.СТ_ХФ_ВидыПрисоединенныхФайлов.НайтиПоКоду("000000143"));
    МассивВП.Добавить(Справочники.СТ_ХФ_ВидыПрисоединенныхФайлов.НайтиПоКоду("000000046"));

    Запрос.УстановитьПараметр("СТ_ХФ_ВидПрисоединенногоФайла", МассивВП);
    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    Сообщить(ВыборкаДетальныеЗаписи.Количество());
```
---
Вот окончательный запрос:

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

    СГРУППИРОВАТЬ ПО
    БИТ_СТ_ГруппыНоменклатурыВКаталогеПрисоединенныеФайлы.Наименование,
    БИТ_СТ_ГруппыНоменклатурыВКаталогеПрисоединенныеФайлы.ВладелецФайла,
    БИТ_СТ_ГруппыНоменклатурыВКаталогеПрисоединенныеФайлы.СТ_ХФ_ВидПрисоединенногоФайла

    ИМЕЮЩИЕ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ БИТ_СТ_ГруппыНоменклатурыВКаталогеПрисоединенныеФайлы.ДатаСоздания) > 1
```
---
Ссылка - всегда уникальна. Группировать по ней для получения количества - нонсенс.
---
В целом запрос у меня нормальный?
---
В целом у вас - только половина результата. Когда переделаете, чтобы группировка таки считала количество, поймете как должна выглядеть оставшаяся часть запроса.
---
Наверно так:

```1c
    ВЫБРАТЬ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ БИТ_СТ_ГруппыНоменклатурыВКаталогеПрисоединенныеФайлы.ВладелецФайла) КАК Количество
    ИЗ
    Справочник.БИТ_СТ_ГруппыНоменклатурыВКаталогеПрисоединенныеФайлы КАК БИТ_СТ_ГруппыНоменклатурыВКаталогеПрисоединенныеФайлы
    ГДЕ
    БИТ_СТ_ГруппыНоменклатурыВКаталогеПрисоединенныеФайлы.СТ_ХФ_ВидПрисоединенногоФайла В(&СТ_ХФ_ВидПрисоединенногоФайла)
    И БИТ_СТ_ГруппыНоменклатурыВКаталогеПрисоединенныеФайлы.ПометкаУдаления = ЛОЖЬ
```
---
```1c
    Необходимо получить количество файлов кроме последних по дате за весь период.
```

Поясните вот эту фразу. Нужно НЕ включать какой-то период в запрос? Что понимается под:

последних по дате за весь период
---
И количество файлов вам надо в разрезе владельца или общее кол-во? И я так понимаю, что задание у вас тестовое? Просто за конструкцию:

```1c
    СТ_ХФ_ВидыПрисоединенныхФайлов.НайтиПоКоду("000000046")
```

в продакшине грозит отрывание рук.
---
В разрезе владельца.
(6) То есть если у владельца 3 файла с разными датами, то нужно получить количество последних двух файлов.
---
Смотрите:

1.
```1c
    МАКСИМУМ(БИТ_СТ_ГруппыНоменклатурыВКаталогеПрисоединенныеФайлы.ДатаСоздания) КАК ДатаСоздания
```

Вам просто выдаст наибольшую дату из возможных.

2. Группировку по ссылке надо убрать, вам правильно сказали, что она всегда уникальная будет.

Что-то я тоже так с ходу не могу понять, как выполнить вашу задачу (трудно когда нет возможности "пощупать" конфигурацию). Мыслю в сторону пакетного запроса. В первом получаем наиболее новые файлы для каждого владельца (примерно так у вас и сделано). Вторым запросом делаем как в (5) нос условием на исключение файлов полученных в первом запросе. Делаем группировку по владельцу, и в цикле выводим результат по каждому из владельцев. Но это грубо. Может быть, кто-то из коллег предложит что-то более простое и красивое. Я что-то пока не могу сообразить.
---
если у владельца 3 файла с разными датами, то нужно получить количество последних двух файлов
Всё ещё не понятно. Такая постановка задачи не имеет смысла. То есть, даты файлов никак не участвуют в её решении, которое будет сводиться к:
Количество файлов по владельцу, удовлетворяющих условию - 1.
А ещё вначале вы писали "кроме последних по дате за весь период", что противоречит этому уточнению.
---
Вот окончательный запрос:

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

    СГРУППИРОВАТЬ ПО
    БИТ_СТ_ГруппыНоменклатурыВКаталогеПрисоединенныеФайлы.Наименование,
    БИТ_СТ_ГруппыНоменклатурыВКаталогеПрисоединенныеФайлы.ВладелецФайла,
    БИТ_СТ_ГруппыНоменклатурыВКаталогеПрисоединенныеФайлы.СТ_ХФ_ВидПрисоединенногоФайла

    ИМЕЮЩИЕ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ БИТ_СТ_ГруппыНоменклатурыВКаталогеПрисоединенныеФайлы.ДатаСоздания) > 1
```
---
У меня тоже была мысль про - 1. Но там может быть два файла за одну дату!
---
В курсе))))