ТекстЗапроса=" |SELECT |Max(ВложЗапрос1.Код) as Код, |ВложЗапрос1.Товар as [Товар $Справочник.Товары], |ВложЗапрос1.Склад as [Склад $Справочник.Склады], |ВложЗапрос1.ПозицияДокумента as [ПозицияДокумента], |Max(ВложЗапрос1.Док) as [Док $Документ], |Max(ВложЗапрос1.Док_вид) as [Док_вид], |Sum(ВложЗапрос1.НачКол) as НачКол, |Sum(РегПартии.КоличествоНачальныйОстаток) as НачКолП, |Sum(РегПартии.СуммаУпрНачальныйОстаток) as НачСтоимП, |Sum(ВложЗапрос1.ПриходКол) as ПриходКол, |Sum(РегПартии.КоличествоПриход) as ПриходКолП, |Sum(РегПартии.СуммаУпрПриход) as ПриходСтоимП, |Sum(ВложЗапрос1.РасходКол) as РасходКол, |Sum(РегПартии.КоличествоРасход) as РасходКолП, |Sum(РегПартии.СуммаУпрРасход) as РасходСтоимП, |Sum(ВложЗапрос1.КонКол) as КонКол, |Sum(РегПартии.КоличествоКонечныйОстаток) as КонКолП, |Sum(РегПартии.СуммаУпрКонечныйОстаток) as КонСтоимП, |GROUPING(ВложЗапрос1.Товар) as ИтПоТовару, |GROUPING(ВложЗапрос1.Склад) as ИтПоСкладу, |GROUPING(ВложЗапрос1.ПозицияДокумента) as ИтПоПозицииДока |FROM |(SELECT |Max(СпрТов.Code) as Код, |Рег.Товар as [Товар], |Рег.Склад as [Склад], |Рег.ПозицияДокумента as ПозицияДокумента, |Max(Жур.IDDOC) as [Док], |Max(Жур.IDDOCDEF) as Док_вид, |Sum(Рег.КоличествоНачальныйОстаток) as НачКол, |Sum(Рег.КоличествоПриход) as ПриходКол, |Sum(Рег.КоличествоРасход) as РасходКол, |Sum(Рег.КоличествоКонечныйОстаток) as КонКол |FROM ад),(Количество)) as Рег |LEFT JOIN |$Справочник.Товары as СпрТов With (NOLOCK) ON Рег.Товар=СпрТов.ID |LEFT JOIN |$Справочник.Склады as СпрСкл With (NOLOCK) ON Рег.Склад=СпрСкл.ID |INNER JOIN |_1SJOURN as Жур With (NOLOCK) ON Рег.ПозицияДокумента=Жур.DATE_TIME_IDDOC |GROUP BY Рег.Товар,Рег.Склад,Рег.ПозицияДокумента) as ВложЗапрос1 | |LEFT JOIN личество,СуммаУпр)) as РегПартии |ON ВложЗапрос1.Товар=РегПартии.Товар AND ВложЗапрос1.ПозицияДокумента=РегПартии.ПозицияДокумента |"; Проверк=0; Если ВыбТовар.Выбран()=1 Тогда Если Проверк>0 Тогда ТекстЗапроса=ТекстЗапроса+" AND "; Иначе ТекстЗапроса=ТекстЗапроса+ " WHERE "; КонецЕсли; Если ВыбТовар.ЭтоГруппа() = 1 Тогда Recordset.УложитьСписокОбъектов(ВыбТовар,"#ВыбТовар","Товары"); ТекстЗапроса=ТекстЗапроса+"(ВложЗапрос1.Товар IN (SELECT Val FROM #ВыбТовар))"; Проверк=Проверк+1; Иначе Recordset.УстановитьТекстовыйПараметр("ВыбТовар",ВыбТовар); ТекстЗапроса=ТекстЗапроса+"ВложЗапрос1.Товар=:ВыбТовар"; Проверк=Проверк+1; КонецЕсли; КонецЕсли; Если ВыбСклад.Выбран()=1 Тогда Recordset.УстановитьТекстовыйПараметр("ВыбСклад",ВыбСклад); Если Проверк>0 Тогда ТекстЗапроса=ТекстЗапроса+" AND "; Иначе ТекстЗапроса=ТекстЗапроса+ " WHERE "; КонецЕсли; ТекстЗапроса=ТекстЗапроса+"ВложЗапрос1.Склад=:ВыбСклад"; Проверк=Проверк+1; КонецЕсли; ТекстЗапроса=ТекстЗапроса+" |GROUP BY ВложЗапрос1.Товар,ВложЗапрос1.Склад,ВложЗапрос1.ПозицияДокумента WITH ROLLUP |ORDER BY ВложЗапрос1.Товар,ВложЗапрос1.Склад,ВложЗапрос1.ПозицияДокумента, ИтПоТовару DESC, ИтПоСкладу DESC, ИтПоПозицииДока DESC |"; Recordset.УстановитьТекстовыйПараметр("ДатаНач",ДатаНач); Recordset.УстановитьТекстовыйПараметр("ДатаКон",ДатаКон);
|