ЗАПРОС
|SELECT
| Р.Издание as [Издание $Справочник.Издания],
| Р.Рубрика as [Рубрика $Справочник.Рубрики],
| Р.Контрагент as [Контрагент $Справочник.Контрагенты],
| Р.Менеджер as [Менеджер $Справочник.Менеджеры],
| MAX(Р.РубрикаН) as РубрикаН,
| MAX(Р.КонтрагентН) as КонтрагентН,
| MAX(Р.МенеджерН) as МенеджерН,
| MAX(Р.Размер) as Размер,
| MAX(Р.Цена) as Цена,
| MAX(Р.Скидка) as Скидка,
| MAX(Р.Выпуск) as Выпуск,
| MAX(Р.Документ) as [Документ $Документ],
| MAX(Р.Документ_вид) as Документ_вид,
| -- в строчке ниже пытаюсь получить нач остаток
| MAX(SELECT О.СуммаОстаток FROM $РегистрОстатки.Реклама(:ДатаНачала~,, Издание = Р.Издание AND Рубрика = Р.Рубрика AND Контрагент = Р.Контрагент AND Менеджер = Р.Менеджер,(Издание,Рубрика,Контрагент,Менеджер),(Сумма)) as О WHERE number=1) as НачОст,
//| MAX(dbo.OSTATOK(Р.Издание, Р.Рубрика, Р.Контрагент, Р.Менеджер,:ДатаНачала)) as НачОст,
// это пробовал через польз. функцию, но тоже не пошло
//| НачОст as MAX(dbo.OSTATOK(Р.Издание, Р.Рубрика, Р.Контрагент, Р.Менеджер,:ДатаНачала)),
| SUM(Р.СуммаПриход) as СуммаПриход,
| SUM(Р.СуммаРасход) as СуммаРасход,
| SUM(Р.Банк) as Банк,
| SUM(Р.Нал) as Нал,
| SUM(Р.Нал1) as Нал1,
| SUM(Р.Банк_) as Банк_,
| SUM(Р.Нал_) as Нал_,
| SUM(Р.Нал1_) as Нал1_,
| SUM(Р.Беспл) as Беспл
|FROM (
| SELECT
| $Рег.Издание as Издание,
| $Рег.Менеджер as Менеджер ,
| $Рег.Контрагент as Контрагент,
| $Рег.Рубрика as Рубрика,
| Кон.descr as КонтрагентН,
| Мен.descr as МенеджерН,
| Руб.descr as РубрикаН,
| ltrim(rtrim(Размер.descr)) + ' х ' + (CASE when $ДокРекламы.КоличествоМодулей > 0 then ltrim(rtrim(CAST($ДокРекламы.КоличествоМодулей as char(3)))) else '' end) as Размер,
| $ДокРекламы.Цена as Цена,
| ($ВыбСкидка.Скидка + $ВыбСкидка1.Скидка) as Скидка,
| ltrim(rtrim(LEFT(CAST($ДокПакета.Номера as char(255)),255))) as Выпуск,
| $Рег.Документ as Документ,
| J.IDDocdef as Документ_вид,
| J.Date_Time_IDDoc as Date_Time_IDDoc,
| Рег.DEBKRED as debkred,
//| SELECT O.СуммаОстаток FROM $РегистрОстатки.Реклама(:ДатаНачала~,, Издание = $Рег.Издание AND Рубрика = $Рег.Рубрика AND Контрагент = $Рег.Контрагент AND Менеджер = $Рег.Менеджер,(Издание,Рубрика,Контрагент,Менеджер),(Сумма) as О) as НачОст,
| (CASE when Рег.DEBKRED = 0 then $Рег.Сумма else 0 end) as СуммаПриход,
| (CASE when Рег.DEBKRED = 1 then (-1)*$Рег.Сумма else 0 end) as СуммаРасход,
| (CASE when $Рег.ВидПлатежа = '" + MDWork.ЗначениеВСтрокуБД(Перечисление.ВидыПлатежей.БН) + "' then (1-Рег.DEBKRED)*$Рег.Сумма else 0 end) as Банк, -- //приход
| (CASE when $Рег.ВидПлатежа = '" + MDWork.ЗначениеВСтрокуБД(Перечисление.ВидыПлатежей.Н) + "' then (1-Рег.DEBKRED)*$Рег.Сумма else 0 end) as Нал, -- //приход
| (CASE when $Рег.ВидПлатежа = '" + MDWork.ЗначениеВСтрокуБД(Перечисление.ВидыПлатежей.Н1) + "' then (1-Рег.DEBKRED)*$Рег.Сумма else 0 end) as Нал1, -- //приход
| (CASE when $Рег.ВидПлатежа = '" + MDWork.ЗначениеВСтрокуБД(Перечисление.ВидыПлатежей.Бп_Бн) + "' then (1-Рег.DEBKRED)*$Рег.Сумма else 0 end) as Банк_, -- //приход
| (CASE when $Рег.ВидПлатежа = '" + MDWork.ЗначениеВСтрокуБД(Перечисление.ВидыПлатежей.Бп_Н) + "' then (1-Рег.DEBKRED)*$Рег.Сумма else 0 end) as Нал_, -- //приход
| (CASE when $Рег.ВидПлатежа = '" + MDWork.ЗначениеВСтрокуБД(Перечисление.ВидыПлатежей.Бп_Н1) + "' then (1-Рег.DEBKRED)*$Рег.Сумма else 0 end) as Нал1_, -- //приход
| (CASE when $Рег.ВидПлатежа = '" + MDWork.ЗначениеВСтрокуБД(Перечисление.ВидыПлатежей.Бесплатно) + "' then (1-Рег.DEBKRED)*$Рег.Сумма else 0 end) as Беспл -- //приход
| FROM
| $Регистр.Реклама as Рег (NOLOCK)
| INNER JOIN _1sjourn as J (NOLOCK) ON (RIGHT($Рег.Документ,9)=J.IDDOC) AND (J.$ФлагРегистра.Реклама=1) AND (J.$ОбщийРеквизит.Издание = :Издание)
| AND (J.Date_Time_IDDoc BETWEEN :ДатаНачала AND :ДатаКонца~)
| INNER JOIN $Справочник.Контрагенты as Кон (NOLOCK) ON ($Рег.Контрагент = Кон.ID)
| INNER JOIN $Справочник.Менеджеры as Мен (NOLOCK) ON ($Рег.Менеджер = Мен.ID)
| INNER JOIN $Справочник.Рубрики as Руб (NOLOCK) ON ($Рег.Рубрика = Руб.ID)
| LEFT JOIN $Документ.ПакетныйПриемРекламы as ДокПакета (NOLOCK) ON (RIGHT(J.$ОбщийРеквизит.ДокПакета,9) = ДокПакета.IDDOC)
| LEFT JOIN $Документ.ПриемРекламы as ДокРекламы (NOLOCK) ON (RIGHT($Рег.Документ,9) = ДокРекламы.IDDOC)
| LEFT JOIN $Справочник.РазмерРекламы as Размер (NOLOCK) ON ($ДокРекламы.Размер = Размер.ID)
| LEFT JOIN $Справочник.Скидки as ВыбСкидка (NOLOCK) ON ($ДокРекламы.ВыбСкидка = ВыбСкидка.ID)
| LEFT JOIN $Справочник.Скидки as ВыбСкидка1 (NOLOCK) ON ($ДокРекламы.ВыбСкидка1 = ВыбСкидка1.ID)
| WHERE"+
ДобавитьФильтр(Фильтр1Выбран,"Издание","Издание",""," = ","$Рег") +
ДобавитьФильтр(Фильтр2Выбран,"Контрагент","Контрагент"," AND "," = ","$Рег") +
ДобавитьФильтр(Фильтр3Выбран,"Рубрика","Рубрика"," AND "," = ","$Рег") +
"
| ) as Р
|GROUP BY
| Р.Издание, Р.Рубрика, Р.Контрагент,Р.Менеджер,Р.debkred
|ORDER BY
| Р.Рубрика ASC, Р.КонтрагентН ASC, Р.МенеджерН ASC";