Всем добрый день. Ребят уже изошелся на нет, никак не могу понять почему не формируется корректно таблица в запросе....

Вроде бы всё элементарно но такое чувство что что-то упустил.

Вот запрос

```1c
    ВЫБРАТЬ
    ЗаявкиПоОтделам.НСБ КАК НСБ,
    ЗаявкиПоОтделам.Контрагент КАК Контрагент,
    ЗаявкиПоОтделам.СуммаЛимита КАК СуммаЛимита,
    ЗаявкиПоОтделам.СуммаФакт КАК СуммаФакт
    ИЗ
    РегистрНакопления.ЗаявкиПоОтделам КАК ЗаявкиПоОтделам
    ГДЕ
    ЗаявкиПоОтделам.ПериодЛимита = &ПериодЛимита
    И ЗаявкиПоОтделам.Участок = &Участок

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

    ВЫБРАТЬ
    ЗаявкиПоОтделамФакт.НСБ,
    ЗаявкиПоОтделамФакт.Контрагент,
    ЗаявкиПоОтделамФакт.СуммаЛимита,
    ЗаявкиПоОтделамФакт.СуммаФакт
    ИЗ
    РегистрНакопления.ЗаявкиПоОтделамФакт КАК ЗаявкиПоОтделамФакт
    ГДЕ
    ЗаявкиПоОтделамФакт.ПериодЛимита = &ПериодЛимита
    И ЗаявкиПоОтделамФакт.Участок = &Участок
```

Результат формируется в 8 строк, но в каждом регистре 4 строки и мне нужно что бы он и объединил в 4 строки....
Скажите мне "...." в чём я ошибся?

Результат прикрепил
---
Вася, Вася! Автор четко написал какой результат ему нужен Результат формируется в 8 строк, но в каждом регистре 4 строки и мне нужно что бы он и объединил в 4 строки....
Скажите мне "...." в чём я ошибся? Таким образом, ему не нужно объединять, а нужно соединять по двум измерениям. Более точный запрос написали ниже, добавлю ещё, не хватает условий для второго регистра, а то будет сверять со всеми данными и запрос будет работать дольше.

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

    СГРУППИРОВАТЬ ПО
    ВТ1.НСБ,
    ВТ1.Контрагент
```

В ВТ1 поместить целиком весть запрос из шапки.
---
кстати. в данном случае вообще объединять ничего не нужно. Все данные есть во второй таблице.
Просто использовать ее:

```1c
    ВЫБРАТЬ
    ЗаявкиПоОтделамФакт.НСБ,
    ЗаявкиПоОтделамФакт.Контрагент,
    ЗаявкиПоОтделамФакт.СуммаЛимита,
    ЗаявкиПоОтделамФакт.СуммаФакт
    ИЗ
    РегистрНакопления.ЗаявкиПоОтделамФакт КАК ЗаявкиПоОтделамФакт
    ГДЕ
    ЗаявкиПоОтделамФакт.ПериодЛимита = &ПериодЛимита
    И ЗаявкиПоОтделамФакт.Участок = &Участок
```
---
Набор полей полей одинаковый!
---
Попробуйте ОБЪЕДИНИТЬ ВСЕ заменить на просто ОБЪЕДИНИТЬ
---
Это не вариант, он сгруппирует тогда!
---
ну может почитать, что такое объединить?
Поскольку задача неизвестна, решить ее можно разными путями с разным результатом, но с нужным количеством строк.
Например так

```1c
    Выбрать НСБ, Контрагент, Сумма(СуммаЛимита), Сумма(СуммаФакт) из (ВЫБРАТЬ
    ЗаявкиПоОтделам.НСБ КАК НСБ,
    ЗаявкиПоОтделам.Контрагент КАК Контрагент,
    ЗаявкиПоОтделам.СуммаЛимита КАК СуммаЛимита,
    ЗаявкиПоОтделам.СуммаФакт КАК СуммаФакт
    ИЗ
    РегистрНакопления.ЗаявкиПоОтделам КАК ЗаявкиПоОтделам
    ГДЕ
    ЗаявкиПоОтделам.ПериодЛимита = &ПериодЛимита
    И ЗаявкиПоОтделам.Участок = &Участок

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

    ВЫБРАТЬ
    ЗаявкиПоОтделамФакт.НСБ,
    ЗаявкиПоОтделамФакт.Контрагент,
    ЗаявкиПоОтделамФакт.СуммаЛимита,
    ЗаявкиПоОтделамФакт.СуммаФакт
    ИЗ
    РегистрНакопления.ЗаявкиПоОтделамФакт КАК ЗаявкиПоОтделамФакт
    ГДЕ
    ЗаявкиПоОтделамФакт.ПериодЛимита = &ПериодЛимита
    И ЗаявкиПоОтделамФакт.Участок = &Участок) ВсеДанные
    Группировать по ВсеДанные.НСБ, ВсеДанные.Контрагент
```
---
Поместите результат во временную таблицу, а потом сгруппируйте по Контрагент и НСБ
---
Пробовал результат не тот...

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

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

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
 ВТ1.НСБ КАК НСБ,
 ВТ1.Контрагент КАК Контрагент,
 ВТ1.СуммаЛимита КАК СуммаЛимита,
 ВТ2.СуммаФакт КАК СуммаФакт
ИЗ
 ВТ1 КАК ВТ1,
 ВТ2 КАК ВТ2

СГРУППИРОВАТЬ ПО
 ВТ1.НСБ,
 ВТ1.Контрагент,
 ВТ1.СуммаЛимита,
 ВТ2.СуммаФакт
---
ваш первоначальный запрос во внешнюю таблицу

ВЫБРАТЬ
    ЗаявкиПоОтделам.НСБ КАК НСБ,
    ЗаявкиПоОтделам.Контрагент КАК Контрагент,
    ЗаявкиПоОтделам.СуммаЛимита КАК СуммаЛимита,
    ЗаявкиПоОтделам.СуммаФакт КАК СуммаФакт
Поместить ВТ
ИЗ
    РегистрНакопления.ЗаявкиПоОтделам КАК ЗаявкиПоОтделам
ГДЕ
    ЗаявкиПоОтделам.ПериодЛимита = &ПериодЛимита
    И ЗаявкиПоОтделам.Участок = &Участок

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

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

 ВЫБРАТЬ
    ВТ.НСБ,
    ВТ.Контрагент,
    Сумма(ВТ.СуммаЛимита),
    Сумма(ВТ.СуммаФакт)
ИЗ
    ВТ КАК ВТ
СГРУППИРОВАТЬ ПО
  ВТ.НСБ,
  ВТ.Контрагент
---
Всё было бы хорошо, но....
"НСБ" тогда он группируется в одно поле с одинаковым значением и получается 3 строки вместо 4
---
я вот даже представить не могу, какая у вас стоит задача что бы вам надо было не группировать строки с учетом получаемых данных.
Может вам все таки озвучить ТЗ.
---
Задача
Есть 2 регистра накоплений. У них одинаковые поля.
Разница в том что из первого регистра мне нужно взять например 3 поля(не важно какие) а поле "СуммаФакт" у него пустое
Во втором регистре все те же поля , но поле "СуммаФакт" заполнено.

В первом и втором регистре, записи идентичны, кроме как раз заполненного поля "СуммаФакт"

Вот мне и нужно объединить эти результаты в один, но без группировки!!!

То есть при формирования у меня не дублировались и был заполнен результат объединения по "СуммаФакт"

Так будет более понятно?
---
в чем сакральный смысл не группировать строки по НСБ и Контрагенту. Вот этот момент объясните. Как понять что в таб1 4 строки и во 2 таб 4 строки, но в данных таблица встречаются идентичные строки. по какому признаку они сопоставляются если они идентичны)
---
Вангую:

```1c
    ВЫБРАТЬ
    ЗаявкиПоОтделам.НСБ КАК НСБ,
    ЗаявкиПоОтделам.Контрагент КАК Контрагент,
    ЗаявкиПоОтделам.СуммаЛимита КАК СуммаЛимита,
    ЗаявкиПоОтделам.СуммаФакт КАК СуммаФакт
    Поместить ВТДанные
    ИЗ
    РегистрНакопления.ЗаявкиПоОтделам КАК ЗаявкиПоОтделам
    ГДЕ
    ЗаявкиПоОтделам.ПериодЛимита = &ПериодЛимита
    И ЗаявкиПоОтделам.Участок = &Участок

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

    ВЫБРАТЬ
    ЗаявкиПоОтделамФакт.НСБ,
    ЗаявкиПоОтделамФакт.Контрагент,
    ЗаявкиПоОтделамФакт.СуммаЛимита,
    ЗаявкиПоОтделамФакт.СуммаФакт
    ИЗ
    РегистрНакопления.ЗаявкиПоОтделамФакт КАК ЗаявкиПоОтделамФакт
    ГДЕ
    ЗаявкиПоОтделамФакт.ПериодЛимита = &ПериодЛимита
    И ЗаявкиПоОтделамФакт.Участок = &Участок
    ;
    ВЫБРАТЬ
    НСБ,
    Контрагент,
    СуммаЛимита
    Сумма(СуммаФакт) КАК СуммаФакт
    ИЗ
    ВТДанные
    СГРУППИРОВАТЬ ПО
    НСБ,
    Контрагент,
    СуммаЛимита
```

Или вообще вот так:

```1c
    ВЫБРАТЬ
    ЗаявкиПоОтделамФакт.НСБ,
    ЗаявкиПоОтделамФакт.Контрагент,
    ЗаявкиПоОтделамФакт.СуммаЛимита,
    ЗаявкиПоОтделамФакт.СуммаФакт
    ИЗ
    РегистрНакопления.ЗаявкиПоОтделамФакт КАК ЗаявкиПоОтделамФакт
    ГДЕ
    ЗаявкиПоОтделамФакт.ПериодЛимита = &ПериодЛимита
    И ЗаявкиПоОтделамФакт.Участок = &Участок
    СГРУППИРОВАТЬ ПО
    ЗаявкиПоОтделамФакт.НСБ,
    ЗаявкиПоОтделамФакт.Контрагент,
    ЗаявкиПоОтделамФакт.СуммаЛимита
```
---
Надо просто сначала сформулировать задачу. Внятно, понятно, доступно.
А потом уже решать ее.
Хотя если зарплата не зависит от результата, а зависит от времени, то более логичным будет решать задачу, не поставив ее. Это можно делать до пенсии.
---
зависит от
Причем тут зарплата? Я обратился за помощью что бы понять в чем причина, а не кричу здесь что мне нужна зарплата!
---
Так чем Вам помочь? Вы пытаетесь ОБЪЕДИНИТЬ поля при этом подразумевая группировку, это разные вещи, не получится ОБЪЕДИНИТЬ различные по значению поля.
---
Почему не сделать вот так? Соответственно лишние колонки суммы убрать.

```1c
    ВЫБРАТЬ
    ЗаявкиПоОтделам.НСБ КАК НСБ,
    ЗаявкиПоОтделам.Контрагент КАК Контрагент,
    ЗаявкиПоОтделам.СуммаЛимита КАК СуммаЛимита,
    ЗаявкиПоОтделам.СуммаФакт КАК СуммаФакт,
    ЗаявкиПоОтделамФакт.ФактСуммаЛимита КАК ФактСуммаЛимита,
    ЗаявкиПоОтделамФакт.ФактСуммаФакт КАК ФактСуммаФакт

    ИЗ
    ЗаявкиПоОтделам КАК ЗаявкиПоОтделам
    ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаявкиПоОтделамФакт КАК ЗаявкиПоОтделамФакт
    ПО (ЗаявкиПоОтделам.НСБ = ЗаявкиПоОтделамФакт.НСБ
    и ЗаявкиПоОтделам.Контрагент = ЗаявкиПоОтделамФакт.Контрагент)
```
---
Не понял, кто минусов наставил? Может и опишите что не так? Насколько я понял, автору нужно объединить два регистра по измерениям НСБ и Контрагент, а сумму, какую то взять с одного регистра, другую сумму с другого. Конечно только добавить условия еще в такой запрос нужно.
---
Данный посмотри для начало у автора какие и подумай. что выдаст твой гениальный запрос.
---
По-моему, все правильно. Я тоже не понял: зачем объединение, а не соединение.

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

```1c
    ВЫБРАТЬ
    ЕстьNULL(ЗаявкиПоОтделам.НСБ, ЗаявкиПоОтделамФакт.НСБ) КАК НСБ,
    ЕстьNULL(ЗаявкиПоОтделам.Контрагент, ЗаявкиПоОтделамФакт.Контрагент) КАК Контрагент,
    ЕстьNULL(ЗаявкиПоОтделам.СуммаЛимита, ЗаявкиПоОтделамФакт.СуммаЛимита) КАК СуммаЛимита,
    ЕстьNULL(ЗаявкиПоОтделамФакт.СуммаФакт, 0) КАК СуммаФакт
    ИЗ
    ЗаявкиПоОтделам КАК ЗаявкиПоОтделам
    ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаявкиПоОтделамФакт КАК ЗаявкиПоОтделамФакт
    ПО (ЗаявкиПоОтделам.НСБ = ЗаявкиПоОтделамФакт.НСБ
    и ЗаявкиПоОтделам.Контрагент = ЗаявкиПоОтделамФакт.Контрагент)
    ГДЕ
    ЗаявкиПоОтделамФакт.ПериодЛимита = &ПериодЛимита
    И ЗаявкиПоОтделамФакт.Участок = &Участок
    И ЗаявкиПоОтделам.ПериодЛимита = &ПериодЛимита
    И ЗаявкиПоОтделам.Участок = &Участок
```
---
Я не минусовал но думаю что так не сделать потому что если у вас будет 2 строки с одинаковыми "НСБ" и "Контрагент" в "ЗаявкиПоОтделам" и
2 строки с одинаковыми "НСБ" и "Контрагент" в "ЗаявкиПоОтделамФакт" то при их соединении вы получите не 2 строки а 4.
---
```1c
    ыбрать НСБ, Контрагент, Сумма(СуммаЛимита), Сумма(СуммаФакт) из (ВЫБРАТЬ
    ЗаявкиПоОтделам.НСБ КАК НСБ,
    ЗаявкиПоОтделам.Контрагент КАК Контрагент,
    ЗаявкиПоОтделам.СуммаЛимита КАК СуммаЛимита,
    0 КАК СуммаФакт
    ИЗ
    РегистрНакопления.ЗаявкиПоОтделам КАК ЗаявкиПоОтделам
    ГДЕ
    ЗаявкиПоОтделам.ПериодЛимита = &ПериодЛимита
    И ЗаявкиПоОтделам.Участок = &Участок

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    ЗаявкиПоОтделамФакт,,
    ЗаявкиПоОтделамФакт.Контрагент,
    ЗаявкиПоОтделамФакт.СуммаЛимита,
    аявкиПоОтделамФакт.СуммаФакт
    ИЗ
    РегистрНакопления.ЗаявкиПоОтделамФакт КАК ЗаявкиПоОтделамФакт
    ГДЕ
    ЗаявкиПоОтделамФакт.ПериодЛимита = &ПериодЛимита
    И ЗаявкиПоОтделамФакт.Участок = &Участок) ВсеДанные
    Группировать по ВсеДанные.НСБ, ВсеДанные.Контрагент
```
---
Всем спасибо! Добился я решения! Была правильная мысль о том что нужно было делать соединение а не объединение!!!