Интервалы дат в запросе в соответствии с таблицей значений... #653338


#0 by МикаМ
Подскажите пожалуйста может кто-то сталкивался с такой проблемой Есть следующий Запрос в котором в "Разница" получается кол-во дней между выпиской документа и оплатой... " ВЫБРАТЬ    Взаиморасчеты.Контрагент КАК Контрагент,    (Взаиморасчеты.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее            ИЛИ Взаиморасчеты.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер) СГРУППИРОВАТЬ ПО    Взаиморасчеты.Контрагент, Так же есть таблица значений ТЗ - со значениями интервалов 7, 14, 21... Вопрос: Как получить на выходе из запроса чтоб результат можно было вывеси от 1 до 7 дней, от 8 до 14, от 15 до 21 и от 21 и больше... По кол-ву дней - "Разница" - вывести - абсолютно без проблем - вопрос в том как разделить выводимые данные на необходимые интервалы? То есть получается что ТЗ нужно подключить к запросу и разбивать данные на интервалы в зависимости от указанных в таблице значений... Прописать интервалы непосредственно в запросе - делал, но вся проблема в том что и они сами и их кол-во может изменяться...
#1 by SMakcik
Запиши интервалы или в таблицу значений либо в регистр сведений и выводи как угодно
#2 by МикаМ
Так они уже в таблице значений - вопрос том как это все подключить верно к запросу...
#3 by SMakcik
Выборкой из таблицы значений и соеденением
#4 by МикаМ
7 14 21
#5 by SMakcik
Ну а добавить две колонки не судьба?
#6 by МикаМ
"Выборкой из таблицы значений и соеденением" - вот именно это я и не знаю как бы сделать...
#7 by МикаМ
Можно хоть 5 колонок - только как их в запросе обрабатывать?
#8 by SMakcik
#9 by МикаМ
а как обьединить с основным запросом? подскажи плиз...
#10 by SMakcik
Блин ну за вас еще надо написать всю программу
#11 by SMakcik
Соединение типа >= И <= не слыхал
#12 by SMakcik
т.е ЛЕВОЕ СОЕДИНЕНИЕ .... ПО Разница > ТЗ.НачалоИнтервала И Разница <= ТЗ.КонецИнтервала
#13 by МикаМ
Спасибо, счас буду пробовать...
#14 by Xatori
Из того как я понял задачу, я бы добавил колонку с Интервалами и туда присваивал бы значения 7,14,21 через Выбор Когда тогда, и потом подвёл итоги и вуаля, отсортированные записи и перебирать потом удобно.
#15 by МикаМ
но мы изначально не знаем сколько будет значений... как делать поиск через выбор Когда по Таблице значений?
#16 by Xatori
ну господи, сделай запрос динамическим, перебирай свою таблицу и добавляй в запрос Выборов сколько надо))
#17 by МикаМ
низзя динамическим - он у мну в СКД живет )))
#18 by Xatori
вынь из СКД)) лепи ТЗ нужную и в СКД передавай
#19 by Xatori
кстати там и итоги сможешь подвести
#20 by МикаМ
тоже, конечно вариант, но лепить СКД вручную - не так красиво как сделать грамотно запрос - в любом случае если по другому ничего не выйдет, то так и придется делать...
#21 by Xatori
А есть максимально допустимое число значений в ТЗ?
#22 by Xatori
Кстати в запросе ты обращаешься к ВТ Регистра накопления, Какой смысл дополнительно группировать записи, если изначально ты их получаешь максимально сгруппированными.
#23 by МикаМ
может штук 10 - больше врядли кто-то решится - хотя я их думаю брать из справочника "НастройкаИнтервалов" есть у мну такой в конфе - теоретически в нем кол-во интервалов ограничивается только количеством строк в таблице значения...
#24 by МикаМ
Изначально они сгрупированны не по тем интервалам дат которые мне нужны
#25 by Xatori
Тогда тут мне кажется без вариантов, делай динамический запрос, и в СКД, другое мне что то ничего не приходит в голову)) Хотя есть мыслишка воспользоваться Шаманом и бубном:)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С