Имя: Пароль:
1C
1С v8
В запросе не срабатывает расчет нарастающих итогов
0 kavonline
 
18.04.12
17:09
В запросе не срабатывает расчет нарастающих итогов, если нет записей в последеющем периоде: например на 15 недели обороты были по номенклатуре а на 16 неделе не было (т.е. строки просто нет) - итоги не считаются

ВЫБРАТЬ
   ДанныеПродаж.Год,
   ДанныеПродаж.Неделя,
   ДанныеПродаж.Контрагент,
   ДанныеПродаж.Сектор,
   ДанныеПродаж.НоменклатурнаяГруппа,
   ДанныеПродаж.Сумма,
   ДанныеПродаж.СуммаСеб,
   ДанныеПродаж.Доход,
   ДанныеПродаж.Количество,
   СУММА(ДанныеПродажКопия.Сумма) КАК СуммаНарастающимИтогом,
     СУММА(ДанныеПродажКопия.СуммаСеб) КАК СуммаСебНарастающимИтогом,
   СУММА(ДанныеПродажКопия.Доход) КАК ДоходНарастающимИтогом,
   СУММА(ДанныеПродажКопия.Количество) КАК КоличествоНарастающимИтогом

ИЗ
ДанныеПродаж КАК ДанныеПродаж
   ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПродаж КАК ДанныеПродажКопия
       ПО ДанныеПродаж.Год=ДанныеПродажКопия.Год
       И ДанныеПродаж.Неделя>=ДанныеПродажКопия.Неделя
       И ДанныеПродаж.Контрагент=ДанныеПродажКопия.Контрагент
       И ДанныеПродаж.Сектор=ДанныеПродажКопия.Сектор
       И ДанныеПродаж.НоменклатурнаяГруппа=ДанныеПродажКопия.НоменклатурнаяГруппа

СГРУППИРОВАТЬ ПО
   ДанныеПродаж.Год,
   ДанныеПродаж.Неделя,
   ДанныеПродаж.Контрагент,
   ДанныеПродаж.Сектор,
   ДанныеПродаж.НоменклатурнаяГруппа,
   ДанныеПродаж.Сумма,
   ДанныеПродаж.СуммаСеб,
   ДанныеПродаж.Доход,
   ДанныеПродаж.Количество

УПОРЯДОЧИТЬ ПО
   ДанныеПродаж.Год,
   ДанныеПродаж.Неделя,
   ДанныеПродаж.Контрагент,
   ДанныеПродаж.Сектор,
   ДанныеПродаж.НоменклатурнаяГруппа
1 DrShad
 
18.04.12
17:12
а где итоги? где параметр периодичности и дополнения
и вообще что за бред?
2 Господин ПЖ
 
18.04.12
17:13
>В запросе не срабатывает расчет нарастающих итогов

осталось его еще найти...


иши, иши должен быть (с) пошел как-то купец в публичный дом...
3 kavonline
 
18.04.12
17:16
Вот полный код запроса (запрос кстати для СКД), извеняйте за небрежность:
ВЫБРАТЬ
   ГОД(ПродажиОбороты.Период)КАК Год,
   НЕДЕЛЯ(ПродажиОбороты.Период) КАК Неделя,
   ПродажиОбороты.Номенклатура,
   ПродажиОбороты.НоменклатурнаяГруппа.Родитель.Родитель КАК НоменклатурнаяГруппа,
   ПродажиОбороты.Контрагент,
   УчетноеРасположениеКонтрагента.УчетноеРасположение.Родитель КАК Регион,
   СекторыРегионов.Сектор,
   ЕСТЬNULL(ПродажиОбороты.СуммаОборот,0) КАК Сумма,
   ЕСТЬNULL(ПродажиОбороты.СуммаСебОборот,0) КАК СуммаСеб,
   ЕСТЬNULL(ПродажиОбороты.КоличествоОборот,0) * ПродажиОбороты.Номенклатура.БазоваяЕдиница.Коэффициент / ПродажиОбороты.Номенклатура.ОсновнаяЕдиница.Коэффициент КАК Количество
ПОМЕСТИТЬ Продажи
ИЗ
   РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Неделя,) КАК ПродажиОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетноеРасположениеКонтрагентов.СрезПоследних(&КонецПериода, ) КАК УчетноеРасположениеКонтрагента
           ПО ПродажиОбороты.Контрагент = УчетноеРасположениеКонтрагента.Объект
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СекторыРегионов.СрезПоследних(&КонецПериода, ) КАК СекторыРегионов
           ПО УчетноеРасположениеКонтрагента.УчетноеРасположение.Родитель = СекторыРегионов.Регион

;

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

ГДЕ
   НЕ Продажи.НоменклатурнаяГруппа В ИЕРАРХИИ(&МаркетинговоеОборудованиеПрочее)
   И Продажи.Сектор В (&СписокСекторов)

СГРУППИРОВАТЬ ПО
   Продажи.Год,
   Продажи.Неделя,
   Продажи.Контрагент,
   Продажи.Регион,
   Продажи.Сектор,
   Продажи.НоменклатурнаяГруппа

;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ДанныеПродаж.Год,
   ДанныеПродаж.Неделя,
   ДанныеПродаж.Контрагент,
   ДанныеПродаж.Сектор,
   ДанныеПродаж.НоменклатурнаяГруппа,
   ДанныеПродаж.Сумма,
   ДанныеПродаж.СуммаСеб,
   ДанныеПродаж.Доход,
   ДанныеПродаж.Количество,
   СУММА(ДанныеПродажКопия.Сумма) КАК СуммаНарастающимИтогом,
     СУММА(ДанныеПродажКопия.СуммаСеб) КАК СуммаСебНарастающимИтогом,
   СУММА(ДанныеПродажКопия.Доход) КАК ДоходНарастающимИтогом,
   СУММА(ДанныеПродажКопия.Количество) КАК КоличествоНарастающимИтогом

ИЗ
   ДанныеПродаж КАК ДанныеПродаж
       ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПродаж КАК ДанныеПродажКопия
           ПО ДанныеПродаж.Год = ДанныеПродажКопия.Год
               И ДанныеПродаж.Неделя >= ДанныеПродажКопия.Неделя
               И ДанныеПродаж.Контрагент = ДанныеПродажКопия.Контрагент
                 И ДанныеПродаж.Сектор = ДанныеПродажКопия.Сектор
               И ДанныеПродаж.НоменклатурнаяГруппа = ДанныеПродажКопия.НоменклатурнаяГруппа

СГРУППИРОВАТЬ ПО
   ДанныеПродаж.Год,
   ДанныеПродаж.Неделя,
   ДанныеПродаж.Контрагент,
   ДанныеПродаж.Сектор,
   ДанныеПродаж.НоменклатурнаяГруппа,
   ДанныеПродаж.Сумма,
   ДанныеПродаж.СуммаСеб,
   ДанныеПродаж.Доход,
   ДанныеПродаж.Количество

УПОРЯДОЧИТЬ ПО
   ДанныеПродаж.Год,
   ДанныеПродаж.Неделя,
   ДанныеПродаж.Контрагент,
   ДанныеПродаж.Сектор,
   ДанныеПродаж.НоменклатурнаяГруппа
4 DrShad
 
18.04.12
17:20
у оборотов нет периодичности
РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Неделя,)
5 kavonline
 
18.04.12
17:22
Так как трабл то разрешить?
6 DrShad
 
18.04.12
18:01
(4) СП соврал, сорри
убежал
Программист всегда исправляет последнюю ошибку.