|
Вывод дат | ☑ | ||
|---|---|---|---|---|
|
0
SmoKIE
25.03.22
✎
16:04
|
Добрый день, я только учусь 1С, поэтому могу чего-то не знать
Суть в чем, есть таблица значений с одним столбцом "Дата". В этом столбце выводиться значения, например: 01.01.2022 05.01.2022 09.01.2022 13.01.2022 И надо через запрос прогнать эту таблицу значений и вывести результат в два столбца в виде периодов между датами, например получить должны: 01.01.2022 | 04.01.2022 05.01.2022 | 08.01.2022 09.01.2022 | 12.01.2022 13.01.2022 | В первом столбце по сути ничего не меняется, а вот во второй уже меняется на -1 день и начинается со второго значения Пробовал создавать 2 пакета запросов и связывать левым соединением, но не достиг желаемого результата, значения дублируются Может у кого мысли какие есть? Логикой можете подсказать) |
|||
|
1
acht
25.03.22
✎
16:20
|
Левое соединение самим с собой по дате больше, выбор минимума, чтобы получить ближайшее и минус день чтобы получить конец периода
|
|||
|
2
Владушка
25.03.22
✎
16:30
|
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ВТ.ДатаНачала КАК ДатаНачала, ДОБАВИТЬКДАТЕ(ВТ.ДатаНачала, ДЕНЬ, -1) КАК ДатаОкончания ПОМЕСТИТЬ Вт2 ИЗ ВТ КАК ВТ СГРУППИРОВАТЬ ПО ВТ.ДатаНачала, ДОБАВИТЬКДАТЕ(ВТ.ДатаНачала, ДЕНЬ, -1) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ.ДатаНачала КАК ДатаНачала, МИНИМУМ(Вт2.ДатаОкончания) КАК ДатаОкончания ИЗ ВТ КАК ВТ ЛЕВОЕ СОЕДИНЕНИЕ Вт2 КАК Вт2 ПО ВТ.ДатаНачала < Вт2.ДатаОкончания СГРУППИРОВАТЬ ПО ВТ.ДатаНачала |
|||
|
3
acht
25.03.22
✎
16:41
|
(2) А теперь тоже самое, но одним запросом
|
|||
|
4
SmoKIE
25.03.22
✎
16:42
|
Всем спасибо, у меня получился желаемый результат. Всего то надо было сгруппировать по "МИНИМУМ"
Спасибо за код:) Но я своим справился, за подсказки МЕГА благодарность ;) |
|||
|
5
acht
25.03.22
✎
16:45
|
(4) > группировать по "МИНИМУМ"
Эт зачем? |
| Форум | Правила | Описание | Секции | Поиск |