Вход | Регистрация



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

Левое соединение в запросе
Я
   Nyarlathotep
 
24.01.18 - 13:56
Всем привет, пишу такой запрос:

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

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


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

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

////////////////////////////////////////////////////////////////////////////////

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

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

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

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

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

////////////////////////////////////////////////////////////////////////////////

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

СГРУППИРОВАТЬ ПО
    ДвиженияДенежныеСредстваКонтрагентОбороты.ОбъектРасчетов
;

////////////////////////////////////////////////////////////////////////////////

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


Как мне правильно написать запрос, чтобы получить нужные мне данные?

https://docs.google.com/spreadsheets/d/1opXkURkbbDz_Xv82ekkjfzsPM9qyAQ0aDam1u2iev1c/edit?usp=sharing
 
 
   Ненавижу 1С
 
1 - 24.01.18 - 14:10
продажи в разрезе номенклатуры соединять с оплатами клиента это верх маразма
   Nyarlathotep
 
2 - 24.01.18 - 14:17
(1) А как правильно сделать?
   vicof
 
3 - 24.01.18 - 14:19
Убрать номенклатуру
   Ненавижу 1С
 
4 - 24.01.18 - 14:21
(2) сделать без разбивки по номенклатуре
   Nyarlathotep
 
5 - 24.01.18 - 14:24
(3) (4) А заказчику надо вывести данные по номенклатуре. Я в табличке (ссылка внизу нулевого поста) нарисовал. как должно выглядеть. Если убрать разбивку по номенклатуре, как мне вывести эти данные?
   wayss
 
6 - 24.01.18 - 14:24
(2) Если очень хочется, считаешь оплаты по документам продажи, и далее пропорционально делишь ее по проданным товарам. Только что это даст?
   wayss
 
7 - 24.01.18 - 14:25
(5) Первая группировка документ продажи с ресурсами сумма продажи и сумма оплаты, вторая группировка номенклатура с ресурсом сумма продажи
   vicof
 
8 - 24.01.18 - 14:26
(5) Спроси заказчика, нафейхоа это ему нужно?
   Nyarlathotep
 
9 - 24.01.18 - 14:30
(7) Не совсем понял, можете поподробнее? Где первая и где вторая?
   Ненавижу 1С
 
10 - 24.01.18 - 14:32
(5) продали клиенту:

табурет - 100 рублей
стол - 400 рублей

клиент внес частично оплату 300 рублей

вопрос: что именно из номенклатуры оплатил клиент?
 
 Рекламное место пустует
   Новиков
 
11 - 24.01.18 - 14:34
Лучше задать вопрос так: есть товар, 1 шт. Его отгрузили на 70 руб. Есть второй товар, тоже 1 шт., его отгрузили на 80 руб. Итого, кажется, 150 рублей. Клиент заплатил 142 рубля. Что даст твоя разбивка но номенклатуре в отчете? В выписки нет комментария, за что он оплатил 142 рубля.

Как быть?
   ildary
 
12 - 24.01.18 - 14:35
(10) не, так неинтересно. Клиент заплатил по очереди 70 рублей, 90 рублей и 240. И мы с интересом ждем, как это отразится в отчете.
   ildary
 
13 - 24.01.18 - 14:36
(11) Я даже знаю ответ: заказчик клянется всеми богами что так не бывает и его покупатели всегда платят ровные суммы. А потом "Ой".
   Nyarlathotep
 
14 - 24.01.18 - 14:37
(10) (11) (12) Оплату по номенклатуре не надо разбивать/показывать, только по заказам. В табличке нарисовал же... А по заказам оплату разносит бухгалтер, то есть платежные поручения разносит по заказам.
   aleks_default
 
15 - 24.01.18 - 14:38
Клиент платит по ФИФО, че тут не ясного?
   Nyarlathotep
 
16 - 24.01.18 - 14:41
(13) (12) (11) (10)

В табличке нарисовано -  у строчки с номенклатурой нет суммы оплаты, только сумма продажи.
   Nyarlathotep
 
17 - 24.01.18 - 14:49
Перерисовал немного (показал отображение данных по группировкам менеджера и партнера), может так понятнее будет.
   cw014
 
18 - 24.01.18 - 15:01
(17) Вопрос отвлеченный от темы. "А заказчику надо" - а много заказчик платит за такое?
   Ненавижу 1С
 
19 - 24.01.18 - 15:08
в СКД можно через объединение
   Сти
 
20 - 24.01.18 - 15:10
(1)(8)(12) Тем не менее встречалась такие ситуации:
1) ключевой поставщик давал хорошую скидку на отдельные свои товары с определенными условиями, как-то: товар должен был быть продан клиентам, но если за них не получена оплата, то... ну и там что-то еще было, плохо уже помнится. Короче нужно было видеть, что из товара оплачено, что нет.
2) бонусы менеджерам по продажам выдавались по сумме только полученных оплат, причем за разные группы товаров начислялись разные проценты.
Да, вот такой маразм встречается. И приходилось писать отчеты, которые этот маразм удовлетворяли.
   Nyarlathotep
 
21 - 24.01.18 - 15:24
В общем поговорили с заказчиком, будем делить сумму оплаты по заказу пропорционально количеству или сумме продажи каждой позиции в заказе (это решим еще), и выводить в каждой строке номенклатуры. Думаю с этим проблем не возникнет. Всем спасибо...
   BeerHelpsMeWin
 
22 - 24.01.18 - 15:32
(12) забыл добавить - за это время клиент успел вернуть табурет за 100 и взять вместо него табурет за 120
   cw014
 
23 - 24.01.18 - 15:53
(21) Думаю с этим проблем не возникнет
Удачи, счастья и здоровья тебе крепкого. А главное нервов, нервов побольше


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует