Способ генерации последовательности дат средствами языка запроса 1С.
Алгоритм:
1. Генерируем числовой ряд от 0 до n. Получаем так: [0,1,2,3,4,5,6,7,8,9] Х [0,1,2,3,4,5,6,7,8,9] X ….. Х [0,1,2,3,4,5,6,7,8,9]. Количество элементов последовательности = 10#k8SjZc9Dxkn, где n — количество векторов.
2. От конечной даты отнимаем число дней, равное каждому из членов последовательности из пункта 1.
Запрос:
ВЫБРАТЬ
Подзапрос.Дата КАК Дата
ИЗ
(ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(&КонДата, ДЕНЬ, -1 * (Единицы.a + 10 * Десятки.a + 100 * Сотни.a + 1000 * Тысячи.a)) КАК Дата
ИЗ
(ВЫБРАТЬ 0 КАК a ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Единицы,
(ВЫБРАТЬ 0 КАК a ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Десятки,
(ВЫБРАТЬ 0 КАК a ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Сотни,
(ВЫБРАТЬ 0 КАК a ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9) КАК Тысячи
) КАК Подзапрос
ГДЕ
Подзапрос.Дата МЕЖДУ &НачДата И &КонДата
УПОРЯДОЧИТЬ ПО
Дата УБЫВ
Дмитрий, в данном типа запроса соединения и условия соединений в подзапросе вообще не нужны.
Добрый день. Платформа 1С не позволяет сделать соединение без условий.
(2) А вам не надо указывать никаких соединений. В этом запросе все со всеми соединяются и так.
Пример
(4)Согласен, запрос поправил. Спасибо.
Описанное решение явлется иллюстрацией принципа порождающего запроса:https://infostart.ru/public/90367/