Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Как задать группировку для переодического перечисления? (число прочтений - 1790 )
marvel
YaBB Newbies
*
Отсутствует


1C++ форева!

Сообщений: 9
Местоположение: Волгоград
Зарегистрирован: 17. Августа 2010
Пол: Мужской
Как задать группировку для переодического перечисления?
17. Августа 2010 :: 08:19
Печать  
Продажи.Номенклатура as [Номенклатура $Справочник.Номенклатура]
$ПоследнееЗначение.Контрагенты.ТипЗаказчикаПиГ(Контрагенты.ID, :ДатаКонца) as [ТипЗаказчика $Перечисление.ПиГ_ТипыЗаказчика]
Sum(Продажи.КоличествоВОборот) as [ОбъемВ $Число]
$РегистрОбороты.Продажи(:ДатаНачала,:ДатаКонца~,,,) as Продажи
INNER JOIN
$Справочник.Контрагенты as Контрагенты
ON
Продажи.Покупатель=Контрагенты.ID"
GROUP BY                  Продажи.Номенклатура
необходимо так же добавить группировку по перечислению, строка в группировке типа "тип заказчика", " $ПоследнееЗначение.Контрагенты.ТипЗаказчикаПиГ" , "$Контрагенты.ТипЗаказчикаПиГ" не воспринимаются (нет такого), а строка ПоследнееЗначение.Контрагенты.ТипЗаказчикаПиГ(Контрагенты.ID, :ДатаКонца) указывает что в группировке нельзя использовать подзапрос. Как можно задать группировку по периодическому перечислению?
  

Интернет как жизнь - смысла нет, а уходить не хочется...&&
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Как задать группировку для переодического перечисления?
Ответ #1 - 17. Августа 2010 :: 08:30
Печать  
самое простое - оберни весь запрос в еще один селект.. и там уже группируй:

Код
Выбрать все
Select
   tab.ТипЗаказчика [ТипЗаказчика $Перечисление.ПиГ_ТипыЗаказчика]
   -- тут остальные поля
From
   (Select
	 -- тут твой изначальный запрос

   ) tab
group by tab.ТипЗаказчика 

  
Наверх
 
IP записан
 
marvel
YaBB Newbies
*
Отсутствует


1C++ форева!

Сообщений: 9
Местоположение: Волгоград
Зарегистрирован: 17. Августа 2010
Пол: Мужской
Re: Как задать группировку для переодического перечисления?
Ответ #2 - 17. Августа 2010 :: 09:10
Печать  
Eprst писал(а) 17. Августа 2010 :: 08:30:
самое простое - оберни весь запрос в еще один селект.. и там уже группируй:

Код
Выбрать все
Select
   tab.ТипЗаказчика [ТипЗаказчика $Перечисление.ПиГ_ТипыЗаказчика]
   -- тут остальные поля
From
   (Select
	 -- тут твой изначальный запрос

   ) tab
group by tab.ТипЗаказчика 




Спасибо, попробую! Только плохо что это только 1/10 часть запроса и группируется опционально
  

Интернет как жизнь - смысла нет, а уходить не хочется...&&
Наверх
 
IP записан
 
marvel
YaBB Newbies
*
Отсутствует


1C++ форева!

Сообщений: 9
Местоположение: Волгоград
Зарегистрирован: 17. Августа 2010
Пол: Мужской
Re: Как задать группировку для переодического перечисления?
Ответ #3 - 18. Августа 2010 :: 07:13
Печать  
не понимаю логики, но достаточно было в группировку вставить Контрагенты.ID
  

Интернет как жизнь - смысла нет, а уходить не хочется...&&
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как задать группировку для переодического перечисления?
Ответ #4 - 18. Августа 2010 :: 07:39
Печать  
marvel писал(а) 18. Августа 2010 :: 07:13:
не понимаю логики, но достаточно было в группировку вставить Контрагенты.ID

Это будет верно синтаксически, но не даст группировки по типу заказчика.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
marvel
YaBB Newbies
*
Отсутствует


1C++ форева!

Сообщений: 9
Местоположение: Волгоград
Зарегистрирован: 17. Августа 2010
Пол: Мужской
Re: Как задать группировку для переодического перечисления?
Ответ #5 - 18. Августа 2010 :: 08:00
Печать  
в том то и дело что дает группировку
  

Интернет как жизнь - смысла нет, а уходить не хочется...&&
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как задать группировку для переодического перечисления?
Ответ #6 - 18. Августа 2010 :: 08:35
Печать  
Конечно, даёт.  Круглые глаза Но не по типу, а по контрагенту.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
marvel
YaBB Newbies
*
Отсутствует


1C++ форева!

Сообщений: 9
Местоположение: Волгоград
Зарегистрирован: 17. Августа 2010
Пол: Мужской
Re: Как задать группировку для переодического перечисления?
Ответ #7 - 18. Августа 2010 :: 08:49
Печать  
по типу дает, проверял на обычном запросе....все сходится
  

Интернет как жизнь - смысла нет, а уходить не хочется...&&
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Как задать группировку для переодического перечисления?
Ответ #8 - 19. Августа 2010 :: 04:33
Печать  
marvel писал(а) 18. Августа 2010 :: 08:49:
по типу дает, проверял на обычном запросе....все сходится

Да ну ? Улыбка))

в твоей результирующей ТЗ будут строки вида

Контрагент ТипЗаказчика  Оборот
Вася             первый тип      100   
Федя            первый тип       200
Веня             второй тип         300

А вот если б сворачивал по типу заказчика имел бы :

ТипЗаказчика  Оборот
  первый тип        300 
  второй тип         300
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать