Левое соединение в запросе

1. user771753 24.01.18 14:00 Сейчас в теме
Всем привет, пишу такой запрос:

нужно вывести данные по оплатам по заказам клиентов и отчетов комиссионера за период, с разделением по номенклатуре и по одному из доп. реквизитов номенклатуры (по ссылке ниже табличка, как должен выглядеть отчет)

https://docs.google.com/spreadsheets/d/1opXkURkbbDz_Xv82ekkjfzsPM9qyAQ0aDam1u2ie­v1c/edit?usp=sharing

не получается соединить данные по номенклатуре и оплатам, так, чтобы оплата в итоге не задваивалась, затраивалась и тп., например, пытался делать вот так, разделив все по виртуальным таблицам и собрав в финальном запросе, все равно оплату и суммы документа он мне умножает(что в общем то логично...):


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

СГРУППИРОВАТЬ ПО
    НоменклатураДополнительныеРеквизиты.Ссылка,
    НоменклатураДополнительныеРеквизиты.Свойство,
    НоменклатураДополнительныеРеквизиты.Значение
;

////////////////////////////////////////////////////////////­////////////////////

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

СГРУППИРОВАТЬ ПО 
    ЗаказКлиентаТовары.Ссылка,
    ЗаказКлиентаТовары.Номенклатура

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

ВЫБРАТЬ
    ОтчетКомиссионераТовары.Ссылка,
    ОтчетКомиссионераТовары.Номенклатура,
    СУММА(ОтчетКомиссионераТовары.Количество),
    СУММА(ОтчетКомиссионераТовары.Ссылка.СуммаДокумента)
ИЗ 
    Документ.ОтчетКомиссионера.Товары КАК ОтчетКомиссионераТовары 
ГДЕ 
    ОтчетКомиссионераТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания 

СГРУППИРОВАТЬ ПО 
    ОтчетКомиссионераТовары.Ссылка, 
    ОтчетКомиссионераТовары.Номенклатура
;

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

////////////////////////////////////////////////////////////­////////////////////

ВЫБРАТЬ
    ПроданныеТоварыЗаПериод.Номенклатура КАК Номенклатура,
    ПроданныеТоварыЗаПериод.Количество КАК Количество,
    ПроданныеТоварыЗаПериод.СуммаДокумента КАК СуммаДокумента,
    ПроданныеТоварыЗаПериод.Ссылка КАК Ссылка,
    ПроданныеТоварыЗаПериод.Ссылка.Менеджер КАК СсылкаМенеджер,
    ЕСТЬNULL(МотивационныеГруппыТоваров.Значение, "Мотивационная группа не указана") КАК МотивационнаяГруппа,
    ОплатаПоДокументам.СуммаОплаты КАК СуммаОплаты
ИЗ
    ОплатаПоДокументам КАК ОплатаПоДокументам
        ЛЕВОЕ СОЕДИНЕНИЕ ПроданныеТоварыЗаПериод КАК ПроданныеТоварыЗаПериод
            ЛЕВОЕ СОЕДИНЕНИЕ МотивационныеГруппыТоваров КАК МотивационныеГруппыТоваров
            ПО ПроданныеТоварыЗаПериод.Номенклатура = МотивационныеГруппыТоваров.Ссылка
        ПО ОплатаПоДокументам.ОбъектРасчетов = ПроданныеТоварыЗаПериод.Ссылка
Показать


Как мне правильно написать запрос, чтобы получить нужные мне данные?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. dandykry 10 24.01.18 14:23 Сейчас в теме
(1) Если не пользуетесь регистрами накопления Продажи, то хотя бы установите ОтчетКомиссионераТовары.Ссылка.Проведен = Истина и ЗаказКлиентаТовары.Ссылка.проведен = Истина. Непроведенные и помеченные на удаление документы тоже захватыватете как проданное

2) Если запрос на СКД, то можно воспользоваться Характеристиками, т.к. доп реквизиты это План видов характеристик

3) Консолью запросов не смотрели в какой ВТ происходит задвоение сумм? Есть подозрение, что ОплатаПоДокументам уже двоит.

4) Если двоит в конце, то сделайте скрин с выводом всех виртуальных таблиц, или выложите сохраненный результат запроса из консоли запросов
3. Dm_Kz 24.01.18 14:29 Сейчас в теме
Дело не в запросе.
Если изначально сумма оплаты не разделяется по доп. реквизитам номенклатуры, то как понять к какому из доп. реквизитов относится та или иная часть суммы?
4. dandykry 10 24.01.18 14:33 Сейчас в теме
(3) То то у меня чувство, что упускаю что-то. Вы правы.
5. user771753 24.01.18 14:38 Сейчас в теме
(3) (4)

Оплату по номенклатуре не надо разбивать/показывать, только по заказам. В табличке нарисовал же... А по заказам оплату разносит бухгалтер, то есть платежные поручения разносит по заказам.
6. dandykry 10 24.01.18 14:46 Сейчас в теме
7. Dm_Kz 24.01.18 15:00 Сейчас в теме
(5) Смотрите внимательнее свою табличку. Там сказано, что по заказу, по доп. реквизиту 1 - 1000 рублей, по доп реквизиту 2 - 500 рублей. Где связь заказа и доп. реквизитов номенклатуры? В заказе?
8. user771753 24.01.18 15:22 Сейчас в теме
В общем поговорили с заказчиком, будем делить сумму оплаты по заказу пропорционально количеству или сумме продажи каждой позиции в заказе (это решим еще), и выводить в каждой строке номенклатуры. Думаю с этим проблем не возникнет. Всем спасибо...
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)