Очень нужна помощь! Не получается правильно написать запрос, чтобы получить данные за период (день, неделя, месяц,квартал,год и т.д). Нужно получить количество списанного товара в брак ,сам документ в котором это отражено и количество проданного этого же товара за такой же период. Текст запроса:
SQL = СоздатьОбъект("ODBCRecordset");
SQL.УстановитьТекстовыйПараметр("НачДата",ДатаОтчета1); SQL.УстановитьТекстовыйПараметр("КонДата",ДатаОтчета2); SQL.УстановитьТекстовыйПараметр("Подразделение",Подразделение); SQL.УстановитьТекстовыйПараметр("Автор",ВыбСотрудник.Наименование); SQL.УстановитьТекстовыйПараметр("Причина",ПричинаСписания);
SQL.УложитьСписокОбъектов(ВыбСклад, "#v_selected_sklad","Склады"); SQL.УложитьСписокОбъектов(ВыбТовар, "#v_selected_tovar","Товары");
ТекстЗапроса = "
|SELECT | Cast(Left(ПозицияДокумента,8) as datetime) [ДатаДок], | ПозицияДокумента [ПозицияДокумента], | Жур.IDDOC as [Док $Документ], | Жур.IDDocDef as Док_вид, | Жур.$ОбщийРеквизит.Подразделение as [Подразделение $Справочник.Подразделение], | COALESCE(ДокС.$ОбщийРеквизит.АвторПроведения, ДокА.$ОбщийРеквизит.АвторПроведения) as Автор, | Рег.Склад as [Склад $Справочник.Склады], | Рег.Товар as [Товар $Справочник.Товары], | Рег.ОстатокТовараКонечныйОстаток as Количество, | Рег.СтоимостьКонечныйОстаток as Сумма, | РегПродажи.Товар as [ТоварПродажи $Справочник.Товары], | РегПродажи.Склад as [СкладПродаж $Справочник.Склады], | РегПродажи.СебестоимостьОборот as ПродалиНаСумму, | РегПродажи.КоличествоОборот as ПродалиКоличество, | ((Рег.ОстатокТовараПриход*100)/РегПродажи.КоличествоОборот) as ПроцентВКоличестве, | ((Рег.СтоимостьПриход*100)/РегПродажи.СебестоимостьОборот) as ПроцентВСумме, | COALESCE($ДокС.Причина_списания,$ДокА.Причина_составления_Акта ) as [ПричинаСписания $Перечисление.Причина_Акта] |FROM |$РегистрОстаткиОбороты.Брак(:НачДата,:КонДата~,Документ,,,,,) as Рег |LEFT JOIN _1SJOURN AS Жур on Жур.date_time_iddoc=Рег.ПозицияДокумента |LEFT JOIN $РегистрОбороты.Продажи(:НачДата, :КонДата~,,,,,) as РегПродажи ON |Рег.Товар = РегПродажи.Товар |LEFT JOIN |$Документ.Списание as ДокС ON ДокС.IDDoc = Жур.IDDoc |LEFT JOIN |$Документ.Акт_ТМЦ as ДокА ON ДокА.IDDoc= Жур.IDDoc |WHERE |(Жур.IDDocDef = $ВидДокумента.Списание or Жур.IDDocDef = $ВидДокумента.Акт_ТМЦ) |and Жур.Closed & 1 = 1 |"+?(Подразделение.Выбран() =1 ,"and (Жур.$ОбщийРеквизит.Подразделение =:Подразделение)","")+" |"+?(ВыбСклад.GetListSize()>0,"and (Рег.Склад IN (SELECT val FROM #v_selected_sklad))","")+" |"+?(ВыбТовар.GetListSize()>0,"and (Рег.Товар IN (SELECT val FROM #v_selected_tovar))","")+" |"+?(ВыбСотрудник.Выбран() =1 ,"and (ДокС.$ОбщийРеквизит.АвторПроведения =:Автор)","")+" |"+?(ПричинаСписания.Выбран() =1 ,"and ($ДокС.Причина_списания =:Причина)","")+" |"+?(ПричинаСписания.Выбран() =1 ," or ($ДокА.Причина_составления_Акта =:Причина)","")+"
|