Имя: Пароль:
1C
1С v8
Запрос продаж по выбранным периодам
0 grasshoper
 
17.08.21
14:57
День добрый! Столкнулся с задачей получения продаж на определённые отрезки в запросе. Может кто решал такую задачу? Как в запросе получить объём продаж по контрагенту за период (К примеру период действия акции)? Для контрагентов периоды действия акций разные.

--------------------------------------------------------------------------
Контрагент | Начало действия | Конец действия | Продажи за данный период |
--------------------------------------------------------------------------
ИП Пупкин    01.08.2021        10.08.2021       10 000                   |
--------------------------------------------------------------------------
Иванов И.И.  05.08.2021        16.08.2021       5 000                    |
--------------------------------------------------------------------------
1 Ёпрст
 
17.08.21
15:03


Выбор Когда НачалоПериода(Клиентос.ДатаНачалаАкции,День) >= НачалоПериода(Продажи.ПериодДень) И
НачалоПериода(Клиентос.ДатаКонцаАкции,День) <= НачалоПериода(Продажи.ПериодДень) Тогда
      Продажи.КоличествоОборот Иначе 0 конец Как ПродажиПоАкцииЗаПериод
2 runoff_runoff
 
17.08.21
15:04
временная таблица всех продаж по дням за период Мин(НачалоДействия) и Макс(КонецДействия)
дальше соединение со справочником "Маркетинговые акции"
3 grasshoper
 
17.08.21
15:20
(2) А как не задвоить числовые поля?
ВЫБРАТЬ
    ПродажиОбороты.ПериодСекунда КАК Период,
    ПродажиОбороты.Контрагент КАК Контрагент,
    ПродажиОбороты.КоличествоОборот КАК ПродажиКоличествоКг,
    ПродажиОбороты.СтоимостьОборот КАК ПродажиСумма,
    ПродажиОбороты.НДСОборот КАК ПродажиСуммаНДС,
    ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот КАК ПродажиСуммаБезНДС
ПОМЕСТИТЬ Продажи
ИЗ
    РегистрНакопления.Продажи.Обороты(, &Период, Авто, ) КАК ПродажиОбороты

ИНДЕКСИРОВАТЬ ПО
    Контрагент
;

ВЫБРАТЬ
    Контрагенты.Ссылка КАК Контрагент,
    ПоследняяАкция.НачалоДействия КАК НачалоДействия,
    ПоследняяАкция.КонецДействия КАК КонецДействия,
    ПоследняяАкция.СуммаОграниченияПоАкции КАК СуммаОграниченияПоАкции
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ ПоследняяАкция КАК ПоследняяАкция
        ПО Контрагенты.Ссылка = ПоследняяАкция.Контрагент
4 vicof
 
17.08.21
16:35
Можно в СКДшке связать наборы по периодам