Запрос генерирующий даты по дням за указанный период
Запросы;
Запрос = Новый Запрос;У данного запроса есть ограничение, он позволяет сгенерировать не более 10000 дней.
Запрос.Текст =
"ВЫБРАТЬ
| 1 КАК Цифра
|ПОМЕСТИТЬ Цифры
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 2
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 3
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 4
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 5
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 6
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 7
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 8
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 9
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 10
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&НачПериода, ДЕНЬ, 1000 * (Тысячи.Цифра - 1) + 100 * (Сотни.Цифра - 1) + 10 * (Десятки.Цифра - 1) + Единицы.Цифра - 1), ДЕНЬ) КАК ДатаДень
|ИЗ
| Цифры КАК Единицы,
| Цифры КАК Десятки,
| Цифры КАК Сотни,
| Цифры КАК Тысячи
|ГДЕ
| ДОБАВИТЬКДАТЕ(&НачПериода, ДЕНЬ, 1000 * (Тысячи.Цифра - 1) + 100 * (Сотни.Цифра - 1) + 10 * (Десятки.Цифра - 1) + Единицы.Цифра - 1) <= &КонПериода
|
|УПОРЯДОЧИТЬ ПО
| ДатаДень";
Запрос.УстановитьПараметр("НачПериода", ДатаНачалаПериода);
Запрос.УстановитьПараметр("КонПериода", ДатаКонцаПериода);