Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Помогите дописать отчет (число прочтений - 1623 )
maxa
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 130
Зарегистрирован: 07. Ноября 2007
Помогите дописать отчет
08. Ноября 2007 :: 09:45
Печать  
Вот работающий код.А мне нужна в результате таблица с колонками Контрагент,ЗначениеСвойства,Закупка. Т.е. сколько каждый клиент по определенному свойству(товара) закупил.Как сгруппировать и ссумировать результат?Помогите,пж.
Код
Выбрать все
	ТекстЗапроса="
	|SELECT
	|    Номенклатура.ID [Товар $Справочник.Номенклатура]
    |   ,$ПартииТоваров.Стоимость * ( ПартииТоваров.DEBKRED * 2-1)+ $ПартииТоваров.НДС * ( ПартииТоваров.DEBKRED * 2-1) AS Закупка
	|	, Графа.PARENTVAL [Контрагент $Неопределенный]
	|   , $СвойстваНоменклатуры.ЗначениеСвойства [ЗначениеСвойства $Справочник.ЗначенияСвойств]
    |FROM $Регистр.ПартииТоваров AS ПартииТоваров With (NOLOCK)
    |	INNER JOIN $Справочник.Номенклатура AS Номенклатура With (NOLOCK) ON $ПартииТоваров.Товар = Номенклатура.ID
    |	INNER JOIN $Справочник.СвойстваНоменклатуры AS СвойстваНоменклатуры With (NOLOCK) ON СвойстваНоменклатуры.PARENTEXT = $ПартииТоваров.Товар
    |	INNER JOIN _1SJOURN AS Журнал With (NOLOCK) ON ПартииТоваров.IDDOC = Журнал.IDDOC
    |	INNER JOIN _1SCRDOC  AS Графа With (NOLOCK) ON ПартииТоваров.IDDOC = Графа.CHILDID
	|WHERE (Журнал.DATE_TIME_IDDOC >= :ДатаНач)
    |	AND (Журнал.DATE_TIME_IDDOC <= :ДатаКон)
    |	AND ($ПартииТоваров.Фирма = $ПустойИд) AND (Графа.MDID = $ГрафаОтбора.Контрагент)
	|	AND ($СвойстваНоменклатуры.ВидСвойства = :ВыбСвойство)
    |";  




  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите дописать отчет
Ответ #1 - 08. Ноября 2007 :: 09:57
Печать  
maxa писал(а) 08. Ноября 2007 :: 09:45:
Вот работающий код.А мне нужна в результате таблица с колонками Контрагент,ЗначениеСвойства,Закупка. Т.е. сколько каждый клиент по определенному свойству(товара) закупил.Как сгруппировать и ссумировать результат?Помогите,пж.
Код
Выбрать все
	ТекстЗапроса="
	|SELECT
	|    Номенклатура.ID [Товар $Справочник.Номенклатура]
    |   ,$ПартииТоваров.Стоимость * ( ПартииТоваров.DEBKRED * 2-1)+ $ПартииТоваров.НДС * ( ПартииТоваров.DEBKRED * 2-1) AS Закупка
	|	, Графа.PARENTVAL [Контрагент $Неопределенный]
	|   , $СвойстваНоменклатуры.ЗначениеСвойства [ЗначениеСвойства $Справочник.ЗначенияСвойств]
    |FROM $Регистр.ПартииТоваров AS ПартииТоваров With (NOLOCK)
    |	INNER JOIN $Справочник.Номенклатура AS Номенклатура With (NOLOCK) ON $ПартииТоваров.Товар = Номенклатура.ID
    |	INNER JOIN $Справочник.СвойстваНоменклатуры AS СвойстваНоменклатуры With (NOLOCK) ON СвойстваНоменклатуры.PARENTEXT = $ПартииТоваров.Товар
    |	INNER JOIN _1SJOURN AS Журнал With (NOLOCK) ON ПартииТоваров.IDDOC = Журнал.IDDOC
    |	INNER JOIN _1SCRDOC  AS Графа With (NOLOCK) ON ПартииТоваров.IDDOC = Графа.CHILDID
	|WHERE (Журнал.DATE_TIME_IDDOC >= :ДатаНач)
    |	AND (Журнал.DATE_TIME_IDDOC <= :ДатаКон)
    |	AND ($ПартииТоваров.Фирма = $ПустойИд) AND (Графа.MDID = $ГрафаОтбора.Контрагент)
	|	AND ($СвойстваНоменклатуры.ВидСвойства = :ВыбСвойство)
    |";  






Какие то страшные формулы  Ужас, а в регистре что не считается сумма продажи? Попробуй переписать
с использованием виртуальных  таблиц для регистров
  
Наверх
ICQ  
IP записан
 
maxa
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 130
Зарегистрирован: 07. Ноября 2007
Re: Помогите дописать отчет
Ответ #2 - 08. Ноября 2007 :: 10:20
Печать  
Первый раз пишу запрос, ничего пока не умею.В регистре есть приход и расход.(покупки и возвраты).Мне нужно сгруппировать то что есть по покупателям и значению свойства и вывести закупку.При попытки использования group by по любой колонке -выдает ошибку.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите дописать отчет
Ответ #3 - 08. Ноября 2007 :: 10:24
Печать  
maxa писал(а) 08. Ноября 2007 :: 10:20:
Первый раз пишу запрос, ничего пока не умею.В регистре есть приход и расход.(покупки и возвраты).Мне нужно сгруппировать то что есть по покупателям и значению свойства и вывести закупку.При попытки использования group by по любой колонке -выдает ошибку.

В GROUP BY надо вводить всё что есть в Селект-листе (ес-но кроме ф-ий) + надо добавить те самые агрегатные ф-ии (SUM, MAX, MIN ...) по нужным тебе полям
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Помогите дописать отчет
Ответ #4 - 08. Ноября 2007 :: 10:35
Печать  
Почитай в справке про ВТ РегистрОбороты, по моему это оптимально в данном случае
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать