|
Интервалы дат в запросе в соответствии с таблицей значений... | ☑ | ||
---|---|---|---|---|
0
МикаМ
21.02.13
✎
13:43
|
Подскажите пожалуйста может кто-то сталкивался с такой проблемой
Есть следующий Запрос в котором в "Разница" получается кол-во дней между выпиской документа и оплатой... " ВЫБРАТЬ Взаиморасчеты.Контрагент КАК Контрагент, Взаиморасчеты.ДоговорКонтрагента.Подразделение КАК Подразделение, СУММА(Взаиморасчеты.СуммаВзаиморасчетовОборот) КАК Сумма, Взаиморасчеты.ДоговорКонтрагента КАК ДоговорКонтрагента, РАЗНОСТЬДАТ(Взаиморасчеты.ДокументРасчетовСКонтрагентом.Дата, Взаиморасчеты.Период, ДЕНЬ) КАК Разница, Взаиморасчеты.Регистратор ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Обороты(, , Регистратор, ) КАК Взаиморасчеты ГДЕ (Взаиморасчеты.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее ИЛИ Взаиморасчеты.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер) СГРУППИРОВАТЬ ПО Взаиморасчеты.Контрагент, Взаиморасчеты.ДоговорКонтрагента.Подразделение, Взаиморасчеты.ДоговорКонтрагента, Взаиморасчеты.Регистратор, Взаиморасчеты.Период, РАЗНОСТЬДАТ(Взаиморасчеты.ДокументРасчетовСКонтрагентом.Дата, Взаиморасчеты.Период, ДЕНЬ) УПОРЯДОЧИТЬ ПО Подразделение, Контрагент, ДоговорКонтрагента" Так же есть таблица значений ТЗ - со значениями интервалов 7, 14, 21... Вопрос: Как получить на выходе из запроса чтоб результат можно было вывеси от 1 до 7 дней, от 8 до 14, от 15 до 21 и от 21 и больше... По кол-ву дней - "Разница" - вывести - абсолютно без проблем - вопрос в том как разделить выводимые данные на необходимые интервалы? То есть получается что ТЗ нужно подключить к запросу и разбивать данные на интервалы в зависимости от указанных в таблице значений... Прописать интервалы непосредственно в запросе - делал, но вся проблема в том что и они сами и их кол-во может изменяться... |
|||
1
SMakcik
21.02.13
✎
13:47
|
Запиши интервалы или в таблицу значений либо в регистр сведений и выводи как угодно
|
|||
2
МикаМ
21.02.13
✎
13:48
|
Так они уже в таблице значений - вопрос том как это все подключить верно к запросу...
|
|||
3
SMakcik
21.02.13
✎
13:49
|
Выборкой из таблицы значений и соеденением
|
|||
4
МикаМ
21.02.13
✎
13:49
|
ТЗ - Таблица значений
7 14 21 |
|||
5
SMakcik
21.02.13
✎
13:50
|
Ну а добавить две колонки не судьба?
|
|||
6
МикаМ
21.02.13
✎
13:50
|
"Выборкой из таблицы значений и соеденением" - вот именно это я и не знаю как бы сделать...
|
|||
7
МикаМ
21.02.13
✎
13:51
|
Можно хоть 5 колонок - только как их в запросе обрабатывать?
|
|||
8
SMakcik
21.02.13
✎
13:51
|
Запрос = Новый Запрос("
|ВЫБРАТЬ | тз.Наименование, | тз.НачалоИнтервала, | тз.КонецИнтервала |ПОМЕСТИТЬ тз |ИЗ | &тз КАК тз; |
|||
9
МикаМ
21.02.13
✎
13:57
|
а как обьединить с основным запросом? подскажи плиз...
|
|||
10
SMakcik
21.02.13
✎
14:00
|
Блин ну за вас еще надо написать всю программу
|
|||
11
SMakcik
21.02.13
✎
14:01
|
Соединение типа >= И <= не слыхал
|
|||
12
SMakcik
21.02.13
✎
14:08
|
т.е ЛЕВОЕ СОЕДИНЕНИЕ .... ПО Разница > ТЗ.НачалоИнтервала И Разница <= ТЗ.КонецИнтервала
|
|||
13
МикаМ
21.02.13
✎
14:28
|
Спасибо, счас буду пробовать...
|
|||
14
Xatori
21.02.13
✎
15:08
|
Из того как я понял задачу, я бы добавил колонку с Интервалами и туда присваивал бы значения 7,14,21 через Выбор Когда тогда, и потом подвёл итоги и вуаля, отсортированные записи и перебирать потом удобно.
|
|||
15
МикаМ
21.02.13
✎
15:36
|
но мы изначально не знаем сколько будет значений... как делать поиск через выбор Когда по Таблице значений?
|
|||
16
Xatori
21.02.13
✎
15:42
|
ну господи, сделай запрос динамическим, перебирай свою таблицу и добавляй в запрос Выборов сколько надо))
|
|||
17
МикаМ
21.02.13
✎
15:43
|
низзя динамическим - он у мну в СКД живет )))
|
|||
18
Xatori
21.02.13
✎
15:44
|
вынь из СКД)) лепи ТЗ нужную и в СКД передавай
|
|||
19
Xatori
21.02.13
✎
15:45
|
кстати там и итоги сможешь подвести
|
|||
20
МикаМ
21.02.13
✎
15:48
|
тоже, конечно вариант, но лепить СКД вручную - не так красиво как сделать грамотно запрос - в любом случае если по другому ничего не выйдет, то так и придется делать...
|
|||
21
Xatori
21.02.13
✎
15:49
|
А есть максимально допустимое число значений в ТЗ?
|
|||
22
Xatori
21.02.13
✎
15:56
|
Кстати в запросе ты обращаешься к ВТ Регистра накопления, Какой смысл дополнительно группировать записи, если изначально ты их получаешь максимально сгруппированными.
|
|||
23
МикаМ
21.02.13
✎
15:58
|
может штук 10 - больше врядли кто-то решится - хотя я их думаю брать из справочника "НастройкаИнтервалов" есть у мну такой в конфе - теоретически в нем кол-во интервалов ограничивается только количеством строк в таблице значения...
|
|||
24
МикаМ
21.02.13
✎
16:00
|
Изначально они сгрупированны не по тем интервалам дат которые мне нужны
|
|||
25
Xatori
21.02.13
✎
16:12
|
Тогда тут мне кажется без вариантов, делай динамический запрос, и в СКД, другое мне что то ничего не приходит в голову))
Хотя есть мыслишка воспользоваться Шаманом и бубном:) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |