Задача: вывести ПОСЛЕДНЕЕ событие.

Код запроса, который выводит все события:

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

МАКСИМУМ по дате не работает.
Подскажите, что можно попробовать?
---
так не получится, потому что ему нужно последнее событие по каждому участнику.

Добавить ресурс с функцией НомерПоПорядкуВГруппировке(), рассчитывать по участнику. Группировку "Событие" отсортировать по дате в порядке убывания и поставить отбор на поле с этим ресурсом Номер = 1.
---
Вспомнил.
---
1. ВЫБРАТЬ ПЕРВЫЕ 1 * ИЗ События УПОРЯДОЧИТЬ ПО Дата Убыв
2. Выбрать как есть, установить упорядочивание по дате по убыванию, в последней закладке настроек макеты указать выбирать первые 1
---
так не получится, потому что ему нужно последнее событие по каждому участнику.

Добавить ресурс с функцией НомерПоПорядкуВГруппировке(), рассчитывать по участнику. Группировку "Событие" отсортировать по дате в порядке убывания и поставить отбор на поле с этим ресурсом Номер = 1.
---
1. Добавить ресурс с функцией НомерПоПорядкуВГруппировке(Событие), рассчитывать по участнику. (Скрин 1)
2. Группировку "Событие" отсортировать по дате в порядке убывания (Скрин 2)
3. поставить отбор на поле с этим ресурсом Номер = 1 (Скрин 3)

Результат "Не верные параметры НомерПоПорядкуВГруппировке" (Скрин 4).

Подскажите, что я не так понял?
---
ну тады так: ВЫБРАТЬ максимум(Дата), участник ПОМЕСТИТЬ ВТ1 ИЗ События; ВЫБРАТЬ б.* ИЗ ВТ1 КАК а ВНУТРЕНЕЕ СОЕДИНЕНИЕ События КАК б ПО а.Участник = б.Участник и а.Дата = б.Дата.
---
да боже, я так не пойму)
---
засунь в СКД, нажми "Конструктор", исправь одну небольшую ошибку. Пиши "Боже" с большой буквы.
---
Тогда выборку надо делать из справочника контрагентов, к нему цеплять табличную часть события. Причем, сначала выбрать все события без пометки удаления в ВТ (или подзапрос), потом уже соединять. Что-то вроде

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

И у поля Событие в роли проставить "Игнорировать значения NULL".

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

Работает, но выводит только как на скрине (1).
А когда пытаюсь сделать как хочу (скрин 2), выводятся все события..
---
Да, там просто НомерПоПорядкуВГруппировке(). Давно не пользовался, забыл. Щас вспомню.
---
там всего 4 варианта предлагается (скрин).
Туда можно писать что-то кроме них?
---
Туда можно очень много чего писать кроме них)
---
Работает! Спасибо большое!
Почти как хотел)
Осталось только всех контрагентов выводить, а не только с событиями..
---
Осталось только всех контрагентов выводить, а не только с событиями..
Теперь можно все что получилось выкинуть и вернуться к (6), соединив со справочником контрагентов :)
---
а это нельзя соединить со справочником контрагентов?)
---
а кто запрещает? Можно. Видимо, "Участник" это и есть "Контрагент"? В (6) написано, как получить сабж. Дальше уже к этой таблице можно присоединять всё, что угодно.
---
мне нужно ещё всех контрагентов отображать, а не только тех, которые имеют события.. (15) пишет, что нужно теперь всё выкинуть и делать по другому.. я попробовал левое соединение со справочником "Контрагенты", но не вышло.. правда выкинуть?)
---
значит нужно брать таблицу контрагентов и левым соединением добавлять к ней полученную ранее таблицу.
---
Вспомнил.
---
аяй,рано..
---
по логике, такой документ должен делать записи в регистр сведений, если это так то можно воспользоваться виртуальной таблицей СрезПоследних ?
---
нет, не делает
---
Да, потому что на скрине 2 ВСЕ элементы являются первыми в группировке. А на скрине 1 нужно, как я говорил, проставить "Игнорировать значения NULL", уйдут пустые строки, станет красивше.
---
Для полного пятничного счастья не хватает разделять поля по колонкам, а не в одной через запятую получать (скрин). Подскажете?)
---
Потому что надо в запросе выбирать эти поля:

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

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