Генерация временного ряда запросом

07.05.18

Разработка - Универсальные функции

Способ генерации последовательности дат средствами языка запроса 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^n, где 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) КАК Тысячи
     ) КАК Подзапрос
ГДЕ
    Подзапрос.Дата МЕЖДУ &НачДата И &КонДата

УПОРЯДОЧИТЬ ПО
    Дата УБЫВ

 

Вступайте в нашу телеграмм-группу Инфостарт

генерации последовательности дат

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    4936    Abysswalker    11    

47

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

14.05.2025    9218    DeerCven    15    

63

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    58589    dimanich70    85    

175

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    8195    7    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    73473    atdonya    31    

73

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    10190    ke.92@mail.ru    17    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Kashemir 352 07.05.18 12:43 Сейчас в теме
Дмитрий, в данном типа запроса соединения и условия соединений в подзапросе вообще не нужны.
2. dim_zal 88 08.05.18 09:01 Сейчас в теме
Добрый день. Платформа 1С не позволяет сделать соединение без условий.
Прикрепленные файлы:
3. Kashemir 352 08.05.18 10:45 Сейчас в теме
(2) А вам не надо указывать никаких соединений. В этом запросе все со всеми соединяются и так.
4. Kashemir 352 08.05.18 10:52 Сейчас в теме
Пример
Прикрепленные файлы:
5. dim_zal 88 08.05.18 11:37 Сейчас в теме
(4)Согласен, запрос поправил. Спасибо.
6. kalyaka 1181 08.05.18 23:57 Сейчас в теме
Описанное решение явлется иллюстрацией принципа порождающего запроса: https://infostart.ru/public/90367/
vanoono; boln; +2 Ответить
Для отправки сообщения требуется регистрация/авторизация