Если ограничить максимальную длину периода - то можно сделать запрос.
Например, для максимальной длины 3 будет приблизительно такой запрос (начальные данные хранятся в источнике данных Начало)
Выбрать
значение,
дата как ПерваяДата,
ДобавитьКдате(Дата,день,1) как ВтораяДата,
ДобавитьКдате(Дата,день,2) как ТретьяДата
поместить ВсеДаты
из Начало;
Выбрать
ВсеДаты.значение,
ЕстьNull(Начало.Дата, ВсеДаты.Перваядата) КАК КонецПериода1,
ВсеДаты.ТретьяДата,
ВсеДаты.Перваядата
Поместить Период1
из ВсеДаты левое соединение Начало
по ВсеДаты.Значение=Начало.Значение и ВсеДаты.ВтораяДата=Начало.Дата;
Выбрать
Период1.значение,
Период1.ПерваяДата как НачалоПериода,
ЕстьNull(Начало.Дата, Период1.КОнецПериода1) КАК КонецПериода
из Период1 левое соединение Начало
по Период1.Значение=Начало.Значение и Период1.ТретьяДата=Начало.Дата