Имя: Пароль:
1C
 
Левое соединение в запросе
0 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
продажи в разрезе номенклатуры соединять с оплатами клиента это верх маразма
2 Nyarlathotep
 
24.01.18
14:17
(1) А как правильно сделать?
3 vicof
 
24.01.18
14:19
Убрать номенклатуру
4 Ненавижу 1С
 
гуру
24.01.18
14:21
(2) сделать без разбивки по номенклатуре
5 Nyarlathotep
 
24.01.18
14:24
(3) (4) А заказчику надо вывести данные по номенклатуре. Я в табличке (ссылка внизу нулевого поста) нарисовал. как должно выглядеть. Если убрать разбивку по номенклатуре, как мне вывести эти данные?
6 wayss
 
24.01.18
14:24
(2) Если очень хочется, считаешь оплаты по документам продажи, и далее пропорционально делишь ее по проданным товарам. Только что это даст?
7 wayss
 
24.01.18
14:25
(5) Первая группировка документ продажи с ресурсами сумма продажи и сумма оплаты, вторая группировка номенклатура с ресурсом сумма продажи
8 vicof
 
24.01.18
14:26
(5) Спроси заказчика, нафейхоа это ему нужно?
9 Nyarlathotep
 
24.01.18
14:30
(7) Не совсем понял, можете поподробнее? Где первая и где вторая?
10 Ненавижу 1С
 
гуру
24.01.18
14:32
(5) продали клиенту:

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

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

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

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

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