HelpF.pro

Как запросом получить таблицу Дат начиная с указанной

Результатом выполнения данного запроса будет таблица периодов начиная с указанной даты + 10 000 дней.
Код 1C v 8.х
 Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d) КАК Период
|ИЗ
| (ВЫБРАТЬ 0 КАК a ОБЪЕДИНИТЬ
| ВЫБРАТЬ 1 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 2 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 3 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 4 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 5 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 6 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 7 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 8 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 9) КАК aa
| ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК b ОБЪЕДИНИТЬ
| ВЫБРАТЬ 1 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 2 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 3 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 4 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 5 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 6 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 7 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 8 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 9) КАК bb
| ПО (ИСТИНА)
| ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК c ОБЪЕДИНИТЬ
| ВЫБРАТЬ 1 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 2 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 3 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 4 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 5 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 6 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 7 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 8 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 9) КАК cc
| ПО (ИСТИНА)
| ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК d ОБЪЕДИНИТЬ
| ВЫБРАТЬ 1 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 2 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 3 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 4 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 5 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 6 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 7 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 8 ОБЪЕДИНИТЬ
| ВЫБРАТЬ 9) КАК dd
| ПО (ИСТИНА)";
Запрос.УстановитьПараметр("НачалоПериода", Дата("12.12.2012 0:00:00"));

Результат = Запрос.Выполнить();
Выборка = Результат.Выгрузить();
Для каждого СтрокаТЗ Из Выборка Цикл
Сообщить(СтрокаТЗ.Период);
КонецЦикла;


Указав в качестве параметра 12.12.2012 получаем:
Код
Период
12.12.2012 0:00:00
13.12.2012 0:00:00
14.12.2012 0:00:00
15.12.2012 0:00:00
16.12.2012 0:00:00
17.12.2012 0:00:00
...........................
26.04.2040 0:00:00
27.04.2040 0:00:00
28.04.2040 0:00:00

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq82/view/1324.html