Всем доброе утро! В общем,продвинулся вперед,но осталась последняя часть задачи
По регистрам расчёта начисления и удержания сделать выборку:
Сотрудник
Месяц
Сумма начислено
Сумма удержано
Итоговая сумма
Итоговая сумма за прошлый месяц
Сумма увеличилась (Да/нет, относительно предыдущего периода)
Добавить итоги по сотруднику.
На уровне сотрудника рассчитывать только итоговую сумму.
Месяцы выводить по убыванию.
//////
Я сделал запрос,но у меня вызвал проблему пункт Про итоговую сумму за прошлый месяц.
Коллега подсказал,что нужно "Правильно связать сотрудника и дату",но я не совсем понял эту подсказку, можете помочь?
Я помню,что вроде как есть функция с помощью которой можно дату сделать на день,месяц,год меньше,но не уверен.

Вот текст запроса:

```1c
    ВЫБРАТЬ
    Начисления.ФизическоеЛицо КАК ФизическоеЛицо,
    Начисления.Месяц КАК МесяцНачисления,
    СУММА(Начисления.Результат) КАК СуммаНачисления
    ПОМЕСТИТЬ ВтНачисления
    ИЗ
    РегистрРасчета.Начисления КАК Начисления

    СГРУППИРОВАТЬ ПО
    Начисления.ФизическоеЛицо,
    Начисления.Месяц
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    Удержания.ФизическоеЛицо КАК ФизическоеЛицо,
    Удержания.ПериодРегистрации КАК МесяцУдержания,
    Удержания.Результат КАК СуммаУдержания
    ПОМЕСТИТЬ ВтУдержания
    ИЗ
    РегистрРасчета.Удержания КАК Удержания
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВтНачисления.ФизическоеЛицо КАК Сотрудник,
    ВтНачисления.МесяцНачисления КАК МесяцНачисления,
    ВтНачисления.СуммаНачисления КАК СуммаНачисления,
    ВтУдержания.СуммаУдержания КАК СуммаУдержания,
    ВтНачисления.СуммаНачисления - ВтУдержания.СуммаУдержания КАК ИтогЗаПериод
    ИЗ
    ВтНачисления КАК ВтНачисления
    ЛЕВОЕ СОЕДИНЕНИЕ ВтУдержания КАК ВтУдержания
    ПО (ВтНачисления.ФизическоеЛицо = ВтУдержания.ФизическоеЛицо)
    И (ВтНачисления.МесяцНачисления = ВтУдержания.МесяцУдержания)

    УПОРЯДОЧИТЬ ПО
    МесяцНачисления УБЫВ
    ИТОГИ
    СУММА(ИтогЗаПериод)
    ПО
    Сотрудник
```
---
```1c
    ВЫБРАТЬ
    Начисления.ФизическоеЛицо КАК ФизическоеЛицо,
    Начисления.Месяц КАК Месяц,
    СУММА(Начисления.Результат) КАК СуммаНачислено,
    0 КАК СуммаУдержано
    ПОМЕСТИТЬ втИсходныеДанные
    ИЗ
    РегистрРасчета.Начисления КАК Начисления

    СГРУППИРОВАТЬ ПО
    Начисления.ФизическоеЛицо,
    Начисления.Месяц

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

    ВЫБРАТЬ
    Удержания.ФизическоеЛицо,
    Удержания.ПериодРегистрации,
    0,
    Удержания.Результат
    ИЗ
    РегистрРасчета.Удержания КАК Удержания
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    втИсходныеДанные.ФизическоеЛицо КАК ФизическоеЛицо,
    втИсходныеДанные.Месяц КАК Месяц,
    СУММА(втИсходныеДанные.СуммаНачислено) КАК СуммаНачислено,
    СУММА(втИсходныеДанные.СуммаУдержано) КАК СуммаУдержано
    ПОМЕСТИТЬ втГруппировка
    ИЗ
    втИсходныеДанные КАК втИсходныеДанные

    СГРУППИРОВАТЬ ПО
    втИсходныеДанные.ФизическоеЛицо,
    втИсходныеДанные.Месяц
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    втГруппировка.ФизическоеЛицо КАК ФизическоеЛицо,
    втГруппировка.Месяц КАК Месяц,
    втГруппировка.СуммаНачислено КАК СуммаНачислено,
    втГруппировка.СуммаУдержано КАК СуммаУдержано,
    втГруппировка.СуммаНачислено - втГруппировка.СуммаУдержано КАК ИтоговаяСумма
    ПОМЕСТИТЬ втИтогиПоМесяцам
    ИЗ
    втГруппировка КАК втГруппировка
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    втИтогиПоМесяцам.ФизическоеЛицо КАК ФизическоеЛицо,
    втИтогиПоМесяцам.Месяц КАК Месяц,
    втИтогиПоМесяцам.СуммаНачислено КАК СуммаНачислено,
    втИтогиПоМесяцам.СуммаУдержано КАК СуммаУдержано,
    втИтогиПоМесяцам.ИтоговаяСумма КАК ИтоговаяСумма,
    ЕСТЬNULL(втИтогиПоМесяцамПрошлыйМесяц.ИтоговаяСумма, 0) КАК ИтоговаяСуммаЗаПрошлыйМесяц,
    ВЫБОР
    КОГДА ЕСТЬNULL(втИтогиПоМесяцамПрошлыйМесяц.ИтоговаяСумма, 0) < втИтогиПоМесяцам.ИтоговаяСумма
    ТОГДА ИСТИНА
    ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК СуммаУвеличилась
    ИЗ
    втИтогиПоМесяцам КАК втИтогиПоМесяцам
    ЛЕВОЕ СОЕДИНЕНИЕ втИтогиПоМесяцам КАК втИтогиПоМесяцамПрошлыйМесяц
    ПО втИтогиПоМесяцам.ФизическоеЛицо = втИтогиПоМесяцамПрошлыйМесяц.ФизическоеЛицо
    И (втИтогиПоМесяцам.Месяц = ДОБАВИТЬКДАТЕ(втИтогиПоМесяцамПрошлыйМесяц.Месяц, МЕСЯЦ, -1))
```

Осталось два пункта:
1 - На уровне сотрудника рассчитывать только итоговую сумму.
2 - Месяцы выводить по убыванию

Тут сами справитесь?
---
Это называется Объединение таблиц. Есть соединение, когда справа или слева к основной таблице присоединяются строки из второй таблицы, а есть объединение, когда вторая таблица располагается снизу.
Разберем на Вашем примере:

```1c
    ВЫБРАТЬ
    Начисления.ФизическоеЛицо КАК ФизическоеЛицо,
    Начисления.Месяц КАК Месяц,
    СУММА(Начисления.Результат) КАК СуммаНачислено,
    0 КАК СуммаУдержано
    ИЗ
    РегистрРасчета.Начисления КАК Начисления
```

Вот тут мы из регистра "Начисления" достаем ФизическоеЛицо, Месяц и СуммаНачислено, и делаем пустую колонку "Сумма удержано" с нулями.
Далее вот в этом фрагменте

```1c
    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Удержания.ФизическоеЛицо,
    Удержания.ПериодРегистрации,
    0,
    Удержания.Результат
    ИЗ
    РегистрРасчета.Удержания КАК Удержания
```

Мы снизу к получившейся таблице из регистра "Начисления" присоединяем таблицу из регистра "Удержания". Из таблицы удержания мы достаем колонки ФизическоеЛицо, ПериодРегистрации и СуммаУдержано и делаем пустую колонку "СуммаНачислено", заполняем ее нулями.

В итоге у нас получается таблица с колонками
ФизическоеЛицо|Месяц|СуммаНачислено|СуммаУдержано
Сначала в этой таблице идут строки из начислений
Иванов|01.01.2023|998,87|0
Петров|01.01.2023|98,20|0
Сидоров|01.01.2023|1000,34|0
Игнашевич|01.01.2023|555,55|0
...
Причем в колонке "Сумма удержано" у нас только нули
Далее в итоговой таблице идут строки из удержаний

Иванов|01.01.2023|0|111,11
Петров|01.01.2023|0|222,22
Сидоров|01.01.2023|0|333,33
Игнашевич|01.01.2023|0|444,44
...
Причем "Сумма начислено" у нас везде нулевая.

Получаем таблицу начислений и удержаний

ФизическоеЛицо|Месяц |СуммаНачислено|СуммаУдержано
Иванов |01.01.2023|998,87 |0
Петров |01.01.2023|98,20 |0
Сидоров |01.01.2023|1000,34 |0
Игнашевич |01.01.2023|555,55 |0
Иванов |01.01.2023|0 |111,11
Петров |01.01.2023|0 |222,22
Сидоров |01.01.2023|0 |333,33
Игнашевич |01.01.2023|0 |444,44

Засовываем ее во временную таблицу и во втором запросе пакета выполняем группирову по полям ФизическоеЛицо и Месяц с суммированием полей СуммаНачислено и СуммаУдержано. Получаем исходную для нашего отчета таблицу начислений и удержаний по месяцам и сотрудникам.
---
Можно через объединение
Месяц
ИЗ регистр (нач, кон)
объединиить
ДОбавитьКДате(Месяц, Месяц, 1)
Из
регистр(начПрошлый, конПрошлый)

И сгруппировать потом, либо через левое соединение
---
Выбрать
    ДобавитьКДате(ДатаВремя(2016,10,1),МЕСЯЦ,-1)

Вот по идее вот с помощью этой функции можно сделать,если я не ошибаюсь
---
Но только я не знаю,как правильно её применить в запросе(не в плане написания параметров и т.д), а именно как связать с получением итога за предыдущий месяц
---
"Итоговая сумма" и "Итоговая сумма за прошлый месяц" по какой формуле должны вычисляться?
---
Итоговая суммаСумма Начисления-Сумма Удержания
---
```1c
    ВЫБРАТЬ
    Начисления.ФизическоеЛицо КАК ФизическоеЛицо,
    Начисления.Месяц КАК Месяц,
    СУММА(Начисления.Результат) КАК СуммаНачислено,
    0 КАК СуммаУдержано
    ПОМЕСТИТЬ втИсходныеДанные
    ИЗ
    РегистрРасчета.Начисления КАК Начисления

    СГРУППИРОВАТЬ ПО
    Начисления.ФизическоеЛицо,
    Начисления.Месяц

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

    ВЫБРАТЬ
    Удержания.ФизическоеЛицо,
    Удержания.ПериодРегистрации,
    0,
    Удержания.Результат
    ИЗ
    РегистрРасчета.Удержания КАК Удержания
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    втИсходныеДанные.ФизическоеЛицо КАК ФизическоеЛицо,
    втИсходныеДанные.Месяц КАК Месяц,
    СУММА(втИсходныеДанные.СуммаНачислено) КАК СуммаНачислено,
    СУММА(втИсходныеДанные.СуммаУдержано) КАК СуммаУдержано
    ПОМЕСТИТЬ втГруппировка
    ИЗ
    втИсходныеДанные КАК втИсходныеДанные

    СГРУППИРОВАТЬ ПО
    втИсходныеДанные.ФизическоеЛицо,
    втИсходныеДанные.Месяц
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    втГруппировка.ФизическоеЛицо КАК ФизическоеЛицо,
    втГруппировка.Месяц КАК Месяц,
    втГруппировка.СуммаНачислено КАК СуммаНачислено,
    втГруппировка.СуммаУдержано КАК СуммаУдержано,
    втГруппировка.СуммаНачислено - втГруппировка.СуммаУдержано КАК ИтоговаяСумма
    ПОМЕСТИТЬ втИтогиПоМесяцам
    ИЗ
    втГруппировка КАК втГруппировка
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    втИтогиПоМесяцам.ФизическоеЛицо КАК ФизическоеЛицо,
    втИтогиПоМесяцам.Месяц КАК Месяц,
    втИтогиПоМесяцам.СуммаНачислено КАК СуммаНачислено,
    втИтогиПоМесяцам.СуммаУдержано КАК СуммаУдержано,
    втИтогиПоМесяцам.ИтоговаяСумма КАК ИтоговаяСумма,
    ЕСТЬNULL(втИтогиПоМесяцамПрошлыйМесяц.ИтоговаяСумма, 0) КАК ИтоговаяСуммаЗаПрошлыйМесяц,
    ВЫБОР
    КОГДА ЕСТЬNULL(втИтогиПоМесяцамПрошлыйМесяц.ИтоговаяСумма, 0) < втИтогиПоМесяцам.ИтоговаяСумма
    ТОГДА ИСТИНА
    ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК СуммаУвеличилась
    ИЗ
    втИтогиПоМесяцам КАК втИтогиПоМесяцам
    ЛЕВОЕ СОЕДИНЕНИЕ втИтогиПоМесяцам КАК втИтогиПоМесяцамПрошлыйМесяц
    ПО втИтогиПоМесяцам.ФизическоеЛицо = втИтогиПоМесяцамПрошлыйМесяц.ФизическоеЛицо
    И (втИтогиПоМесяцам.Месяц = ДОБАВИТЬКДАТЕ(втИтогиПоМесяцамПрошлыйМесяц.Месяц, МЕСЯЦ, -1))
```

Осталось два пункта:
1 - На уровне сотрудника рассчитывать только итоговую сумму.
2 - Месяцы выводить по убыванию

Тут сами справитесь?
---
Да,вариант рабочий,сейчас буду разбираться,спасибо большое!
---
Можно вопрос по вашему решению задать?
---
(9)Конечно, задавайте.
---
На уровне сотрудника рассчитывать только итоговую сумму.
2 - Месяцы выводить по убыванию
Да тут у меня уже всё готово было,в моём решении.
Просто мне интересно по поводу пятой строчки кода.
"0 Как СуммаУдержано"
Я не совсем понял,что это означает
---
Это называется Объединение таблиц. Есть соединение, когда справа или слева к основной таблице присоединяются строки из второй таблицы, а есть объединение, когда вторая таблица располагается снизу.
Разберем на Вашем примере:

```1c
    ВЫБРАТЬ
    Начисления.ФизическоеЛицо КАК ФизическоеЛицо,
    Начисления.Месяц КАК Месяц,
    СУММА(Начисления.Результат) КАК СуммаНачислено,
    0 КАК СуммаУдержано
    ИЗ
    РегистрРасчета.Начисления КАК Начисления
```

Вот тут мы из регистра "Начисления" достаем ФизическоеЛицо, Месяц и СуммаНачислено, и делаем пустую колонку "Сумма удержано" с нулями.
Далее вот в этом фрагменте

```1c
    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Удержания.ФизическоеЛицо,
    Удержания.ПериодРегистрации,
    0,
    Удержания.Результат
    ИЗ
    РегистрРасчета.Удержания КАК Удержания
```

Мы снизу к получившейся таблице из регистра "Начисления" присоединяем таблицу из регистра "Удержания". Из таблицы удержания мы достаем колонки ФизическоеЛицо, ПериодРегистрации и СуммаУдержано и делаем пустую колонку "СуммаНачислено", заполняем ее нулями.

В итоге у нас получается таблица с колонками
ФизическоеЛицо|Месяц|СуммаНачислено|СуммаУдержано
Сначала в этой таблице идут строки из начислений
Иванов|01.01.2023|998,87|0
Петров|01.01.2023|98,20|0
Сидоров|01.01.2023|1000,34|0
Игнашевич|01.01.2023|555,55|0
...
Причем в колонке "Сумма удержано" у нас только нули
Далее в итоговой таблице идут строки из удержаний

Иванов|01.01.2023|0|111,11
Петров|01.01.2023|0|222,22
Сидоров|01.01.2023|0|333,33
Игнашевич|01.01.2023|0|444,44
...
Причем "Сумма начислено" у нас везде нулевая.

Получаем таблицу начислений и удержаний

ФизическоеЛицо|Месяц |СуммаНачислено|СуммаУдержано
Иванов |01.01.2023|998,87 |0
Петров |01.01.2023|98,20 |0
Сидоров |01.01.2023|1000,34 |0
Игнашевич |01.01.2023|555,55 |0
Иванов |01.01.2023|0 |111,11
Петров |01.01.2023|0 |222,22
Сидоров |01.01.2023|0 |333,33
Игнашевич |01.01.2023|0 |444,44

Засовываем ее во временную таблицу и во втором запросе пакета выполняем группирову по полям ФизическоеЛицо и Месяц с суммированием полей СуммаНачислено и СуммаУдержано. Получаем исходную для нашего отчета таблицу начислений и удержаний по месяцам и сотрудникам.
---
(12) Это называется Объединение таблиц. Есть соединение, когда справа или слева к основной таблице присоединяются строки из второй таблицы, а есть объединение, когда вторая таблица располагается снизу. Благодарю! Раньше не видел такого способа соединения. Очень подробное объяснение, наконец-то. Спасибо огромное за Ваше время! Хорошего Вам вечера!