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