|
Запрос по периоду с группировкой по месяцам | ☑ | ||
---|---|---|---|---|
0
sound
16.10.15
✎
11:55
|
Товарищи, как сделать такую штуку в запросе: за выбранный период получить в результате строки, содержащие НачалоМесяца, КонецМесяца и количество дней в месяце? то есть выбираю например период 2 года
и в результате 24 строки по каждому месяцу 01.01.2015 31.01.2015 31 01.02.2015 28.02.2015 28 и т.д. |
|||
1
Горогуля
16.10.15
✎
12:09
|
употребить начало периода, конец периода и разность дат
|
|||
2
Горогуля
16.10.15
✎
12:10
|
конечно, быстрее соединить таблицу периодов с таблицей вида "месяц_числом, количество_дней"
|
|||
3
sound
16.10.15
✎
12:13
|
ну вот и не хватает тяму как это сделать
|
|||
4
Горогуля
16.10.15
✎
12:20
|
(3) в чём затык?
|
|||
5
sound
16.10.15
✎
12:23
|
(4)
я просто думаю можно как то изъебнуться без такой хрени или нет: ВЫБРАТЬ ДАТАВРЕМЯ(2014,1,1), ДАТАВРЕМЯ(2014,1,31), 31 ОБЪЕДИНИТЬ ВЫБРАТЬ ДАТАВРЕМЯ(2014,2,1), ДАТАВРЕМЯ(2014,2,28), 28 ................................................. То есть чтоб не писать для каждого месяца запрос, а передать всего 2 параметра, например 01.01.2014 и 31.12.2015 и чтоб запрос вернул 24 строки по каждому месяцу из этого интервала. То есть я понимаю, что я как бы цикл в запросе хочу получить и вот думаю а не дохрена ли я хочу? ) |
|||
6
sound
16.10.15
✎
12:24
|
ой простите, мат скопировался :) извиняюсь
|
|||
7
Горогуля
16.10.15
✎
12:25
|
можешь отдать в запрос готовую таблицу периодов, сделанную циклом, можешь сам собрать из ничего в запросе, можешь запросить календарь, если есть...
|
|||
8
Горогуля
16.10.15
✎
12:25
|
в первом случае немного напиильника - и запрос не нужен ;)
|
|||
9
sound
16.10.15
✎
12:30
|
(7) Гениально, календарь же есть :))))
Тогда вопрос снимается. Пасиба за подсказку :)_ |
|||
10
Горогуля
16.10.15
✎
12:30
|
вот тебе немного чисел из ниоткуда
выбрать 0 как цифра поместить цифры объединить выбрать 1 объединить выбрать 2 объединить выбрать 3 объединить выбрать 4 объединить выбрать 5 объединить выбрать 6 объединить выбрать 7 объединить выбрать 8 объединить выбрать 9; выбрать 1000*тысячи.цифра+100*сотни.цифра+10*десятки.цифра+единицы.цифра из цифры как тысячи, цифры как сотни, цифры как десятки, цифры как единицы |
|||
11
sound
16.10.15
✎
12:31
|
Вот я туплю а )
|
|||
12
Гипервизор
16.10.15
✎
12:33
|
Ну если календарь в конфе есть можно по быстрому как-то так:
ВЫБРАТЬ НАЧАЛОПЕРИОДА(Календарь.ДатаКалендаря, МЕСЯЦ) КАК НачалоПериода, КОНЕЦПЕРИОДА(Календарь.ДатаКалендаря, МЕСЯЦ) КАК КонецПериода, ДЕНЬ(КОНЕЦПЕРИОДА(Календарь.ДатаКалендаря, МЕСЯЦ)) КАК ЧислоДней ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК Календарь ГДЕ Календарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода СГРУППИРОВАТЬ ПО Календарь.Год, НАЧАЛОПЕРИОДА(Календарь.ДатаКалендаря, МЕСЯЦ), КОНЕЦПЕРИОДА(Календарь.ДатаКалендаря, МЕСЯЦ), ДЕНЬ(КОНЕЦПЕРИОДА(Календарь.ДатаКалендаря, МЕСЯЦ)) УПОРЯДОЧИТЬ ПО Календарь.Год |
|||
13
sound
16.10.15
✎
12:56
|
(12) Ну да, так и сделал, только там надо единичку прибавить еще:
1 + ДЕНЬ(КОНЕЦПЕРИОДА(Календарь.ДатаКалендаря, МЕСЯЦ)) КАК ЧислоДней |
|||
14
Горогуля
16.10.15
✎
13:14
|
01.01.2015 31.01.2015 32
01.02.2015 28.02.2015 29 так штоль? |
|||
15
Гипервизор
16.10.15
✎
13:15
|
Единичка зачем??
|
|||
16
Гипервизор
16.10.15
✎
13:15
|
(14) Во-во, ТС начинает путаться в показаниях
|
|||
17
Горогуля
16.10.15
✎
13:19
|
ВЫБОР
КОГДА МЕСЯЦ(Календарь.ДатаКалендаря) = 5 ТОГДА 32 ИНАЧЕ ДЕНЬ(КОНЕЦПЕРИОДА(Календарь.ДатаКалендаря, МЕСЯЦ)) КОНЕЦ КАК ЧислоДней |
|||
18
Горогуля
16.10.15
✎
13:20
|
Да скажу вам откровенно: меня же тоже многое не устраивает. Я тоже со многим не согласен. Да, да. В частности. Я не в восторге от нашего календаря. И не первый год. Но я не позволяю себе срывы! ©
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |