Доброго времени суток.Пользователи Infostart,подскажите пожалуйста.Сейчас смотрю уволенных сотрудников. Мне помогли сделать запрос,но в конце у меня появляется 3-4 записи об одном человеке.Подскажите,можно ли сделать так, что бы одна ФИО не могла более 1 раза появляться в конце,или что-бы оставалась только запись о последнем увольнении.

```1c
    ВЫБРАТЬ
    ТекущиеКадровыеДанныеСотрудников.Сотрудник КАК Сотрудник,
    ТекущиеКадровыеДанныеСотрудников.ДатаПриема КАК ДатаПриема,
    ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения КАК ДатаУвольнения
    ИЗ
    РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников

    ГДЕ ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения <> ДАТАВРЕМЯ(1,1,1)

    АВТОУПОРЯДОЧИВАНИЕ
```
---
Тогда так:
Добавить в выборку физлицо сотрудника.
Поместить данные исходного запроса во временную таблицу Т1.
В следующем запросе сгруппировать по физлицу и максимальным датам, поместить во временную таблицу Т2.
В следующем запросе выбрать данные из Т2, внутреннее соединение с Т1 по физлицу и датам, и из Т1 взять сотрудника.

Если нужен именно сотрудник в результате.
---
Возможно, вам хватит этого:

```1c
    ВЫБРАТЬ
    ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо КАК ФИО,
    МАКСИМУМ(ТекущиеКадровыеДанныеСотрудников.ДатаПриема) КАК ДатаПриема,
    МАКСИМУМ(ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения) КАК ДатаУвольнения
    ИЗ
    РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников

    ГДЕ
    ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения <> ДАТАВРЕМЯ(1,1,1)

    СГРУППИРОВАТЬ ПО
    ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо

    АВТОУПОРЯДОЧИВАНИЕ
```
---
в итоге остановился на этом

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

    ДанныеДляПодбораСотрудников.Начало <> ДАТАВРЕМЯ(1,1,1)И
    ДанныеДляПодбораСотрудников.Окончание <> ДАТАВРЕМЯ(1,1,1)

    СГРУППИРОВАТЬ ПО

    ДанныеДляПодбораСотрудников.ФизическоеЛицо

    АВТОУПОРЯДОЧИВАНИЕ
```
---
Сгруппировать по сотруднику и Максимум по датам.
---
.....и получить 4 строки с одинаковыми датами :)
---
Тогда так:
Добавить в выборку физлицо сотрудника.
Поместить данные исходного запроса во временную таблицу Т1.
В следующем запросе сгруппировать по физлицу и максимальным датам, поместить во временную таблицу Т2.
В следующем запросе выбрать данные из Т2, внутреннее соединение с Т1 по физлицу и датам, и из Т1 взять сотрудника.

Если нужен именно сотрудник в результате.
---
хм,ничего пока не понятно,как это сделать,но за наводку спасибо. Пойду, почитаю, как это сделать.
---
Возможно, вам хватит этого:

```1c
    ВЫБРАТЬ
    ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо КАК ФИО,
    МАКСИМУМ(ТекущиеКадровыеДанныеСотрудников.ДатаПриема) КАК ДатаПриема,
    МАКСИМУМ(ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения) КАК ДатаУвольнения
    ИЗ
    РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников

    ГДЕ
    ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения <> ДАТАВРЕМЯ(1,1,1)

    СГРУППИРОВАТЬ ПО
    ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо

    АВТОУПОРЯДОЧИВАНИЕ
```
---
да,это решение моё,как раз читал сейчас про МАКСИМУМ,но спасибо вам огромное.
---
к примеру вот,1 сотрудник 4 раза увольнялся,последняя запись 2022 годом числится,только она(Как самая новая) мне и нужна.
---
это 4 разных сотрудника. у этих сотрудников одинаковое физлицо.
Ваша задача выводить данные физлица и нахождение максимальной даты увольнения/приема
---
а срез последних не пробовали?

```1c
    ВЫБРАТЬ
    ТекущиеКадровыеДанныеСотрудников.Сотрудник КАК Сотрудник,
    ТекущиеКадровыеДанныеСотрудников.ДатаПриема КАК ДатаПриема,
    ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения КАК ДатаУвольнения
    ИЗ
    РегистрСведений.ТекущиеКадровыеДанныеСотрудников.СрезПоследних КАК ТекущиеКадровыеДанныеСотрудников

    ГДЕ ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения <> ДАТАВРЕМЯ(1,1,1)

    АВТОУПОРЯДОЧИВАНИЕ
```
---
Попробовал,не получилось,но почитаю позже про срез,спасибо.
---
в итоге остановился на этом

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

    ДанныеДляПодбораСотрудников.Начало <> ДАТАВРЕМЯ(1,1,1)И
    ДанныеДляПодбораСотрудников.Окончание <> ДАТАВРЕМЯ(1,1,1)

    СГРУППИРОВАТЬ ПО

    ДанныеДляПодбораСотрудников.ФизическоеЛицо

    АВТОУПОРЯДОЧИВАНИЕ
```