Имя: Пароль:
1C
1С v8
Убрать скрытые дубли из группировки
,
0 Fufa
 
27.10.20
12:21
1С:Предприятие 8.3(Управление торговлей, редакция 11 )
Есть запрос(если коротко,то в нем объединяются 3 таблицы:1Т-Выручка по месяцам;2Т- Оплата по месяцам;3Т-ЗаказКлиента по месяцам):
ВЫБРАТЬ
    ВыручкаИСебестоимостьПродажОбороты.Регистратор КАК Регистратор,
    ВыручкаИСебестоимостьПродажОбороты.Подразделение КАК Подразделение,
    ВыручкаИСебестоимостьПродажОбороты.Менеджер КАК Менеджер,
    ВыручкаИСебестоимостьПродажОбороты.ПериодМесяц КАК Месяц,
    СУММА(ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот) КАК Выручка,
    NULL КАК Оплата,
    NULL КАК ЗаказКлиента
{ВЫБРАТЬ
    Подразделение.*,
    Менеджер.*,
    Месяц,
    Регистратор.*,
    Выручка,
    ЗаказКлиента,
    Оплата}
ИЗ
    РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК ВыручкаИСебестоимостьПродажОбороты
{ГДЕ
    (ВыручкаИСебестоимостьПродажОбороты.Подразделение = &Подразделение)}

СГРУППИРОВАТЬ ПО
    ВыручкаИСебестоимостьПродажОбороты.ПериодМесяц,
    ВыручкаИСебестоимостьПродажОбороты.Регистратор,
    ВыручкаИСебестоимостьПродажОбороты.Подразделение,
    ВыручкаИСебестоимостьПродажОбороты.Менеджер

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

ВЫБРАТЬ
    РасчетыСКлиентамиОбороты.Регистратор,
    РасчетыСКлиентамиОбороты.ЗаказКлиента.Подразделение,
    РасчетыСКлиентамиОбороты.ЗаказКлиента.Менеджер,
    РасчетыСКлиентамиОбороты.ПериодМесяц,
    NULL,
    СУММА(РасчетыСКлиентамиОбороты.КОплатеРасход),
    NULL
ИЗ
    РегистрНакопления.РасчетыСКлиентами.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК РасчетыСКлиентамиОбороты
ГДЕ
    РасчетыСКлиентамиОбороты.Регистратор.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиентаПоПлатежнойКарте), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыПоПлатежнойКарте), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиентуНаПлатежнуюКарту), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыНаПлатежнуюКарту))
{ГДЕ
    (РасчетыСКлиентамиОбороты.ЗаказКлиента.Подразделение = &Подразделение)}

СГРУППИРОВАТЬ ПО
    РасчетыСКлиентамиОбороты.ПериодМесяц,
    РасчетыСКлиентамиОбороты.Регистратор,
    РасчетыСКлиентамиОбороты.ЗаказКлиента.Подразделение,
    РасчетыСКлиентамиОбороты.ЗаказКлиента.Менеджер

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

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

СГРУППИРОВАТЬ ПО
    ЗаказыКлиентовОбороты.ПериодМесяц,
    ЗаказыКлиентовОбороты.Регистратор,
    ЗаказыКлиентовОбороты.ЗаказКлиента.Подразделение,
    ЗаказыКлиентовОбороты.ЗаказКлиента.Менеджер


В отчете необходимо отразить ресурсы по месяцам,а так же 3 вычисляемых поля,где бы происходило суммирование ресурсов в диапазоне "Первый", "Текущий"
Проблема в том,что если месяц один и тот же для Выручки, Оплаты и ЗаказаКлиента,то при суммировании он утраивает или удваивает результат. Проблема могла бы легко решиться ,если бы я засунул запрос во временную таблицу и сгруппировал,однако так мне нельзя. Так же пытался получить нужный мне результат сначала используя ВычислитьВыражениеСГруппировкойМассив,а затем этот результат уже просуммировать,но он проходится по всем скрытым полям и в итоге повторяет результат,который мне не нужен.
Вопрос:
1.Можно ли как-то избавиться от этих дубликатов не трогая запрос?
2.Если нет,то как правильно обойти эти дубли при расчете в вычисляемом поле?

Группировки- https://wampi.ru/image/RzoAz7Q
Вычисляемые поля - https://wampi.ru/image/RzoB7vf
Отчет - https://wampi.ru/image/RzoB02w

Заранее спасибо за помощь
1 vicof
 
27.10.20
12:37
Какого художника у тебя NULLы в запросе?
2 Fufa
 
27.10.20
13:13
(1) Потому что я беру отдельно Выручку, отдельно Оплату и отдельно ЗаказКлиента,а затем объединяю. Это не должно так быть?
https://wampi.ru/image/RGc5agQ
3 Fufa
 
27.10.20
15:03
(1) ?
4 ДенисЧ
 
27.10.20
15:13
А что, за использование числа 0 (ноль, нуль, zero) в числовом поле уже начинают расстреливать?