Имя: Пароль:
1C
1С v8
Не работает полное соединение в запросе
0 arsenfn
 
17.01.22
18:04
Всем привет!
Мне нужно приделать к данным с расчетами с клиентами информацию о сумме не закрытых заказах клиентов. Для этого в запросе делаю полное соединение двух временных таблиц. Данные РН "РасчетыСКлиентами" соединяю с таблицей с данными по суммам из документов заказов клиентов. Условие связи партнер из регистра равен партнеру из документа, но не работает. В результат попадают только данные из регистра накопления. Что я делаю не так подскажите пожалуйста? Вот текст запроса:
ВЫБРАТЬ
    РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам.Партнер КАК Партнер,
    РасчетыСКлиентамиОстаткиИОбороты.СуммаНачальныйОстаток КАК НачальныйОстаток,
    РасчетыСКлиентамиОстаткиИОбороты.СуммаПриход КАК Приход,
    РасчетыСКлиентамиОстаткиИОбороты.СуммаРасход КАК Расход,
    РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток КАК КонечныйОстаток
ПОМЕСТИТЬ РасчетыСКлиентами
ИЗ
    РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты КАК РасчетыСКлиентамиОстаткиИОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЗаказКлиента.Партнер КАК Партнер,
    СУММА(ЗаказКлиента.СуммаДокумента) КАК СуммаЗаказов
ПОМЕСТИТЬ ЗаказыКлиентов
ИЗ
    Документ.ЗаказКлиента КАК ЗаказКлиента

СГРУППИРОВАТЬ ПО
    ЗаказКлиента.Партнер
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РасчетыСКлиентами.Партнер КАК Партнер,
    РасчетыСКлиентами.НачальныйОстаток КАК НачальныйОстаток,
    РасчетыСКлиентами.Приход КАК Приход,
    РасчетыСКлиентами.Расход КАК Расход,
    РасчетыСКлиентами.КонечныйОстаток КАК КонечныйОстаток,
    ЕСТЬNULL(ЗаказыКлиентов.СуммаЗаказов, 0) КАК СуммаЗаказов
ИЗ
    РасчетыСКлиентами КАК РасчетыСКлиентами
        ПОЛНОЕ СОЕДИНЕНИЕ ЗаказыКлиентов КАК ЗаказыКлиентов
        ПО РасчетыСКлиентами.Партнер = ЗаказыКлиентов.Партнер
1 ДенисЧ
 
17.01.22
18:09
Типы проверь
2 Базис
 
naïve
17.01.22
18:10
Возьми консоль запросов, покрути каждый подзапрос, сверь имена и типы колонок
3 arsenfn
 
17.01.22
18:13
(1) Типы совпадают. Конфигурация УТ 11.4. Типовой справочник "Партнеры".
4 arsenfn
 
17.01.22
18:15
(2) Так я и кручу в консоле запросов. Как я понимаю нужно чтобы совпадали имена и типы связываемых элементов. У меня условие связи только по партнеру.
5 azernot
 
17.01.22
18:16
(0) >В результат попадают только данные из регистра накопления.
Как вы это понимаете?
6 Dmitrii
 
гуру
17.01.22
18:18
(0) Как ты понимаешь, что попадают только данные из регистра? При полном соединении такого быть не может. Даже если поля разных типов и условие соединения не выполняется никогда, в таблице должны быть записи из обеих таблиц.
7 arsenfn
 
17.01.22
18:18
(5) Данные из первой временной таблицы. Вот эти данные:

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

////////////////////////////////////////////////////////////////////////////////
8 azernot
 
17.01.22
18:19
(7) С чего вы взяли что в итоговом результате запроса нет данных из заказов?
9 arsenfn
 
17.01.22
18:20
(6) В результате запроса в консоли ищу по партнеру по которому нет движений в регистре расчеты с клиентами, но есть заказ клиента не закрытый.
10 Жан Пердежон
 
17.01.22
18:20
ЕСТЬNULL(РасчетыСКлиентами.Партнер, ЗаказыКлиентов.Партнер) КАК Партнер
11 azernot
 
17.01.22
18:22
(9) Ясно. Так и думал, что не по СуммаЗаказов...
В (10) ответ.
12 arsenfn
 
17.01.22
18:28
(10) Получилось. Только еще в условии связи поставил проверку на нал. Спасибо большое.