Добрый день! Есть Запрос по РегиструСведений.СостояниеРаботниковОрганизаций
Результат получаю такой:

ДатаНачала ДатаЗавершения Состояние
27.12.2016 23.01.2017 В ежегодном отпуске
01.02.2017 Отсутствует по невыясненной причине
27.02.2017 Работает
03.03.2017 09.03.2017 В отпуске без сохранения зарплаты

Каким образом Для второй строки в колонке "ДатаЗавершения" получить дату "ДатаНачала" из следующей строки?
---
Добавьте в запрос еще такую же таблицу, сделайте левое соединение этих таблиц с условием Таблица1.ДатаНачала < Таблица2.ДатаНачала и далее по примеру (Первые два запроса просто строят две одинаковые таблицы. У вас они будут браться из регистров). Числа нудно заменить на даты и в условии проверка не на "0", а на пустую дату:

```1c
    ВЫБРАТЬ
    1 КАК ДатаНачала,
    2 КАК ДатаОкончания,
    "Событие1" КАК Событие
    ПОМЕСТИТЬ ВременнаяТаблица1

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

    ВЫБРАТЬ
    3,
    0,
    "Событие2"

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

    ВЫБРАТЬ
    4,
    0,
    "Событие3"
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    1 КАК ДатаНачала,
    2 КАК ДатаОкончания,
    "Событие1" КАК Событие
    ПОМЕСТИТЬ ВременнаяТаблица2

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

    ВЫБРАТЬ
    3,
    0,
    "Событие2"

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

    ВЫБРАТЬ
    4,
    0,
    "Событие3"
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВременнаяТаблица1.ДатаНачала КАК ДатаНачала,
    МИНИМУМ(ВременнаяТаблица1.ДатаОкончания) КАК ДатаОкончания,
    ВременнаяТаблица1.Событие КАК Событие,
    МИНИМУМ(ВременнаяТаблица2.ДатаНачала) КАК ДатаНачала2
    ПОМЕСТИТЬ ВременнаяТаблица3
    ИЗ
    ВременнаяТаблица1 КАК ВременнаяТаблица1
    ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблица2 КАК ВременнаяТаблица2
    ПО (ВременнаяТаблица1.ДатаНачала < ВременнаяТаблица2.ДатаНачала)

    СГРУППИРОВАТЬ ПО
    ВременнаяТаблица1.ДатаНачала,
    ВременнаяТаблица1.Событие
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВременнаяТаблица3.ДатаНачала КАК ДатаНачала,
    ВЫБОР
    КОГДА ВременнаяТаблица3.ДатаОкончания = 0
    ТОГДА ВременнаяТаблица3.ДатаНачала2
    ИНАЧЕ ВременнаяТаблица3.ДатаОкончания
    КОНЕЦ КАК ДатаОкончания,
    ВременнаяТаблица3.Событие
    ИЗ
    ВременнаяТаблица3 КАК ВременнаяТаблица3
```
---
Через вычисляемое поле с выражением ВЫЧИСЛИТЬВЫРАЖЕНИЕ(...) - см. помощь/примеры по СКД.
Там только нюанс вроде такой будет. Для последней строки Дата завершения возьмется, как Дата начала из первой строки.
---
Добавьте в запрос еще такую же таблицу, сделайте левое соединение этих таблиц с условием Таблица1.ДатаНачала < Таблица2.ДатаНачала и далее по примеру (Первые два запроса просто строят две одинаковые таблицы. У вас они будут браться из регистров). Числа нудно заменить на даты и в условии проверка не на "0", а на пустую дату:

```1c
    ВЫБРАТЬ
    1 КАК ДатаНачала,
    2 КАК ДатаОкончания,
    "Событие1" КАК Событие
    ПОМЕСТИТЬ ВременнаяТаблица1

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

    ВЫБРАТЬ
    3,
    0,
    "Событие2"

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

    ВЫБРАТЬ
    4,
    0,
    "Событие3"
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    1 КАК ДатаНачала,
    2 КАК ДатаОкончания,
    "Событие1" КАК Событие
    ПОМЕСТИТЬ ВременнаяТаблица2

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

    ВЫБРАТЬ
    3,
    0,
    "Событие2"

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

    ВЫБРАТЬ
    4,
    0,
    "Событие3"
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВременнаяТаблица1.ДатаНачала КАК ДатаНачала,
    МИНИМУМ(ВременнаяТаблица1.ДатаОкончания) КАК ДатаОкончания,
    ВременнаяТаблица1.Событие КАК Событие,
    МИНИМУМ(ВременнаяТаблица2.ДатаНачала) КАК ДатаНачала2
    ПОМЕСТИТЬ ВременнаяТаблица3
    ИЗ
    ВременнаяТаблица1 КАК ВременнаяТаблица1
    ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблица2 КАК ВременнаяТаблица2
    ПО (ВременнаяТаблица1.ДатаНачала < ВременнаяТаблица2.ДатаНачала)

    СГРУППИРОВАТЬ ПО
    ВременнаяТаблица1.ДатаНачала,
    ВременнаяТаблица1.Событие
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВременнаяТаблица3.ДатаНачала КАК ДатаНачала,
    ВЫБОР
    КОГДА ВременнаяТаблица3.ДатаОкончания = 0
    ТОГДА ВременнаяТаблица3.ДатаНачала2
    ИНАЧЕ ВременнаяТаблица3.ДатаОкончания
    КОНЕЦ КАК ДатаОкончания,
    ВременнаяТаблица3.Событие
    ИЗ
    ВременнаяТаблица3 КАК ВременнаяТаблица3
```
---
Спасибо!
---
Я пошла более простым путем: добавила еще регистр сведений по срезу последних и прописала условие для поля "ДатаЗавершения":

```1c
    ВЫБОР
    КОГДА СостояниеРаботниковОрганизаций.ПериодЗавершения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
    И НЕ СостояниеРаботниковОрганизаций.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияРаботникаОрганизации.Работает)
    ТОГДА ДОБАВИТЬКДАТЕ(СостояниеРаботниковОрганизацийСрезПоследних.Период, СЕКУНДА, -1)
    ИНАЧЕ ДОБАВИТЬКДАТЕ(СостояниеРаботниковОрганизаций.ПериодЗавершения, СЕКУНДА, -1)
    КОНЕЦ
```