|
Запрос: Получение перечня дат между &НачалоПериода и &КонецПериода | ☑ | ||
---|---|---|---|---|
0
seademon86
01.08.13
✎
13:55
|
Коллеги, прошу прощения за офф-топ, если не в тему.
Долго искал возможность получить полную таблицу дат в запросе между началом и концом периода. В итоге родился запрос, которым, если кому-то нужно, можно пользоваться (не привязан ни к какой конфигурации): ВЫБРАТЬ 0 КАК а ПОМЕСТИТЬ ВТ_Сч1000 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ 0 КАК а ПОМЕСТИТЬ ВТ_Сч100 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ 0 КАК а ПОМЕСТИТЬ ВТ_Сч10 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ 0 КАК а ПОМЕСТИТЬ ВТ_Сч1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ а1000.а * 1000 + а100.а * 100 + а10.а * 10 + а1.а КАК Счетчик ПОМЕСТИТЬ ВТ_Счетчик ИЗ ВТ_Сч1 КАК а1 ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Сч1000 КАК а1000 ПО (ИСТИНА) ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Сч100 КАК а100 ПО (ИСТИНА) ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Сч10 КАК а10 ПО (ИСТИНА) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Счетчик.Счетчик КАК Счетчик, ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, ВТ_Счетчик.Счетчик) КАК Дата ИЗ ВТ_Счетчик КАК ВТ_Счетчик ГДЕ ВТ_Счетчик.Счетчик <= РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ) УПОРЯДОЧИТЬ ПО Счетчик |
|||
1
DarKySiK
01.08.13
✎
13:57
|
баянист
|
|||
2
Maxus43
01.08.13
✎
13:58
|
||||
3
Maxus43
01.08.13
✎
13:58
|
+ и ещё куча таких запросов на мисте уже выкладывалось...
|
|||
4
fisher
01.08.13
✎
14:03
|
Извращенец
ВЫБРАТЬ 0 КАК Цифра ПОМЕСТИТЬ Цифры ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДниПериода.ДеньПериода КАК ДеньПериода ИЗ (ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, Тысячи.Цифра * 1000 + Сотни.Цифра * 100 + Десятки.Цифра * 10 + Единицы.Цифра) КАК ДеньПериода ИЗ Цифры КАК Тысячи, Цифры КАК Сотни, Цифры КАК Десятки, Цифры КАК Единицы ГДЕ Тысячи.Цифра * 1000 + Сотни.Цифра * 100 + Десятки.Цифра * 10 + Единицы.Цифра <= РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ)) КАК ДниПериода УПОРЯДОЧИТЬ ПО ДеньПериода |
|||
5
fisher
01.08.13
✎
14:07
|
(4) Блин, тут вложенный запрос лишний у меня. Просто выкусывал и деградировал из рабочего запроса, где еще по стандартным периодам раскладка была.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |