Добрый день!
Подкиньте, пожалуйста, вариантов решения следующей задачи:
Необходимо реализовать отчет на СКД. Суть такая: есть регистр накопления (обороты). В нем регистрируются следующие записи: Период|Номенклатурная группа|Статья оборотов|Сумма.
Статья оборотов может быть или "Поступление" или "Расходование". Например:

Период|Номенклатурная группа|Статья оборотов|Сумма
01.01.2015|Группа 1|Поступление|1000
02.01.2015|Группа 2|Поступление|2000
03.01.2015|Группа 3|Расходование|5000
04.01.2015|Группа 1|Расходование|7000

В отчете необходимо группировать записи по Статье оборотов ("Поступление" или "Расходование"). В строках будет "Номенклатурная группа" и "Сумма". НО! Статью оборотов "Расходование" нужно разбить еще на две подстатьи - "Расходы с доходами" и "Расходы без доходов". Расходы с доходами - туда попадают данные только по тем Номенклатурным группам, по которым были доходы. Расходы без Доходов - туда попадают данные только по тем Номенклатурным группам, по которым не было Доходов за указанный период отчета. Вот тут то и вопрос: как можно реализовать? Вот примерный вид отчета http://prntscr.com/7a17xd
---
Судя по крохам информации, должно быть вот так:

```1c
    ВЫБРАТЬ
    ОборотыПоБюджетам.Регистратор,
    ОборотыПоБюджетам.НоменклатурнаяГруппа,
    ОборотыПоБюджетам.СтатьяОборотов.РасходДоход КАК РасходДоход,
    ВЫБОР
    КОГДА ОборотыПоБюджетам.СуммаСценарий > 0
    И ОборотыПоБюджетам.СтатьяОборотов.РасходДоход = "Поступление"
    ТОГДА ИСТИНА
    ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ЭтоДоход,
    ОборотыПоБюджетам.СтатьяОборотов.ТипСтатьи КАК ТипСтатьи,
    ОборотыПоБюджетам.Сумма
    ПОМЕСТИТЬ ВТОбороты
    ИЗ
    РегистрНакопления.ОборотыПоБюджетам КАК ОборотыПоБюджетам
    ГДЕ
    ОборотыПоБюджетам.Сценарий = "ФАКТ"
    И ОборотыПоБюджетам.НоменклатурнаяГруппа <> ЗНАЧЕНИЕ(Справочник.НоменклатурныеГруппы.ПустаяСсылка)
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТОбороты.Регистратор,
    ВТОбороты.НоменклатурнаяГруппа,
    ВТОбороты.РасходДоход,
    ВТОбороты.ЭтоДоход,
    ВТОбороты.ТипСтатьи,
    ВТОбороты.Сумма,
    "ПОСТУПЛЕНИЕ" КАК Группа,
    "ПРИХОД" КАК ПодГруппа
    ПОМЕСТИТЬ ВтПоступления
    ИЗ
    ВТОбороты КАК ВТОбороты
    ГДЕ
    ВТОбороты.ЭтоДоход
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВтПоступления.НоменклатурнаяГруппа
    ПОМЕСТИТЬ НГсПоступлениями
    ИЗ
    ВтПоступления КАК ВтПоступления
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТОбороты.Регистратор,
    ВТОбороты.НоменклатурнаяГруппа,
    ВТОбороты.РасходДоход,
    ВТОбороты.ЭтоДоход,
    ВТОбороты.ТипСтатьи,
    ВТОбороты.Сумма,
    "Расходование" КАК Группа,
    "Расход с доходом" КАК ПодГруппа
    ПОМЕСТИТЬ ВТРасходСДоходом
    ИЗ
    ВТОбороты КАК ВТОбороты
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ НГсПоступлениями КАК НГсПоступлениями
    ПО ВТОбороты.НоменклатурнаяГруппа = НГсПоступлениями.НоменклатурнаяГруппа
    И (НЕ ВТОбороты.ЭтоДоход)
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТОбороты.Регистратор,
    ВТОбороты.НоменклатурнаяГруппа,
    ВТОбороты.РасходДоход,
    ВТОбороты.ЭтоДоход,
    ВТОбороты.ТипСтатьи,
    ВТОбороты.Сумма,
    "Расходование" КАК Группа,
    "Расходы без доходов" КАК ПодГруппа
    ПОМЕСТИТЬ ВТРасходыБезДоходов
    ИЗ
    ВТОбороты КАК ВТОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ НГсПоступлениями КАК НГсПоступлениями
    ПО ВТОбороты.НоменклатурнаяГруппа = НГсПоступлениями.НоменклатурнаяГруппа
    И (НЕ ВТОбороты.ЭтоДоход)
    ГДЕ
    НГсПоступлениями.НоменклатурнаяГруппа ЕСТЬ NULL
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВтПоступления.Группа,
    ВтПоступления.ПодГруппа,
    ВтПоступления.Регистратор,
    ВтПоступления.НоменклатурнаяГруппа,
    ВтПоступления.РасходДоход,
    ВтПоступления.ТипСтатьи,
    ВтПоступления.Сумма
    ИЗ
    ВтПоступления КАК ВтПоступления

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    ВТРасходСДоходом.Группа,
    ВТРасходСДоходом.ПодГруппа,
    ВТРасходСДоходом.Регистратор,
    ВТРасходСДоходом.НоменклатурнаяГруппа,
    ВТРасходСДоходом.РасходДоход,
    ВТРасходСДоходом.ТипСтатьи,
    ВТРасходСДоходом.Сумма
    ИЗ
    ВТРасходСДоходом КАК ВТРасходСДоходом

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    ВТРасходыБезДоходов.Группа,
    ВТРасходыБезДоходов.ПодГруппа,
    ВТРасходыБезДоходов.Регистратор,
    ВТРасходыБезДоходов.НоменклатурнаяГруппа,
    ВТРасходыБезДоходов.РасходДоход,
    ВТРасходыБезДоходов.ТипСтатьи,
    ВТРасходыБезДоходов.Сумма
    ИЗ
    ВТРасходыБезДоходов КАК ВТРасходыБезДоходов
```
---
(1) zlakizla, Вы просто обороты запросов выньте, запрос здесь покажите. Тогда его сможем переделать в то, что нужно. Ну если это возможно и разумно сделать. Гадать имена идентификаторов не охото
---
zlakizla, я так понимаю у вас скорее всего есть критерии по которым определяется Поступление и расход. Тогда решением может быть 2 варианта, Нужно добавить 2 поля в запрос: "Группа" - расход\приход и "подгруппа" - Расходы с доходами\Расходы без доходов\Приход, а затем в СКД его группировать. Но тут получится не как на картинке, так как у прихода будет еще одна строка группировки.

Есть еще вариант: это определение иерархии в самой скд, когда вы формируете 2 запроса, 1 - это определение иерархии, то есть
1 Приход
2 Расход
  2.1 Расходы с доходами
  2.2 Расходы без доходов
А затем этот запрос связываете с основным запросом, а итоги формируете по полям первого запроса, и группировка с учетом иерархии. В самой скд есть на закладке "Набор данных" колонка "Проверка иерархии". более подробно не могу сказать, так как сам с этой темой мало знаком. У гилева про скд довольно хорошо об этом описано.
---
zlakizla, я конечно не мог это провернить

```1c
    //Группа|ТипСтатьи|СуммаРасхода|СуммаДохода
    ВЫБРАТЬ
    r.НоменклатурнаяГруппа как Группа,
    r.СтатьяОборотов.ТипСтатьи КАК ТипСтатьи,

    сумма(ВЫБОР
    КОГДА r.СуммаСценарий > 0 И r.СтатьяОборотов.РасходДоход = "Поступление" ТОГДА 0
    ИНАЧЕ r.Сумма
    КОНЕЦ) КАК СуммаРасхода,

    сумма(ВЫБОР
    КОГДА r.СуммаСценарий > 0 И r.СтатьяОборотов.РасходДоход = "Поступление" ТОГДА r.Сумма
    ИНАЧЕ 0
    КОНЕЦ) КАК СуммаДохода
    ИЗ
    РегистрНакопления.ОборотыПоБюджетам КАК r
    ГДЕ
    r.Сценарий = "ФАКТ"
    И r.НоменклатурнаяГруппа <> ЗНАЧЕНИЕ(Справочник.НоменклатурныеГруппы.ПустаяСсылка)
    сгруппировать по
    r.НоменклатурнаяГруппа,
    r.СтатьяОборотов.ТипСтатьи
    упорядочить по
    СуммаДохода убыв,
    СуммаРасхода
```
---
Добавьте поле типа
Выбор когда Статьяоборотов = Поступление тогда Истина Иначе ложь Конец Как этоПоступление
Более конкретно смогу подсказать, только если будет текст запроса
---
ВЫБРАТЬ
 ОборотыПоБюджетам.Регистратор,
 ОборотыПоБюджетам.НоменклатурнаяГруппа,
 ОборотыПоБюджетам.СтатьяОборотов.РасходДоход КАК РасходДоход,
 ВЫБОР
  КОГДА ОборотыПоБюджетам.СуммаСценарий > 0
    И ОборотыПоБюджетам.СтатьяОборотов.РасходДоход = "Поступление"
   ТОГДА ИСТИНА
  ИНАЧЕ ЛОЖЬ
 КОНЕЦ КАК ЭтоДоход,
 ОборотыПоБюджетам.СтатьяОборотов.ТипСтатьи КАК ТипСтатьи,
 ОборотыПоБюджетам.Сумма
ИЗ
 РегистрНакопления.ОборотыПоБюджетам КАК ОборотыПоБюджетам
ГДЕ
 ОборотыПоБюджетам.Сценарий = "ФАКТ"
 И ОборотыПоБюджетам.НоменклатурнаяГруппа <> ЗНАЧЕНИЕ(Справочник.НоменклатурныеГруппы.ПустаяСсылка)
---
Вот запрос. Нужно в отчете как-то вытащить Номенклатурные группы, по которым был Расход без дохода и Расход с доходом. Может как-то с помощью СКД сделать?
---
zlakizla, эти поля:
"ОборотыПоБюджетам.СтатьяОборотов.РасходДоход " И "ОборотыПоБюджетам.Сценарий" Они реально строковые?
---
Судя по крохам информации, должно быть вот так:

```1c
    ВЫБРАТЬ
    ОборотыПоБюджетам.Регистратор,
    ОборотыПоБюджетам.НоменклатурнаяГруппа,
    ОборотыПоБюджетам.СтатьяОборотов.РасходДоход КАК РасходДоход,
    ВЫБОР
    КОГДА ОборотыПоБюджетам.СуммаСценарий > 0
    И ОборотыПоБюджетам.СтатьяОборотов.РасходДоход = "Поступление"
    ТОГДА ИСТИНА
    ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ЭтоДоход,
    ОборотыПоБюджетам.СтатьяОборотов.ТипСтатьи КАК ТипСтатьи,
    ОборотыПоБюджетам.Сумма
    ПОМЕСТИТЬ ВТОбороты
    ИЗ
    РегистрНакопления.ОборотыПоБюджетам КАК ОборотыПоБюджетам
    ГДЕ
    ОборотыПоБюджетам.Сценарий = "ФАКТ"
    И ОборотыПоБюджетам.НоменклатурнаяГруппа <> ЗНАЧЕНИЕ(Справочник.НоменклатурныеГруппы.ПустаяСсылка)
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТОбороты.Регистратор,
    ВТОбороты.НоменклатурнаяГруппа,
    ВТОбороты.РасходДоход,
    ВТОбороты.ЭтоДоход,
    ВТОбороты.ТипСтатьи,
    ВТОбороты.Сумма,
    "ПОСТУПЛЕНИЕ" КАК Группа,
    "ПРИХОД" КАК ПодГруппа
    ПОМЕСТИТЬ ВтПоступления
    ИЗ
    ВТОбороты КАК ВТОбороты
    ГДЕ
    ВТОбороты.ЭтоДоход
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВтПоступления.НоменклатурнаяГруппа
    ПОМЕСТИТЬ НГсПоступлениями
    ИЗ
    ВтПоступления КАК ВтПоступления
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТОбороты.Регистратор,
    ВТОбороты.НоменклатурнаяГруппа,
    ВТОбороты.РасходДоход,
    ВТОбороты.ЭтоДоход,
    ВТОбороты.ТипСтатьи,
    ВТОбороты.Сумма,
    "Расходование" КАК Группа,
    "Расход с доходом" КАК ПодГруппа
    ПОМЕСТИТЬ ВТРасходСДоходом
    ИЗ
    ВТОбороты КАК ВТОбороты
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ НГсПоступлениями КАК НГсПоступлениями
    ПО ВТОбороты.НоменклатурнаяГруппа = НГсПоступлениями.НоменклатурнаяГруппа
    И (НЕ ВТОбороты.ЭтоДоход)
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТОбороты.Регистратор,
    ВТОбороты.НоменклатурнаяГруппа,
    ВТОбороты.РасходДоход,
    ВТОбороты.ЭтоДоход,
    ВТОбороты.ТипСтатьи,
    ВТОбороты.Сумма,
    "Расходование" КАК Группа,
    "Расходы без доходов" КАК ПодГруппа
    ПОМЕСТИТЬ ВТРасходыБезДоходов
    ИЗ
    ВТОбороты КАК ВТОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ НГсПоступлениями КАК НГсПоступлениями
    ПО ВТОбороты.НоменклатурнаяГруппа = НГсПоступлениями.НоменклатурнаяГруппа
    И (НЕ ВТОбороты.ЭтоДоход)
    ГДЕ
    НГсПоступлениями.НоменклатурнаяГруппа ЕСТЬ NULL
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВтПоступления.Группа,
    ВтПоступления.ПодГруппа,
    ВтПоступления.Регистратор,
    ВтПоступления.НоменклатурнаяГруппа,
    ВтПоступления.РасходДоход,
    ВтПоступления.ТипСтатьи,
    ВтПоступления.Сумма
    ИЗ
    ВтПоступления КАК ВтПоступления

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    ВТРасходСДоходом.Группа,
    ВТРасходСДоходом.ПодГруппа,
    ВТРасходСДоходом.Регистратор,
    ВТРасходСДоходом.НоменклатурнаяГруппа,
    ВТРасходСДоходом.РасходДоход,
    ВТРасходСДоходом.ТипСтатьи,
    ВТРасходСДоходом.Сумма
    ИЗ
    ВТРасходСДоходом КАК ВТРасходСДоходом

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    ВТРасходыБезДоходов.Группа,
    ВТРасходыБезДоходов.ПодГруппа,
    ВТРасходыБезДоходов.Регистратор,
    ВТРасходыБезДоходов.НоменклатурнаяГруппа,
    ВТРасходыБезДоходов.РасходДоход,
    ВТРасходыБезДоходов.ТипСтатьи,
    ВТРасходыБезДоходов.Сумма
    ИЗ
    ВТРасходыБезДоходов КАК ВТРасходыБезДоходов
```
---
Сделал 3 "набора данных-запрос" в СКД и поместил их в в "набор данных - объединение". Вроде получилось :)
1) Набор данных - запрос: все группы, по которым был доход за период
2) Набор данных - запрос: все группы, по которым был расход и доход за период
3) Набор данных - запрос: все группы, по которым был расход, но не было дохода за период.
Все это запихнул в Набор данных - объединение.