Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Вес номенклатуры (число прочтений - 4866 )
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Вес номенклатуры
Ответ #15 - 29. Мая 2009 :: 12:46
Печать  
popov писал(а) 29. Мая 2009 :: 12:45:
leov-001, глянь пжл мой код


Выкладывай
  
Наверх
 
IP записан
 
popov
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 04. Декабря 2008
Re: Вес номенклатуры
Ответ #16 - 29. Мая 2009 :: 12:51
Печать  
     ТекстЗапроса="Select  ltrim(docno) as НомерДок,
     |date_time_iddoc as date_time_iddoc,
     |Журнал.iddoc as [Док $Документ.ЗаказПоставщику],
     |$ОбщийРеквизит.Фирма as [Фирма $Справочник.Фирмы],
     |$Документ.ЗаказПоставщику.ДатаОтгрузки as [ДатаПлан $Дата],
     |$Документ.ЗаказПоставщику.Контрагент as [Поставщик $Справочник.Контрагенты],
     |Журнал.closed as [Статус],
     |$ОбщийРеквизит.Автор as [Автор $Справочник.Пользователи],
     |convert(datetime,substring(date_time_iddoc,1,8)) as ДатаДок
     |from $Документ.ЗаказПоставщику as Док (nolock),_1sjourn as Журнал (nolock)
     |where Журнал.IDDOC=Док.IDDOC      
     |AND $Документ.ЗаказПоставщику.ДатаОтгрузки between '"+глМета.ПолучитьСтрИзДаты(НачДата)+"' and '"+глМета.ПолучитьСтрИзДаты(КонДата)+"'
     |UNION ALL
     |Select
     //|  Журнал.IdDoc as [Товар $Документ.ПоступлениеТМЦ]
     | sum(IsNull($СпрБазоваяЕдиница.Вес,0)) * sum(IsNull($ТЧ.Количество,0)) as ИтогоКоличество
     |from
     |  $ДокументСтроки.ЗаказПоставщику as ТЧ (nolock)
     |  Inner Join _1sjourn as Журнал (nolock) on Журнал.IDDOC = ТЧ.IDDOC
     |                                            and Журнал.Closed=1
     |                                            and (Журнал.date_time_iddoc between '"+глМета.ПолучитьСтрИзДаты(НачДата)+"' and '"+глМета.ПолучитьСтрИзДаты(КонДата)+"')
     |  Left  Join $Справочник.Номенклатура as СпрНоменклатура (nolock) on СпрНоменклатура.ID = $ТЧ.Номенклатура
     |  Left  Join $Справочник.Единицы as СпрБазоваяЕдиница (nolock) on СпрБазоваяЕдиница.ID = $СпрНоменклатура.БазоваяЕдиница
     //|Group By Журнал.IdDoc
     |";
  
Наверх
 
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Вес номенклатуры
Ответ #17 - 01. Июня 2009 :: 06:28
Печать  
Код
Выбрать все
|Select
|  ltrim(Журнал.docno) as НомерДок
|, Журнал.date_time_iddoc as date_time_iddoc
|, Журнал.iddoc as [Док $Документ.ЗаказПоставщику]
|, Журнал.$ОбщийРеквизит.Фирма as [Фирма $Справочник.Фирмы]
|, $Док.ЗаказПоставщику.ДатаОтгрузки as [ДатаПлан $Дата]
|, $Док.ЗаказПоставщику.Контрагент as [Поставщик $Справочник.Контрагенты]
|, Журнал.closed as [Статус]
|, Журнал.$ОбщийРеквизит.Автор as [Автор $Справочник.Пользователи]
|, convert(datetime,substring(Журнал.date_time_iddoc,1,8)) as ДатаДок
|, Tmp.ItKol as ИтогоКоличество
|from
|  $Документ.ЗаказПоставщику as Док (nolock)
|  Left Join _1sjourn as Журнал (nolock) on Журнал.IDDOC = Док.IDDOC
|							  and (Журнал.date_time_iddoc between '"+глМета.ПолучитьСтрИзДаты(НачДата)+"' and '"+глМета.ПолучитьСтрИзДаты(КонДата)+"')
|  Left Join (Select
|		   TAB.Jur_IdDoc as Jur_IdDoc
|		   , sum(IsNull(TAB.ItKol,0)) as ItKol
|		 From
|		  (Select
|		     Журнал.IdDoc as Jur_IdDoc
|		   , $ТЧ.Номенклатура as Spr_Id
|		   , sum(IsNull($СпрБазоваяЕдиница.Вес,0)) * sum(IsNull($ТЧ.Количество,0)) as ItKol
|		   from
|		     $ДокументСтроки.ЗаказПоставщику as ТЧ (nolock)
|		     Left Join _1sjourn as Журнал (nolock) on Журнал.IDDOC = ТЧ.IDDOC
|							    and Журнал.Closed=1
|							    and (Журнал.date_time_iddoc between '"+глМета.ПолучитьСтрИзДаты(НачДата)+"' and '"+глМета.ПолучитьСтрИзДаты(КонДата)+"')
|		     Left  Join $Справочник.Номенклатура as СпрНоменклатура (nolock) on СпрНоменклатура.ID = $ТЧ.Номенклатура
|		     Left  Join $Справочник.Единицы as СпрБазоваяЕдиница (nolock) on СпрБазоваяЕдиница.ID = $СпрНоменклатура.БазоваяЕдиница
|		   Group By Журнал.IdDoc, $ТЧ.Номенклатура) as TAB
|		 Group By TAB.Jur_IdDoc) as Tmp (nolock) on Tmp.Jur_IdDoc = Док.IDDOC
 

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


1C++ rocks!

Сообщений: 20
Зарегистрирован: 04. Декабря 2008
Re: Вес номенклатуры
Ответ #18 - 01. Июня 2009 :: 07:15
Печать  
leov-001, а если без группировок
  
Наверх
 
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Вес номенклатуры
Ответ #19 - 01. Июня 2009 :: 07:40
Печать  
popov писал(а) 01. Июня 2009 :: 07:15:
leov-001, а если без группировок


Опиши что надо.
  
Наверх
 
IP записан
 
popov
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 04. Декабря 2008
Re: Вес номенклатуры
Ответ #20 - 01. Июня 2009 :: 07:53
Печать  
Нужен такой же запрос, только без группировок, нужно удалить нижние две строки или еще что то?


Вообще, в итоге должна получиться таблица, с колонками датадока, контрагент, статус документа,вес по текущему документу и автор дока
  
Наверх
 
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Вес номенклатуры
Ответ #21 - 01. Июня 2009 :: 08:01
Печать  
Код
Выбрать все
|Select
|  ltrim(Журнал.docno) as НомерДок
|, Журнал.iddoc as [Док $Документ.ЗаказПоставщику]
|, $Док.ЗаказПоставщику.Контрагент as [Поставщик $Справочник.Контрагенты]
|, Журнал.closed as [Статус]
|, Tmp.ItKol as ИтогоКоличество
|, Журнал.$ОбщийРеквизит.Автор as [Автор $Справочник.Пользователи]
|from
|  $Документ.ЗаказПоставщику as Док (nolock)
|  Left Join _1sjourn as Журнал (nolock) on Журнал.IDDOC = Док.IDDOC
|							  and (Журнал.date_time_iddoc between '"+глМета.ПолучитьСтрИзДаты(НачДата)+"' and '"+глМета.ПолучитьСтрИзДаты(КонДата)+"')
|  Left Join (Select
|		   TAB.Jur_IdDoc as Jur_IdDoc
|		   , sum(IsNull(TAB.ItKol,0)) as ItKol
|		 From
|		  (Select
|		     Журнал.IdDoc as Jur_IdDoc
|		   , $ТЧ.Номенклатура as Spr_Id
|		   , sum(IsNull($СпрБазоваяЕдиница.Вес,0)) * sum(IsNull($ТЧ.Количество,0)) as ItKol
|		   from
|		     $ДокументСтроки.ЗаказПоставщику as ТЧ (nolock)
|		     Left Join _1sjourn as Журнал (nolock) on Журнал.IDDOC = ТЧ.IDDOC
|							    and Журнал.Closed=1
|							    and (Журнал.date_time_iddoc between '"+глМета.ПолучитьСтрИзДаты(НачДата)+"' and '"+глМета.ПолучитьСтрИзДаты(КонДата)+"')
|		     Left  Join $Справочник.Номенклатура as СпрНоменклатура (nolock) on СпрНоменклатура.ID = $ТЧ.Номенклатура
|		     Left  Join $Справочник.Единицы as СпрБазоваяЕдиница (nolock) on СпрБазоваяЕдиница.ID = $СпрНоменклатура.БазоваяЕдиница
|		   Group By Журнал.IdDoc, $ТЧ.Номенклатура) as TAB
|		 Group By TAB.Jur_IdDoc) as Tmp (nolock) on Tmp.Jur_IdDoc = Док.IDDOC 

  
Наверх
 
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Вес номенклатуры
Ответ #22 - 01. Июня 2009 :: 08:05
Печать  
Перенесите эту тему в ПЯМЫЕ ЗАПРОСЫ К ИБ
  
Наверх
 
IP записан
 
popov
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 20
Зарегистрирован: 04. Декабря 2008
Re: Вес номенклатуры
Ответ #23 - 01. Июня 2009 :: 09:40
Печать  
Подскажи а как перенести
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать