Добрый день, не могу понять почему результат запроса ЛЕВОЕ СОЕДИНЕНИЕ ОбщееВсехСумм при такой конструкции

```1c
    МенеджерВТ = Новый МенеджерВременныхТаблиц;
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Спецификация.СпецификацияЗакупки,
    | СУММА(Спецификация.СпецификацияСумма) КАК СпецификацияСумма ПОМЕСТИТЬ ОбщаяСумма
    |ИЗ
    | РегистрСведений.Спецификация КАК Спецификация
    |СГРУППИРОВАТЬ ПО
    | Спецификация.СпецификацияЗакупки
    |;
    |ВЫБРАТЬ
    | ОбщиеСведения.Дата,
    | ОбщиеСведения.Номер,
    | ОбщиеСведения.Способ,
    | ОбщиеСведения.Цена,
    | ОбщиеСведения.Предмет,
    | ОбщиеСведения.ОбщееВсехСумм,
    | ОбщаяСумма.СпецификацияСумма
    |ИЗ
    | РегистрСведений.ОбщиеСведения КАК ОбщиеСведения,
    | ЛЕВОЕ СОЕДИНЕНИЕ ОбщаяСумма КАК ОбщаяСумма
    | ПО ОбщиеСведения.ОбщееВсехСумм = ОбщаяСумма.СпецификацияСумма";

    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();

    Пока Выборка.Следующий() Цикл

    НоваяСтрока = Реестр.Добавить();
    НоваяСтрока.Дата = Выборка.Дата;
    НоваяСтрока.Номер = Выборка.Номер;
    НоваяСтрока.Способ = Выборка.Способ;
    НоваяСтрока.Цена = Выборка.Цена;
    НоваяСтрока.ПредметЗакупки = Выборка.Предмет;
    НоваяСтрока.СпецификацияСумма = Выборка.ОбщееВсехСумм;

    КонецЦикла;
```

в таблицу значений выводится пустым ?
---
по номеру закупки соединяйте левое соединение
---
Левое соединение ОбщаяСуммаПозицийВСпецификации как ОбщаяСуммаПозицийВСпецификации
по ОбщаяСуммаПозицийВСпецификации.СпецификацияКонтрактаНомерЗакупки = ОбщиеСведения.НомерЗакупки
---
| ОбщееВсехСумм, из какой таблицы должно быть ОбщиеСведения или ОбщаяСумма ?
---
ОбщиеСведения. ОбщееВсехСумм,
---
НоваяСтрока.СпецификацияСумма = ОбщееВсехСумм; - ???

может
```1c
    НоваяСтрока.СпецификацияСумма = Выборка.ОбщееВсехСумм;
```
---
Поправил. А по сути вопроса можете что то сказать ?
---
и что без изменений?
---
Да всё так же, тут дело именно в соединение так как я отдельно делал запрос к временной таблице без соединения и всё выводится, а когда пытаюсь всё вместе вывести то поля дата, номер, способ выводятся, а ОбщееВсехСумм нет.
---
приведите пример данных из РегистрСведений.ОбщиеСведения и временной таблицы ОбщаяСумма
---
Дата Номер Способ Цена Предмет ОбщееВсехСумм
10.01.2010 1 44-фз 10 Молоток
10.01.2011 2 44-фз 10 Гвозди
10.01.2012 3 44-фз 10 Мыло
---
это только одна строка ...... этого слишком мало.....
---
Добавил
---
где поле ОбщееВсехСумм ?
---
Оно пустое я в него планировал добавить данные из ОбщаяСумма.СпецификацияСумма
---
тогда какой смысл в

```1c
    ПО ОбщиеСведения.ОбщееВсехСумм = ОбщаяСумма.СпецификацияСумма
```
---
Не понял. Соединяем поля таблиц из поля СпецификацияСумма временной таблицы ОбщаяСумма добавляем данные в поле ОбщееВсехСумм таблицы ОбщиеСведения разве не так ?
---
Общее всех сумм пусто, следовательно при левом соединении происходит поиск в РегистрСведений.Спецификация КАК Спецификация

а так как у Вас пусто а в РегистрСведений.Спецификация видимо что то есть, то и не получаете результат
---
не было совпадений сумм, т.е. значения полей сумм в соединяемых таблицах уникальны
---
Не совсем понял, ОбщееВсехСумм пустая значение у меня находиться в СпецификацияСумма.
---
```1c
    | Спецификация.СпецификацияЗакупки,
    | СУММА(Спецификация.СпецификацияСумма) КАК СпецификацияСумма ПОМЕСТИТЬ ОбщаяСумма
    |ИЗ
    | РегистрСведений.Спецификация КАК Спецификация
    |СГРУППИРОВАТЬ ПО
    | СпецификацияКонтракта.СпецификацияЗакупки
```

Откуда взялось "СпецификацияКонтракта", если в тексте везде "Спецификация"?
---
Поравил
---
У тебя пакет запросов (результат первого запроса не помещается во временную таблицу).
В итоге ты думаешь что работаешь с результатом второго запроса, а на самом деле работаешь с результатом первого.
---
Хм... Хотя по доке должен таки возвращаться результат последнего...
---
я отдельно делал запрос к временной таблице без соединения и всё выводится
---
Пробовали на время убрать соединение?

 "ВЫБРАТЬ
        | Спецификация.СпецификацияЗакупки,
        | СУММА(Спецификация.СпецификацияСумма) КАК СпецификацияСумма ПОМЕСТИТЬ ОбщаяСумма
        |ИЗ
        | РегистрСведений.Спецификация КАК Спецификация
        |СГРУППИРОВАТЬ ПО
        | Спецификация.СпецификацияЗакупки
        |;
        |ВЫБРАТЬ
        | ОбщиеСведения.Дата,
        | ОбщиеСведения.Номер,
        | ОбщиеСведения.Способ,
        | ОбщиеСведения.Цена,
        | ОбщиеСведения.Предмет,
        | ОбщиеСведения.ОбщееВсехСумм,
        | ОбщаяСумма.СпецификацияСумма
        |ИЗ
        | РегистрСведений.ОбщиеСведения КАК ОбщиеСведения";

Такой запрос что нибудь возвращает?

И точно нужна запятая в конце строки?
    | РегистрСведений.ОбщиеСведения КАК ОбщиеСведения,

Конструктор запросов этот запрос нормально открывает не ругается?
---
Запрос отрабатывает без ошибок только не добавляет данные в
```1c
    НоваяСтрока.СпецификацияСумма = Выборка.ОбщееВсехСумм;
```
 хотя должен.
---
Попробовали убрать соединение как я предложил в предыдущем посте?
Может ошибка на предыдущем этапе запроса самая элементарная например иногда названия таблиц отличаются на букву и можно банально ломиться в чистую таблицу.

Вот такой запрос хоть одну строчку возвращает???

"ВЫБРАТЬ
| Спецификация.СпецификацияЗакупки,
| СУММА(Спецификация.СпецификацияСумма) КАК СпецификацияСумма ПОМЕСТИТЬ ОбщаяСумма
|ИЗ
| РегистрСведений.Спецификация КАК Спецификация
|СГРУППИРОВАТЬ ПО
| Спецификация.СпецификацияЗакупки
|;
|ВЫБРАТЬ
| ОбщиеСведения.Дата,
| ОбщиеСведения.Номер,
| ОбщиеСведения.Способ,
| ОбщиеСведения.Цена,
| ОбщиеСведения.Предмет,
| ОбщиеСведения.ОбщееВсехСумм,
| ОбщаяСумма.СпецификацияСумма
|ИЗ
| РегистрСведений.ОбщиеСведения КАК ОбщиеСведения";
---
Вот такой нет а если добавить строчку

```1c
    |ИЗ
    | РегистрСведений.ОбщиеСведения КАК ОбщиеСведения,
    | ОбщаяСумма КАК ОбщаяСумма ";
```

То всё работает.
---
Пропустил, оставил строчку ОбщаяСумма.СпецификацияСумма

значит и такой должен работать...

Еще раз спрошу про запятую,
Вот в этом варианте запятая может быть
|ИЗ
| РегистрСведений.ОбщиеСведения КАК ОбщиеСведения,
| ОбщаяСумма КАК ОбщаяСумма ";

а вот в ранее описанном варианте
 | РегистрСведений.ОбщиеСведения КАК ОбщиеСведения,
        | ЛЕВОЕ СОЕДИНЕНИЕ ОбщаяСумма КАК ОбщаяСумма
запятой не должно быть так как ЛЕВОЕ СОЕДИНЕНИЕ должно находиться между двумя объектами
---
Убрал запятую, результат тот же.

```1c
    "ВЫБРАТЬ
    | Спецификация.СпецификацияЗакупки,
    | СУММА(Спецификация.СпецификацияСумма) КАК СпецификацияСумма ПОМЕСТИТЬ ОбщаяСумма
    |ИЗ
    | РегистрСведений.Спецификация КАК Спецификация
    |СГРУППИРОВАТЬ ПО
    | Спецификация.СпецификацияЗакупки
    |;
    |ВЫБРАТЬ
    | ОбщиеСведения.Дата,
    | ОбщиеСведения.Номер,
    | ОбщиеСведения.Способ,
    | ОбщиеСведения.Цена,
    | ОбщиеСведения.Предмет,
    | ОбщиеСведения.ОбщееВсехСумм
    |ИЗ
    | РегистрСведений.ОбщиеСведения КАК ОбщиеСведения";
```

Да такой запрос работает.
---
Тогда попробуйте в такой упрощенный запрос добавить левое соединение не руками а через конструктор запросов, может он выругается на какое то несоответствие, может у вас типы сравниваемых полей не совпадают, к примеру в Спецификация.СпецификацияСумма или в ОбщиеСведения.ОбщееВсехСумм хранится не число а строка...
---
Что такое Реестр? Может, у его колонки СпецификацияСумма неправильный тип?
---
сначала в школу, затем к запросам.

зачем чему то учить когда тс таблицу умножения не читал?
---
какая производственная необходимость заставила Вас соединять таблицы по сумме ?
---
Из таблицы спецификация нужно было получить Сумму поля СпецификацияСумма сгруппировать результат по полю Спецификация закупки результаты поместить в таблицу Реестр колонку ОбщееВсехСумм.
---
для соединения таблиц нужно поле, которое присутствует и в первой таблице и во второй таблице для сравнения и по условию сравнения будет осуществлено соединение таблиц
---
Но допустим мы знаем что у нас все суммы уникальные, одинаковых нет, и хотим проверить правильно ли заполнены в регистре итоговые суммы, разве запросы в 1с не умеют объединять таблицы по сумме, я допустим завис не могу понять почему у него запрос не работает, смущает только то что он очевидно запрос редактирует руками а не конструктором так как слово поместить у него в середине строки и запятая была лишняя, может есть какая-то чисто синтаксическая неприметная ошибка?
---
тогда в первой таблице должна быть такая же сумма, а у него ее нет во втором запросе.
---
во втором запросе идет соединение ПО ОбщиеСведения.ОбщееВсехСумм = ОбщаяСумма.СпецификацияСумма

ОбщиеСведения.ОбщееВсехСумм допустим равно 5
ОбщаяСумма.СпецификацияСумма во временной таблице допустим тоже хотя бы в одной строке равно 5

тогда запрос должен выдать строку в которой допустим
ОбщиеСведения.Дата равно например 20.01.20
ОбщиеСведения.Номер равно например Х4354
и т.д.
и ОбщаяСумма.СпецификацияСумма равно 5

а если
ОбщиеСведения.ОбщееВсехСумм например равно 5
а вот ОбщаяСумма.СпецификацияСумма ни в одной строке не равно 5
то это же левое соединение а не внутреннее, мы должны хотя бы одну строку из левой таблицы получить
как я понимаю будет
ОбщиеСведения.Дата равно например 20.01.20
ОбщиеСведения.Номер равно например Х4354
и т.д.
и ОбщаяСумма.СпецификацияСумма равно NULL

должна же вернуться хоть одна строка при левом соединении если левая таблица не пустая...

Вот пример левого соединения например по имени

Код    // Левое соединение - это внутреннее
    // соединение + строки  из левой таблицы, для которых не
    // найдены соответствия.

    //  -------------   --------------------------------
    //  |Люди       |   |   Характеристики              |
    //  -------------   ---------------------------------
    //  |ИМЯ        |   |   ИМЯ             ВОЗРАСТ     |
    //  -------------   ---------------------------------
    //  |Алена      |   |   Алена           21          |
    //  |Алефтина   |   |   Алефтина        18          |
    //  |Владимир   |   |   Павел           25          |
    //  |Владислав  |   |   Петр            30          |
    //  |           |   |   Порфирий        50          |
    //  -------------   ---------------------------------

    //  Результат левого внешнего соединения по имени:

    //  ИмяИзТаблицы1   ИмяИзТаблицы2   ВозрастИзТаблицы2
    //  Алена               Алена               21
    //  Алефтина           Алефтина             18
    //  Владимир             NULL               NULL
    //  Владислав            NULL               NULL

    Запрос = Новый Запрос(
        "ВЫБРАТЬ
        |   Люди.Наименование КАК ИмяИзТаблицы1,
        |   Характеристики.Наименование КАК ИмяИзТаблицы2,
        |   Характеристики.Возраст КАК ВозрастИзТаблицы2
        |ИЗ
        |   Справочник.Люди КАК Люди
        |      ЛЕВОЕ СОЕДИНЕНИЕ
        |   Справочник.Характеристики КАК Характеристики
        |      ПО
        |   Люди.Наименование = Характеристики.Наименование"
    );Показать полностью
---
ВЫБРАТЬ
        | Спецификация.СпецификацияЗакупки,
        | СУММА(Спецификация.СпецификацияСумма) КАК СпецификацияСумма
        | ПОМЕСТИТЬ ОбщаяСумма
        |ИЗ
        | РегистрСведений.Спецификация КАК Спецификация
        |СГРУППИРОВАТЬ ПО
        | Спецификация.СпецификацияЗакупки
        |;
        |ВЫБРАТЬ
        | ОбщиеСведения.Дата,
        | ОбщиеСведения.Номер,
        | ОбщиеСведения.Способ,
        | ОбщиеСведения.Цена,
        | ОбщиеСведения.Предмет,
        | ОбщиеСведения.ОбщееВсехСумм,
        | ОбщаяСумма.СпецификацияСумма
        |ИЗ
        | РегистрСведений.ОбщиеСведения КАК ОбщиеСведения,
        | ЛЕВОЕ СОЕДИНЕНИЕ ОбщаяСумма КАК ОбщаяСумма
        | ПО ОбщиеСведения.ОбщееВсехСумм = ОбщаяСумма.СпецификацияСумма";

попробуйте копать в сторону соединения по полю "Спецификация.СпецификацияЗакупки"
---
"Да можно сказать что и тестовое я в 1С не давно есть опыт работы в других языках, но вы сей час не много усложняете мне просто нужно сгруппировать данные по одному полю в таблице спецификация, а результат поместить в другую.

Вы можете поместить результат выборки первой таблицы во вторую но по какому признаку ?
---
я проверил Выборку в консоли запроса результат в виде таблицы.
---
вот вы соединяете по спецификациисумма контракта.... и какое значение мы наблюдаем ? верно пусто и это пусто повторяется в каждой строке запроса
---
и о какой уникальности суммы можно в вашем случае говорить
---
по номеру закупки соединяйте левое соединение
---
Левое соединение ОбщаяСуммаПозицийВСпецификации как ОбщаяСуммаПозицийВСпецификации
по ОбщаяСуммаПозицийВСпецификации.СпецификацияКонтрактаНомерЗакупки = ОбщиеСведения.НомерЗакупки
---
видимо от Вас это требуют. Но подача информации на форум очень мучительная
---
чтобы уж точно понять в конце запроса поставьте " ; " (точку с запятой) , затем в конец скопируйте текст первого запроса и уберите "поместить ОбщаяСуммаПозицийВСпецификации"
---
ну и выполните запрос и скрин сюда
---
Выполнить первый запрос ?
---
Не понял почему нужно соединять по группировочному полю

```1c
    Левое соединение ОбщаяСуммаПозицийВСпецификации как ОбщаяСуммаПозицийВСпецификации
    по ОбщаяСуммаПозицийВСпецификации.СпецификацияКонтрактаНомерЗакупки = ОбщиеСведения.НомерЗакупки
```

результат тот же.
---
Удаленка и телефон..... Смогу показать и пояснить. В прежнем формате я уже исчерпал терпение.
---
Мой номер указан в профиле