Имя: Пароль:
1C
1С v8
Запрос-прошу помощи
🠗 (Волшебник 02.06.2013 18:39)
0 mnimo
 
02.06.13
16:37
Как запросом сделать такую вещь:
К примеру выбираем данные из РН за период и помещаем в ВТ, со следующими полями(к примеру за год):
Период,
Контрагент.

Далее хочется, что бы из этой ВТ для каждого периода "Период" сделать еще отбор но уже с выборкой по дате, отталкиваясь от нашего поля "период" минус 6 месяцев. Т.е если например поле "Период" содержит месяц июнь, то выбрать данные за предшествующие 6 месяцев. И так по каждому месяцу поля "Период" в нашей ВТ.

Пытаюсь сделать что-то такое, но недопонимаю скорей запросов просто для решения задачи:

ВЫБРАТЬ
   ВложенныйЗапрос.ПериодМесяц,
   ВТПродажиОборот.Контрагент
ИЗ
   (ВЫБРАТЬ
       ВТПродажиОборот.ПериодМесяц КАК ПериодМесяц
   ИЗ
       ВТПродажиОборот КАК ВТПродажиОборот
   СГРУППИРОВАТЬ ПО
       ВТПродажиОборот.ПериодМесяц) КАК ВложенныйЗапрос
       ЛЕВОЕ СОЕДИНЕНИЕ ВТПродажиОборот КАК ВТПродажиОборот
       ПО (ВТПродажиОборот.Регистратор.Дата МЕЖДУ ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ПериодМесяц, МЕСЯЦ, -6) И КонецПериода(ВложенныйЗапрос.ПериодМесяц, Месяц))
СГРУППИРОВАТЬ ПО
   ВложенныйЗапрос.ПериодМесяц,
   ВТПродажиОборот.Контрагент


ВТПродажиОборот та самая ВТ из РН.
РН-регистр накопления
1 mnimo
 
02.06.13
16:46
Во вложенном запросе я выбираю все возможные периоды которые получились в процессе выборки из РН.
Далее пытаюсь соединить Вложенный запрос с ВТ по левому соединению(т.е выбираю все из Вложенного а из Вт только данные по условию).
Вот насколько это верно???
2 mnimo
 
02.06.13
16:48
Получается "Период" из ВЗ-вложенный запрос и "Контрагент" если есть в периоде "Период" минус 6 мес - "Период".
3 mnimo
 
02.06.13
16:52
Напишите если хрень полную пишу, а то так совсем запутаюсь.
4 shuhard
 
02.06.13
18:07
(3) хрень абсолютная - чисто конкретно
5 vi0
 
02.06.13
18:07
результат верный?
6 mnimo
 
02.06.13
18:10
(5)НЕ
7 vi0
 
02.06.13
18:11
а для чего выбираешь Месяц и Контр-а ? Почему только эти поля в выборке?
8 vi0
 
02.06.13
18:13
опиши какую решаешь задачу
9 mnimo
 
02.06.13
18:28
Я отчет делаю на СКД "По клиентам"-так назовем его. Смысл в том что бы разбить клиентов всех на группы(кто был и ушел, кто давно и работает, кто один раз покрасовался):всем этим разновидностям даны названия. данные берутся в восновном из регистра Продажи за период максимум год. Так вот там мне нужно по месяцам разбить данные.Я сделал запрос который выбирает по всем условиям за месяц, вот сейчас нужно сделать отчет что бы формировался на произвольный интервал по датам(Месяц(ы),Квартал(ы),Год(ы)). Вот в общем так.
10 Мимохожий Однако
 
02.06.13
18:30
В запросе периодичность "авто"?
11 mnimo
 
02.06.13
18:35
(10)Да
12 vi0
 
02.06.13
18:35
а заказчику нужен свой особый отчет? не смотрели xyz классификацию в типовых?
13 mnimo
 
02.06.13
18:36
(12)Не тут свои замороки, свои условия и вообще своя колокольня.
14 vi0
 
02.06.13
18:42
если делать одним запросом то, сходу, видится потребность выбирать избыточные данные т.к. у каждого контра свои периоды

можно посмотреть в сторону связи наборов данных СКД через параметр, когда для каждой записи первого набора выполняется запрос второго запроса с параметрами из строки первого набора
15 mnimo
 
02.06.13
18:51
(14)Да, как раз это пробую, как разберусь отпишусь получиться или нет.
16 mnimo
 
02.06.13
18:52
Больше во всяком случае выходов не вижу как руками писать отчет. Что оч не хочется. эт к бабке не ходи на пол ночи затянется...
17 Cyberhawk
 
02.06.13
18:53
(15) Я делал по статейке Книга знаний: Срез последних на каждую дату в запросе (глава "СКД")
18 Cyberhawk
 
02.06.13
18:54
+(17) картинки там только скопируй руками (правильный адрес) в строку браузера
19 mnimo
 
02.06.13
18:57
А можно как то ВТ передать через этот параметр?
20 mnimo
 
02.06.13
18:58
А то у меня получается пол запроса придется во втором наборе данных исполнить.
21 Cyberhawk
 
02.06.13
18:59
Можно, но тогда придется программно подсасываться к СКД и программно формировать отчет
22 mnimo
 
02.06.13
19:03
(21)Из набора в набор не передать по другому?
23 vi0
 
02.06.13
19:14
(22) в чем именно сложность?
24 vi0
 
02.06.13
19:16
(20) чем это усложняет решение?
25 Cyberhawk
 
02.06.13
19:23
(22) листаю книжку Хрусталевой по СКД - в ней такого нет. Вероятно-таки без кода - нельзя.
26 mnimo
 
02.06.13
19:24
(21)не подскажите в книге где такой вариант рассматривается?
(24)Я просто не знаю как это сделать.
27 mnimo
 
02.06.13
19:49
Думаю сформировать ТЗ кодом, в СКД подгрузить ТЗ и там уже колдовать с объединениями.
28 vi0
 
04.06.13
14:14
рассмотри в документации к СКД пример ABCКлассификация для ГРУППОВАЯОБРАБОТКА