Доброго времени суток. Учусь делать запросы. Сделал достаточно массивный запрос на получение информции о сотруднике, количестве отработанных дней, начислениях, удержаниях за конкретный период. Было много ошибок которые решил, но есть одна которую я просто не понимаю. У двух сотрудников количество отработанных дней и зарплата суммируется (и чаще они в списке выводятся первым и последним). Например, количество отработанных дней 10 - выводится 20. Зарплата 1000 - выводится 2000. Я проверил регистр,начисления и там инфомаия верная. Поэтому остается вариант что я намудрил в запросе. Потому что до этого были ошибки с группировкой и некоторые пришлось решить костыльно. Простыми словами: если я не суммирую эти поля то выводится три записи и тогда информация отображается верная. Но если группирую и суммирую тогда не верная ТОЛЬКО у этих двух.

Вот весь запрос

Вот кусок запроса где учавствуют начисления
```1c
    ВЫБРАТЬ
    Начисления.Сотрудник КАК ФизЛицо,
    ПаспортныеДанныеФизЛиц.ДокументПинКод КАК ФизЛицоИНН,
    Начисления.Сотрудник.Физлицо.СтраховойНомерПФ КАК ФизЛицоСтраховойНомерПФР,
    СУММА(ВЫБОР
    КОГДА Начисления.ВидРасчета В (&Оклад)
    ТОГДА ВЫБОР
    КОГДА МЕСЯЦ(Начисления.ПериодРегистрации) = 1
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 4
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 7
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 10
    ТОГДА Начисления.ОтработаноДней
    ИНАЧЕ 0
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ) КАК ОтроботаноДн1,
    СУММА(ВЫБОР
    КОГДА МЕСЯЦ(Начисления.ПериодРегистрации) = 1
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 4
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 7
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 10
    ТОГДА Начисления.Результат
    ИНАЧЕ 0
    КОНЕЦ) КАК Сумма1,
    СУММА(ВЫБОР
    КОГДА Начисления.ВидРасчета В (&Оклад)
    ТОГДА ВЫБОР
    КОГДА МЕСЯЦ(Начисления.ПериодРегистрации) = 2
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 5
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 8
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 11
    ТОГДА Начисления.ОтработаноДней
    ИНАЧЕ 0
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ) КАК ОтроботаноДн2,
    СУММА(ВЫБОР
    КОГДА МЕСЯЦ(Начисления.ПериодРегистрации) = 2
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 5
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 8
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 11
    ТОГДА Начисления.Результат
    ИНАЧЕ 0
    КОНЕЦ) КАК Сумма2,
    СУММА(ВЫБОР
    КОГДА Начисления.ВидРасчета В (&Оклад)
    ТОГДА ВЫБОР
    КОГДА МЕСЯЦ(Начисления.ПериодРегистрации) = 3
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 6
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 9
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 12
    ТОГДА Начисления.ОтработаноДней
    ИНАЧЕ 0
    КОНЕЦ
    ИНАЧЕ 0
    КОНЕЦ) КАК ОтроботаноДн3,
    СУММА(ВЫБОР
    КОГДА МЕСЯЦ(Начисления.ПериодРегистрации) = 3
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 6
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 9
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 12
    ТОГДА Начисления.Результат
    ИНАЧЕ 0
    КОНЕЦ) КАК Сумма3
    ПОМЕСТИТЬ ВТ_Начисления
    ИЗ
    РегистрРасчета.Начисления КАК Начисления
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц КАК ПаспортныеДанныеФизЛиц
    ПО Начисления.Сотрудник.Физлицо = ПаспортныеДанныеФизЛиц.ФизЛицо
    ГДЕ
    Начисления.ПериодРегистрации МЕЖДУ &ДатаНачала И &ДатаОкончания
    И НЕ Начисления.ВидРасчета = &ПланыВидовРасчетаДоговорПодряда
    И Начисления.Результат <> 0
    И (Начисления.ВидРасчета = &Оклад
    ИЛИ Начисления.ВидРасчета = &Мукафат1
    ИЛИ Начисления.ВидРасчета = &Мукафат2
    ИЛИ Начисления.ВидРасчета = &Мукафат3
    ИЛИ Начисления.ВидРасчета = &Мукафат4)

    СГРУППИРОВАТЬ ПО
    Начисления.Сотрудник,
    ПаспортныеДанныеФизЛиц.ДокументПинКод,
    Начисления.Сотрудник.Физлицо.СтраховойНомерПФ
    ;

    ////////////////////////////////////////////////////////////­////////////
    ВЫБРАТЬ
    ВТ_Начисления.ФизЛицо,
    ВТ_Начисления.ФизЛицоИНН,
    ВТ_Начисления.ФизЛицоСтраховойНомерПФР КАК ФизЛицоСтраховойНомерПФР,
    ЕСТЬNULL(ВТ_Начисления.ОтроботаноДн1, 0) КАК ОтроботаноДн1,
    ЕСТЬNULL(ВТ_Начисления.Сумма1, 0) КАК Сумма1,
    ЕСТЬNULL(ВТ_Начисления.ОтроботаноДн2, 0) КАК ОтроботаноДн2,
    ЕСТЬNULL(ВТ_Начисления.Сумма2, 0) КАК Сумма2,
    ЕСТЬNULL(ВТ_Начисления.ОтроботаноДн3, 0) КАК ОтроботаноДн3,
    ЕСТЬNULL(ВТ_Начисления.Сумма3, 0) КАК Сумма3,
    ЕСТЬNULL(ВТ_НеИспользОтпуск.НеИспольОтп1, 0) КАК НеИспольОтп1,
    ЕСТЬNULL(ВТ_НеИспользОтпуск.НеИспольОтп2, 0) КАК НеИспольОтп2,
    ЕСТЬNULL(ВТ_НеИспользОтпуск.НеИспольОтп3, 0) КАК НеИспольОтп3,
    ЕСТЬNULL(ВТ_MDSS.Сумма41_1, 0) КАК Сумма41_1,
    ЕСТЬNULL(ВТ_MDSS.Сумма41_2, 0) КАК Сумма41_2,
    ЕСТЬNULL(ВТ_MDSS.Сумма41_3, 0) КАК Сумма41_3,
    ЕСТЬNULL(ВТ_ФондБезработицы.Сумма51_1, 0) КАК Сумма51_1,
    ЕСТЬNULL(ВТ_ФондБезработицы.Сумма51_2, 0) КАК Сумма51_2,
    ЕСТЬNULL(ВТ_ФондБезработицы.Сумма51_3, 0) КАК Сумма51_3,
    ЕСТЬNULL(ВТ_Льготы.Сумма31_1, 0) КАК Сумма31_1,
    ЕСТЬNULL(ВТ_Льготы.Сумма31_2, 0) КАК Сумма31_2,
    ЕСТЬNULL(ВТ_Льготы.Сумма31_3, 0) КАК Сумма31_3
    ПОМЕСТИТЬ ВТ_ДляГруппировки
    ИЗ
    ВТ_Начисления КАК ВТ_Начисления
    ЛЕВОЕ СОЕДИНЕНИЕ ВТ_НеИспользОтпуск КАК ВТ_НеИспользОтпуск
    ПО ВТ_Начисления.ФизЛицо = ВТ_НеИспользОтпуск.ФизЛицо
    ЛЕВОЕ СОЕДИНЕНИЕ ВТ_MDSS КАК ВТ_MDSS
    ПО ВТ_Начисления.ФизЛицо = ВТ_MDSS.ФизЛицо
    ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ФондБезработицы КАК ВТ_ФондБезработицы
    ПО ВТ_Начисления.ФизЛицо = ВТ_ФондБезработицы.ФизЛицо
    ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Льготы КАК ВТ_Льготы
    ПО ВТ_Начисления.ФизЛицо = ВТ_Льготы.ФизЛицо
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТ_ДляГруппировки.ФизЛицо,
    ВТ_ДляГруппировки.ФизЛицоИНН,
    ВТ_ДляГруппировки.ФизЛицоСтраховойНомерПФР КАК ФизЛицоСтраховойНомерПФРБезРедакт,
    СУММА(ВТ_ДляГруппировки.ОтроботаноДн1) КАК ОтроботаноДн1,
    ВТ_ДляГруппировки.Сумма1 КАК Сумма1,
    СУММА(ВТ_ДляГруппировки.ОтроботаноДн2) КАК ОтроботаноДн2,
    ВТ_ДляГруппировки.Сумма2 КАК Сумма2,
    СУММА(ВТ_ДляГруппировки.ОтроботаноДн3) КАК ОтроботаноДн3,
    ВТ_ДляГруппировки.Сумма3 КАК Сумма3,
    СУММА(ВТ_ДляГруппировки.НеИспольОтп1) КАК НеИспольОтп1,
    СУММА(ВТ_ДляГруппировки.НеИспольОтп2) КАК НеИспольОтп2,
    СУММА(ВТ_ДляГруппировки.НеИспольОтп3) КАК НеИспольОтп3,
    СУММА(ВТ_ДляГруппировки.Сумма41_1) КАК Сумма41_1,
    СУММА(ВТ_ДляГруппировки.Сумма41_2) КАК Сумма41_2,
    СУММА(ВТ_ДляГруппировки.Сумма41_3) КАК Сумма41_3,
    СУММА(ВТ_ДляГруппировки.Сумма51_1) КАК Сумма51_1,
    СУММА(ВТ_ДляГруппировки.Сумма51_2) КАК Сумма51_2,
    СУММА(ВТ_ДляГруппировки.Сумма51_3) КАК Сумма51_3,
    МАКСИМУМ(ВТ_ДляГруппировки.Сумма31_1) КАК Сумма31_1,
    МАКСИМУМ(ВТ_ДляГруппировки.Сумма31_2) КАК Сумма31_2,
    МАКСИМУМ(ВТ_ДляГруппировки.Сумма31_3) КАК Сумма31_3
    ИЗ
    ВТ_ДляГруппировки КАК ВТ_ДляГруппировки

    СГРУППИРОВАТЬ ПО
    ВТ_ДляГруппировки.ФизЛицо,
    ВТ_ДляГруппировки.ФизЛицоИНН,
    ВТ_ДляГруппировки.ФизЛицоСтраховойНомерПФР,
    ВТ_ДляГруппировки.Сумма1,
    ВТ_ДляГруппировки.Сумма2,
    ВТ_ДляГруппировки.Сумма3
```

 Помогите люди добрые вправить руки
---
```1c
    МЕСЯЦ(Начисления.ПериодРегистрации) = 1
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 4
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 7
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 10
```

Вместо кучи ИЛИ можно использовать одно В

```1c
    МЕСЯЦ(Начисления.ПериодРегистрации) В (1,4,7,10)
```

И так во всех подобных случаях в запросе, где куча ИЛИ для одного поля.

По поводу изначального вопроса - из-за левого соединения.
Скорее всего в регистре паспортные данные для данного физ.лица 2 записи.
---
```1c
    МЕСЯЦ(Начисления.ПериодРегистрации) = 1
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 4
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 7
    ИЛИ МЕСЯЦ(Начисления.ПериодРегистрации) = 10
```

Вместо кучи ИЛИ можно использовать одно В

```1c
    МЕСЯЦ(Начисления.ПериодРегистрации) В (1,4,7,10)
```

И так во всех подобных случаях в запросе, где куча ИЛИ для одного поля.

По поводу изначального вопроса - из-за левого соединения.
Скорее всего в регистре паспортные данные для данного физ.лица 2 записи.
---
По поводу изначального вопроса - из-за левого соединения.
Скорее всего в регистре паспортные данные для данного физ.лица 2 записи.

Вы правы. Оказалось,что так и есть. Спасибо.