вот
CREATE TABLE vt_ДанныеОтчета AS
SELECT
Рег.Должность AS Должность,
Рег.Сотрудник AS Сотрудник,
Рег.Контрагент AS Контрагент,
Рег.ВидСтавки AS ВидСтавки,
Рег.Ставка AS Ставка,
Рег.ТекущийДокумент AS Документ,
Рег.ВидДокумента AS ВидДокумента,
Рег.СуммаЗарплатыОстатки AS НачОстСуммаЗП,
Рег.СуммаЗарплатыПриход AS ПриходСуммаЗП,
Рег.СуммаЗарплатыРасход AS ДвРасходСуммаЗП,
Рег.СуммаПродажиОстаток AS НачОстСумПродажи,
Рег.СуммаПродажиПриход AS ПриходСумПродажи,
Рег.СуммаПродажиРасход AS ДвРасходСумПродажи,
Рег.СуммаПоступлениеДенег AS ПоступлениеДенег,
Рег.СуммаЗарплатыОбороты AS СуммаЗарплатыОбороты,
Рег.СуммаПродажиОбороты AS СуммаПродажиОбороты,
Рег.ПозицияДокумента AS ПозицияДокумента,
Рег.КодОперации AS КодОперации
FROM
(SELECT
CASE
WHEN Остатки.ТОПМенеджер = ' 0 '
THEN 'Менеджеры'
ELSE 'ТОР-Менеджеры'
END AS Должность,
CASE
WHEN Остатки.ТОПМенеджер = ' 0 '
THEN Остатки.Сотрудник
ELSE Остатки.ТОПМенеджер
END AS Сотрудник,
Остатки.Контрагент,
Остатки.ВидСтавки,
Остатки.Ставка,
' 0 ' AS ТекущийДокумент,
' ' AS ВидДокумента,
Остатки.СуммаЗарплатыОстаток AS СуммаЗарплатыОстатки,
0 AS СуммаЗарплатыПриход,
0 AS СуммаЗарплатыРасход,
Остатки.СуммаПродажиОстаток,
0 AS СуммаПродажиПриход,
0 AS СуммаПродажиРасход,
0 AS СуммаПоступлениеДенег,
0 AS СуммаЗарплатыОбороты,
0 AS СуммаПродажиОбороты,
'' AS ПозицияДокумента,
' 0 ' AS КодОперации
FROM
(
SELECT
Сотрудник
,Контрагент
,ТОПМенеджер
,ВидСтавки
,Ставка
,SUM(СуммаЗарплатыОстаток) AS СуммаЗарплатыОстаток
,SUM(СуммаПродажиОстаток) AS СуммаПродажиОстаток
FROM
(SELECT
rg_9713.Сотрудник AS Сотрудник
,rg_9713.Контрагент AS Контрагент
,rg_9713.ТОПМенеджер AS ТОПМенеджер
,rg_9713.ВидСтавки AS ВидСтавки
,rg_9713.Ставка AS Ставка
,rg_9713.СуммаЗарплаты AS СуммаЗарплатыОстаток
,rg_9713.СуммаПродажи AS СуммаПродажиОстаток
FROM
[РегистрИтоги.ЗарплатаОтПродаж] AS rg_9713
WHERE
rg_9713.PERIOD = '20150101'
AND
(rg_9713.Сотрудник = ' V ' AND rg_9713.Контрагент IN (SELECT val FROM vt_СписокКонтрагент))
) AS vt_ra_9713
GROUP BY
Сотрудник
,Контрагент
,ТОПМенеджер
,ВидСтавки
,Ставка
HAVING (SUM(СуммаЗарплатыОстаток) <> 0)
OR (SUM(СуммаПродажиОстаток) <> 0)
) AS Остатки
UNION ALL
SELECT
CASE
WHEN Обороты.ТОПМенеджер = ' 0 '
THEN 'Менеджеры'
ELSE 'ТОР-Менеджеры'
END,
CASE
WHEN Обороты.ТОПМенеджер = ' 0 '
THEN Обороты.Сотрудник
ELSE Обороты.ТОПМенеджер
END,
Обороты.Контрагент,
Обороты.ВидСтавки,
Обороты.Ставка,
Обороты.ТекущийДокумент,
Обороты.ВидДокумента,
0,
Обороты.СуммаЗарплатыПриход,
Обороты.СуммаЗарплатыРасход,
0,
Обороты.СуммаПродажиПриход,
Обороты.СуммаПродажиРасход,
CASE
WHEN ROUND(Обороты.СуммаПродажиРасход, 2) > 0 AND Обороты.КодОперации = ' 1MN '
THEN Обороты.СуммаПродажиРасход
ELSE 0
END,
Обороты.СуммаЗарплатыПриход - Обороты.СуммаЗарплатыРасход,
Обороты.СуммаПродажиПриход - Обороты.СуммаПродажиРасход,
Обороты.ПозицияДокумента,
Обороты.КодОперации
FROM
(
SELECT
ТекущийДокумент
,ВидДокумента
,ПозицияДокумента
,Сотрудник
,Контрагент
,ТОПМенеджер
,ВидСтавки
,Ставка
,КодОперации
,SUM(СуммаЗарплатыПриход) AS СуммаЗарплатыПриход
,SUM(СуммаЗарплатыРасход) AS СуммаЗарплатыРасход
,SUM(СуммаЗарплатыОборот) AS СуммаЗарплатыОборот
,SUM(СуммаПродажиПриход) AS СуммаПродажиПриход
,SUM(СуммаПродажиРасход) AS СуммаПродажиРасход
,SUM(СуммаПродажиОборот) AS СуммаПродажиОборот
FROM
(SELECT
ra_9713.IDDOC AS ТекущийДокумент
,ra_9713.IDDOCDEF AS ВидДокумента
,SUBSTR(ra_9713.idx_DATE_TIME_IDDOC_LINENO_ACTNO,1,23) AS ПозицияДокумента
,ra_9713.Сотрудник AS Сотрудник
,ra_9713.Контрагент AS Контрагент
,ra_9713.ТОПМенеджер AS ТОПМенеджер
,ra_9713.ВидСтавки AS ВидСтавки
,ra_9713.Ставка AS Ставка
,ra_9713.КодОперации AS КодОперации
,CASE WHEN ra_9713.debkred = 0 THEN ra_9713.СуммаЗарплаты ELSE 0 END AS СуммаЗарплатыПриход
,CASE WHEN ra_9713.debkred = 1 THEN ra_9713.СуммаЗарплаты ELSE 0 END AS СуммаЗарплатыРасход
,CASE WHEN ra_9713.debkred = 0 THEN ra_9713.СуммаЗарплаты ELSE -ra_9713.СуммаЗарплаты END AS СуммаЗарплатыОборот
,CASE WHEN ra_9713.debkred = 0 THEN ra_9713.СуммаПродажи ELSE 0 END AS СуммаПродажиПриход
,CASE WHEN ra_9713.debkred = 1 THEN ra_9713.СуммаПродажи ELSE 0 END AS СуммаПродажиРасход
,CASE WHEN ra_9713.debkred = 0 THEN ra_9713.СуммаПродажи ELSE -ra_9713.СуммаПродажи END AS СуммаПродажиОборот
FROM
[Регистр.ЗарплатаОтПродаж] AS ra_9713
WHERE (ra_9713.idx_DATE_TIME_IDDOC_LINENO_ACTNO >= '20150201 0 0 ')
AND (ra_9713.idx_DATE_TIME_IDDOC_LINENO_ACTNO < '20150301 0 0 ')
AND
(ra_9713.Сотрудник = ' V ' AND ra_9713.Контрагент IN (SELECT val FROM vt_СписокКонтрагент))
) AS vt_ra_9713
GROUP BY
ТекущийДокумент
,ВидДокумента
,ПозицияДокумента
,Сотрудник
,Контрагент
,ТОПМенеджер
,ВидСтавки
,Ставка
,КодОперации
HAVING (SUM(СуммаЗарплатыПриход) <> 0)
OR (SUM(СуммаЗарплатыРасход) <> 0)
OR (SUM(СуммаЗарплатыОборот) <> 0)
OR (SUM(СуммаПродажиПриход) <> 0)
OR (SUM(СуммаПродажиРасход) <> 0)
OR (SUM(СуммаПродажиОборот) <> 0)
) AS Обороты
) AS Рег