![]() |
![]() |
![]() |
|
v8: Помогите запрос написать | ☑ | ||
---|---|---|---|---|
0
MP-40
18.04.12
✎
08:00
|
Привет, как в запросе получить следующее?
Есть исходная таблица: Контрагент Товар ТТ Вася Люстра ТоргТочка1 Петя Банка ТоргТочка1 Марина Лопата ТоргТочка1 Вася Люстра торгточка2 Марина Штаны торгточка2 Вася Удочка торгточка2 Женя Рубашка торгточка2 Нужно получать информацию по контрагентам о количестве продаж с каждой из торговых точек. Делаю общие итоги, в группировочное поле ставлю контрагент, а расчитываю итоговое поле ТТ так - КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТТ) Но, не знаю как в общем итоге просуммировать промежуточные итоги: Контрагент Товар ТТ 2 //общий итог Вася 2 //итог по Васе Вася Люстра ТоргТочка1 Вася Люстра торгточка2 Вася Удочка торгточка2 Марина 1 //итог по Марине Марина Лопата ТоргТочка1 Марина Штаны торгточка2 Женя 1 //итог по Жене Женя Рубашка торгточка2 Петя 1 //итог по Пете Петя Банка ТоргТочка1 А нужно получить: Контрагент Товар ТТ 5 // т.е. сумма по по промежуточным итогам Вася 2 //итог по Васе Вася Люстра ТоргТочка1 Вася Люстра торгточка2 Вася Удочка торгточка2 Марина 1 //итог по Марине Марина Лопата ТоргТочка1 Марина Штаны торгточка2 Женя 1 //итог по Жене Женя Рубашка торгточка2 Петя 1 //итог по Пете Петя Банка ТоргТочка1 |
|||
1
MP-40
18.04.12
✎
08:01
|
Набирал в блокноте, что-то форматирование съехало (((
|
|||
2
golden-pack
18.04.12
✎
08:02
|
Отчет ? Не на скд ? Почему ?
|
|||
3
badboychik
18.04.12
✎
08:03
|
а что,
ИТОГИ СУММА(Продажи) ПО ТТ,Общие не работает? |
|||
4
Jstunner
18.04.12
✎
08:04
|
Сам запрос - это тайна?
|
|||
5
Explorer1c
18.04.12
✎
08:04
|
(0)Неандертальцам привет!
|
|||
6
badboychik
18.04.12
✎
08:05
|
почему по Васе итог=2 а не 3 ?
|
|||
7
Explorer1c
18.04.12
✎
08:06
|
(0)Используй построитель отчетов и все будет типтоп!
|
|||
8
MP-40
18.04.12
✎
08:06
|
Если писать Сумма(КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТТ)) , то пишет, что недопустимо использовать вложенные агрегирующие функции
|
|||
9
MP-40
18.04.12
✎
08:07
|
(6) потомучто по нему сработало только 2 различных торговых точки
|
|||
10
MP-40
18.04.12
✎
08:08
|
(7) ну поидее это запрос для инициализации построителя, но что-то я всеравно не понимаю как это сделать
|
|||
11
badboychik
18.04.12
✎
08:08
|
(9)тогда по Марине тоже должно быть 2
(8)напиши в 2 шага - пакет с временным запросом. Проблемы то нету тут |
|||
12
MP-40
18.04.12
✎
08:09
|
(11) да, верно, я ошибся когда набирал
|
|||
13
MP-40
18.04.12
✎
08:10
|
(11) временный запрос это временная таблица?
|
|||
14
golden-pack
18.04.12
✎
08:11
|
какой построитель...скд же есть
|
|||
15
MP-40
18.04.12
✎
08:14
|
(14) нее, там в отчете много чего еще другого напихано, а как СКД использовать в этом случае я не умею.
|
|||
16
golden-pack
18.04.12
✎
08:17
|
(15) да что ты тут зливаешь. Что там напихано ?
|
|||
17
MP-40
18.04.12
✎
08:24
|
(16) много чего. Вы мне можете подсказать по сабжу?
|
|||
18
Explorer1c
18.04.12
✎
08:24
|
(16)Скд-зло неудобное для пользователя
|
|||
19
zak555
18.04.12
✎
08:25
|
(0) > Есть исходная таблица
откуда ты её получил ? |
|||
20
MP-40
18.04.12
✎
08:26
|
(19) сформировал по регистрам, т.е. это собственно результат запроса
|
|||
21
zak555
18.04.12
✎
08:27
|
(20) ну так напиши сразу одним запросом
|
|||
22
badboychik
18.04.12
✎
08:28
|
Надо чтоб и сумма и промежуточные кол-ва были в одном результате?
|
|||
23
MP-40
18.04.12
✎
08:29
|
(21) я это и хочу сделать. Непонятно только как суммировать промежуточные итоги.
|
|||
24
MP-40
18.04.12
✎
08:29
|
(22) конечно
|
|||
25
zak555
18.04.12
✎
08:30
|
(23) исходный запрос покажи
|
|||
26
badboychik
18.04.12
✎
08:31
|
ВЫБРАТЬ
Контрагент, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТТ) КАК КолвоТТ ПОМЕСТИТЬ Колво ИЗ Таблиццо ; ВЫБРАТЬ NULL, СУММА(К.КолвоТТ) ИЗ Колво КАК К ОБЪЕДИНИТЬ ВЫБРАТЬ Контрагент, К.КолвоТТ ИЗ Колво КАК К |
|||
27
badboychik
18.04.12
✎
08:32
|
сгруппировать забыл
|
|||
28
MP-40
18.04.12
✎
08:34
|
(25)
Запрос.Текст = " |ВЫБРАТЬ | ВложенныйЗапрос.ТорговыйПредставитель КАК ТорговыйПредставитель, | ВложенныйЗапрос.Подразделение КАК Подразделение, | ВложенныйЗапрос.ТекПериод КАК Кол1, | ВложенныйЗапрос.ПредПериод КАК ПредПериод, | ВложенныйЗапрос.ЭфПериод КАК Кол2, | ВложенныйЗапрос.НовыеТТ КАК Кол3, | ВЫБОР | КОГДА ВложенныйЗапрос.ТекПериод = 0 | И ВложенныйЗапрос.ПредПериод = 1 | ТОГДА ВложенныйЗапрос.Контрагент | ИНАЧЕ 0 | КОНЕЦ КАК Кол4, | ВложенныйЗапрос.Сумма КАК Кол5, | ВложенныйЗапрос.Контрагент.ОбъектВладелец КАК Контрагент, | ВложенныйЗапрос.Контрагент КАК ТорговаяТочка, | ВложенныйЗапрос.Контрагент.ОбъектВладелец.ОсновнойМенеджерПокупателяДляВыписки КАК Менеджер, | ВложенныйЗапрос.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа |{ВЫБРАТЬ | ТорговыйПредставитель.*, | Подразделение.*} |ИЗ | (ВЫБРАТЬ | ВЫБОР | КОГДА ПродажиОбороты.ЗаказПокупателя.Дата = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ИЛИ ПродажиОбороты.ЗаказПокупателя = НЕОПРЕДЕЛЕНО | ТОГДА ПродажиОбороты.ДокументПродажи.ОсновнойМенеджерПокупателяДляВыписки | ИНАЧЕ ПродажиОбороты.ЗаказПокупателя.ОсновнойМенеджерПокупателяДляВыписки | КОНЕЦ КАК ТорговыйПредставитель, | СУММА(ВЫБОР | КОГДА ПродажиОбороты.Период МЕЖДУ &НачТекПериод И &КонТекПериод | ТОГДА ПродажиОбороты.СтоимостьОборот | ИНАЧЕ 0 | КОНЕЦ) КАК Сумма, | ВЫБОР | КОГДА ПродажиОбороты.ЗаказПокупателя.Дата = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ИЛИ ПродажиОбороты.ЗаказПокупателя = НЕОПРЕДЕЛЕНО | ТОГДА ПродажиОбороты.ДокументПродажи.Подразделение | ИНАЧЕ ПродажиОбороты.ЗаказПокупателя.Подразделение | КОНЕЦ КАК Подразделение, | ПродажиОбороты.ДокументПродажи.ТорговаяТочка КАК Контрагент, | МАКСИМУМ(ВЫБОР | КОГДА ПродажиОбороты.Период МЕЖДУ &НачТекПериод И &КонТекПериод | ТОГДА ПродажиОбороты.ДокументПродажи.ТорговаяТочка | ИНАЧЕ 0 | КОНЕЦ) КАК ТекПериод, | МАКСИМУМ(ВЫБОР | КОГДА ПродажиОбороты.Период МЕЖДУ &НачПредПериод И &КонПредПериод | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ) КАК ПредПериод, | МАКСИМУМ(ВЫБОР | КОГДА ПродажиОбороты.Период МЕЖДУ &НачЭфПериод И &КонЭфПериод | ТОГДА ПродажиОбороты.ДокументПродажи.ТорговаяТочка | ИНАЧЕ NULL | КОНЕЦ) КАК ЭфПериод, | ВЫБОР | КОГДА ВложенныйЗапрос.ДокументПродажиДата МЕЖДУ &НачТекПериод И &КонТекПериод | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ КАК НовыеТТ, | ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа | {ВЫБРАТЬ | ТорговыйПредставитель.*, | Подразделение.*} | ИЗ | РегистрНакопления.Продажи.Обороты( | &НачПериода, | &КонПериода, | Регистратор, | ДоговорКонтрагента.ВидДоговора = &СПокупателем | И ДокументПродажи ССЫЛКА Документ.РеализацияТоваровУслуг {(ДокументПродажи.Подразделение) КАК Подразделение}) КАК ПродажиОбороты | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | Продажи.ДокументПродажи.ТорговаяТочка КАК ДокументПродажиТорговаяТочка, | МИНИМУМ(Продажи.ДокументПродажи.Дата) КАК ДокументПродажиДата | ИЗ | РегистрНакопления.Продажи КАК Продажи | | СГРУППИРОВАТЬ ПО | Продажи.ДокументПродажи.ТорговаяТочка) КАК ВложенныйЗапрос | ПО ПродажиОбороты.ДокументПродажи.ТорговаяТочка = ВложенныйЗапрос.ДокументПродажиТорговаяТочка | ГДЕ | ПродажиОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг | | СГРУППИРОВАТЬ ПО | ПродажиОбороты.ДокументПродажи.ТорговаяТочка, | ВЫБОР | КОГДА ПродажиОбороты.ЗаказПокупателя.Дата = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ИЛИ ПродажиОбороты.ЗаказПокупателя = НЕОПРЕДЕЛЕНО | ТОГДА ПродажиОбороты.ДокументПродажи.ОсновнойМенеджерПокупателяДляВыписки | ИНАЧЕ ПродажиОбороты.ЗаказПокупателя.ОсновнойМенеджерПокупателяДляВыписки | КОНЕЦ, | ВЫБОР | КОГДА ПродажиОбороты.ЗаказПокупателя.Дата = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ИЛИ ПродажиОбороты.ЗаказПокупателя = НЕОПРЕДЕЛЕНО | ТОГДА ПродажиОбороты.ДокументПродажи.Подразделение | ИНАЧЕ ПродажиОбороты.ЗаказПокупателя.Подразделение | КОНЕЦ, | ВЫБОР | КОГДА ВложенныйЗапрос.ДокументПродажиДата МЕЖДУ &НачТекПериод И &КонТекПериод | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ, | ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа) КАК ВложенныйЗапрос |ГДЕ | ВложенныйЗапрос.ТорговыйПредставитель = &ТорговыйПредставитель |{ГДЕ | ВложенныйЗапрос.Подразделение.*, | ВложенныйЗапрос.ТорговыйПредставитель.*} |ИТОГИ | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Кол1), | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Кол2), | СУММА(Кол3), | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Кол4), | СУММА(Кол5) |ПО | ОБЩИЕ, | Подразделение, | ТорговыйПредставитель, | Контрагент"; |
|||
29
badboychik
18.04.12
✎
08:43
|
ипона мааать...
вложенные запросы - зло. Будет читабельнее если выносить во временные таблицы |
|||
30
zak555
18.04.12
✎
08:47
|
по-моему, проще переписать всё заново
напиши, что нужно получить и что дано |
|||
31
MP-40
18.04.12
✎
08:49
|
(29) вы про пакетные запросы?
|
|||
32
MP-40
18.04.12
✎
08:53
|
(30) это сложновато написать.
|
|||
33
zak555
18.04.12
✎
08:53
|
(32) откуда ты тогда знаешь, что нужно делать, если ты не знаешь, как написать ?
|
|||
34
MP-40
18.04.12
✎
08:56
|
(33) писать просто много, конфа у меня тоже переделана сильно.
|
|||
35
zak555
18.04.12
✎
08:58
|
(34) что з-а конфа ?
|
|||
36
MP-40
18.04.12
✎
09:04
|
(34) раньше была торговля
|
|||
37
zak555
18.04.12
✎
09:24
|
(36) что же с ней стало ?
|
|||
38
MP-40
18.04.12
✎
09:32
|
(37) ну, меня ее много.
В общем, нужно за период получать информацию по продажам по торговым точкам в разрезе контрагентов, торговых представителей, менеджеров, номенклатурных групп. Данные берутся из регистра ПродажиИОбороты. В приведенном мною запросе обозначено как это делается. |
|||
39
MP-40
18.04.12
✎
09:32
|
(38) *...меняли ее много.
|
|||
40
zak555
18.04.12
✎
09:37
|
так ты регистр распиши
|
|||
41
Aprobator
18.04.12
✎
09:38
|
(28) хм - построителем общие итоги не вывести что ли? И чего условие по торговому представителю не в параметрах виртуальной таблицы?
|
|||
42
MP-40
18.04.12
✎
09:42
|
(41) из консоли скопировал текст, в которой по конкретному торговику смотрел
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |