Есть таблица с 3мя колонками: Сотрудник, Должность, ДатаВступленияВДолжность.
Необходимо запросом получить таблицу из 4х колонок: Сотрудник, Должность, ДатаВступленияВДолжность, ДатаОкончания.
Я написал в консоли запрос, но у меня получилась полная ерунда:

```1c
    ВЫБРАТЬ
    СтажРаботы.Сотрудник КАК Сотрудник,
    СтажРаботы.Должность КАК Должность,
    СтажРаботы.ДатаНачала КАК ДатаНачала
    ПОМЕСТИТЬ ВТ
    ИЗ
    РегистрСведений.СтажРаботы КАК СтажРаботы
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТ.Сотрудник КАК Сотрудник,
    ВТ.Должность КАК Должность,
    ВТ.ДатаНачала КАК ДатаНачала,
    ВТ1.ДатаНачала КАК ДатаНачала1,
    ВТ1.Должность КАК Должность1,
    ВТ1.Сотрудник КАК Сотрудник1
    ИЗ
    ВТ КАК ВТ
    ЛЕВОЕ СОЕДИНЕНИЕ ВТ КАК ВТ1
    ПО (ВТ.Сотрудник = ВТ1.Сотрудник)
    И (ВТ.ДатаНачала < ВТ1.ДатаНачала)
    И (ВТ.Должность <> ВТ1.Должность)
```
---
```1c
    ВЫБРАТЬ
    "Иванов" КАК Сотрудник,
    "Программист" КАК Должность,
    ДАТАВРЕМЯ(2000, 1, 1) КАК ДатаНачала
    ПОМЕСТИТЬ ВТ_История

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    "Иванов",
    "Тимлид",
    ДАТАВРЕМЯ(2010, 1, 1)

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    "Иванов",
    "Архитектор",
    ДАТАВРЕМЯ(2020, 1, 1)

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    "Иванов",
    "Директор",
    ДАТАВРЕМЯ(2030, 1, 1)
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТ_ИсторияНачало.Сотрудник КАК Сотрудник,
    ВТ_ИсторияНачало.Должность КАК Должность,
    МИНИМУМ(ВТ_ИсторияНачало.ДатаНачала) КАК ДатаНачала,
    МИНИМУМ(ВТ_ИсторияКонец.ДатаНачала) КАК ДатаОкончания
    ИЗ
    ВТ_История КАК ВТ_ИсторияНачало
    ПОЛНОЕ СОЕДИНЕНИЕ ВТ_История КАК ВТ_ИсторияКонец
    ПО ВТ_ИсторияНачало.Сотрудник = ВТ_ИсторияКонец.Сотрудник
    И ВТ_ИсторияНачало.ДатаНачала < ВТ_ИсторияКонец.ДатаНачала
    ГДЕ
    НЕ ВТ_ИсторияНачало.Сотрудник ЕСТЬ NULL
    СГРУППИРОВАТЬ ПО
    ВТ_ИсторияНачало.Сотрудник,
    ВТ_ИсторияНачало.Должность
    УПОРЯДОЧИТЬ ПО
    ВТ_ИсторияНачало.Сотрудник,
    МИНИМУМ(ВТ_ИсторияНачало.ДатаНачала)
```
---
ДатаОкончания что это должно быть?
---
```1c
    ВЫБРАТЬ
    "Иванов" КАК Сотрудник,
    "Программист" КАК Должность,
    ДАТАВРЕМЯ(2000, 1, 1) КАК ДатаНачала
    ПОМЕСТИТЬ ВТ_История

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    "Иванов",
    "Тимлид",
    ДАТАВРЕМЯ(2010, 1, 1)

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    "Иванов",
    "Архитектор",
    ДАТАВРЕМЯ(2020, 1, 1)

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    "Иванов",
    "Директор",
    ДАТАВРЕМЯ(2030, 1, 1)
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТ_ИсторияНачало.Сотрудник КАК Сотрудник,
    ВТ_ИсторияНачало.Должность КАК Должность,
    МИНИМУМ(ВТ_ИсторияНачало.ДатаНачала) КАК ДатаНачала,
    МИНИМУМ(ВТ_ИсторияКонец.ДатаНачала) КАК ДатаОкончания
    ИЗ
    ВТ_История КАК ВТ_ИсторияНачало
    ПОЛНОЕ СОЕДИНЕНИЕ ВТ_История КАК ВТ_ИсторияКонец
    ПО ВТ_ИсторияНачало.Сотрудник = ВТ_ИсторияКонец.Сотрудник
    И ВТ_ИсторияНачало.ДатаНачала < ВТ_ИсторияКонец.ДатаНачала
    ГДЕ
    НЕ ВТ_ИсторияНачало.Сотрудник ЕСТЬ NULL
    СГРУППИРОВАТЬ ПО
    ВТ_ИсторияНачало.Сотрудник,
    ВТ_ИсторияНачало.Должность
    УПОРЯДОЧИТЬ ПО
    ВТ_ИсторияНачало.Сотрудник,
    МИНИМУМ(ВТ_ИсторияНачало.ДатаНачала)
```
---
Работает. Единственный вопрос: можно ли было решить более простым способом данную задачу?
---
Один запрос - куда еще проще-то?
---
Спасибо, добрый человек!