Имя: Пароль:
1C
 
итог по группе
0 novichok20
 
24.09.14
18:24
кто подскажет как сделать итог по группе
есть справочник услуги
В ней группы(Наименование:Ремонт)... а в группе элемент Справочника(замена ступицы)...
необходимо вывести сумму по элементам и суммы по каждой группе.

    "ВЫБРАТЬ
    |    СУММА(ВложенныйЗапрос.СуммаТек) КАК СуммаТек,
    |    СУММА(ВложенныйЗапрос.СуммаПрош) КАК СуммаПрош,
    |    ВложенныйЗапрос.УслугаВидУслугНаименование
    |ПОМЕСТИТЬ ОборотыУслуги
    |ИЗ
    |    (ВЫБРАТЬ
    |        РЦ_ОказанныеУслугиОбороты.СуммаОборот КАК СуммаТек,
    |        NULL КАК СуммаПрош,
    |        РЦ_ОказанныеУслугиОбороты.Услуга.ВидУслуг.Наименование КАК УслугаВидУслугНаименование
    |    ИЗ
    |        РегистрНакопления.РЦ_ОказанныеУслуги.Обороты(&НачалоТекПериода, &КонецТекПериода, , ВидГраждан = &ВидГраждан) КАК РЦ_ОказанныеУслугиОбороты
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        NULL,
    |        РЦ_ОказанныеУслугиОбороты.СуммаОборот,
    |        РЦ_ОказанныеУслугиОбороты.Услуга.ВидУслуг.Наименование
    |    ИЗ
    |        РегистрНакопления.РЦ_ОказанныеУслуги.Обороты(&НачалоПрошлогоПериода, &КонецПрошлогоПериода, , ВидГраждан = &ВидГраждан) КАК РЦ_ОказанныеУслугиОбороты) КАК ВложенныйЗапрос
    |
    |СГРУППИРОВАТЬ ПО
    |    ВложенныйЗапрос.УслугаВидУслугНаименование
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    СУММА(ВложенныйЗапрос.СуммаТек) КАК СуммаТек,
    |    СУММА(ВложенныйЗапрос.СуммаПрош) КАК СуммаПрош,
    |    ВложенныйЗапрос.ВидУслугиНаименование
    |ПОМЕСТИТЬ ОборотыМатериалы
    |ИЗ
    |    (ВЫБРАТЬ
    |        РЦ_ИспользованныеДопМатериалыОбороты.СуммаОборот КАК СуммаТек,
    |        NULL КАК СуммаПрош,
    |        РЦ_ИспользованныеДопМатериалыОбороты.ВидУслуги.Наименование КАК ВидУслугиНаименование
    |    ИЗ
    |        РегистрНакопления.РЦ_ИспользованныеДопМатериалы.Обороты(&НачалоТекПериода, &КонецТекПериода, , ВидГраждан = &ВидГраждан) КАК РЦ_ИспользованныеДопМатериалыОбороты
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        NULL,
    |        РЦ_ИспользованныеДопМатериалыОбороты.СуммаОборот,
    |        РЦ_ИспользованныеДопМатериалыОбороты.ВидУслуги.Наименование
    |    ИЗ
    |        РегистрНакопления.РЦ_ИспользованныеДопМатериалы.Обороты(&НачалоПрошлогоПериода, &КонецПрошлогоПериода, , ВидГраждан = &ВидГраждан) КАК РЦ_ИспользованныеДопМатериалыОбороты) КАК ВложенныйЗапрос
    |
    |СГРУППИРОВАТЬ ПО
    |    ВложенныйЗапрос.ВидУслугиНаименование
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВЫБОР
    |        КОГДА ОборотыУслуги.УслугаВидУслугНаименование = """"
    |            ТОГДА ОборотыМатериалы.ВидУслугиНаименование
    |        ИНАЧЕ ОборотыУслуги.УслугаВидУслугНаименование
    |    КОНЕЦ КАК УслугаВидУслугНаименование,
    |    СУММА(ЕСТЬNULL(ОборотыМатериалы.СуммаТек, 0) + ЕСТЬNULL(ОборотыУслуги.СуммаТек, 0)) КАК СуммаТек,
    |    СУММА(ЕСТЬNULL(ОборотыМатериалы.СуммаПрош, 0) + ЕСТЬNULL(ОборотыУслуги.СуммаПрош, 0)) КАК СуммаПрош
    |ПОМЕСТИТЬ Обороты
    |ИЗ
    |    ОборотыУслуги КАК ОборотыУслуги
    |        ПОЛНОЕ СОЕДИНЕНИЕ ОборотыМатериалы КАК ОборотыМатериалы
    |        ПО ОборотыУслуги.УслугаВидУслугНаименование = ОборотыМатериалы.ВидУслугиНаименование
    |
    |СГРУППИРОВАТЬ ПО
    |    ВЫБОР
    |        КОГДА ОборотыУслуги.УслугаВидУслугНаименование = """"
    |            ТОГДА ОборотыМатериалы.ВидУслугиНаименование
    |        ИНАЧЕ ОборотыУслуги.УслугаВидУслугНаименование
    |    КОНЕЦ
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Обороты.СуммаТек КАК СуммаТек,
    |    Обороты.СуммаПрош КАК СуммаПрош,
    |    РЦ_ВидыУслуг.ЭтоГруппа КАК ЭтоГруппа,
    |    РЦ_ВидыУслуг.Родитель КАК Родитель,
    |    РЦ_ВидыУслуг.Наименование КАК Наименование
    |ИЗ
    |    Справочник.РЦ_ВидыУслуг КАК РЦ_ВидыУслуг
    |        ЛЕВОЕ СОЕДИНЕНИЕ Обороты КАК Обороты
    |        ПО (Обороты.УслугаВидУслугНаименование = РЦ_ВидыУслуг.Наименование)
    |ГДЕ
    |    (РЦ_ВидыУслуг.ЭтоГруппа
    |            ИЛИ ЕСТЬNULL(Обороты.СуммаТек, 0) > 0)
    |    И (РЦ_ВидыУслуг.ЭтоГруппа
    |            ИЛИ ЕСТЬNULL(Обороты.СуммаПрош, 0) > 0)
    |ИТОГИ
    |    СУММА(СуммаТек),
    |    СУММА(СуммаПрош)
    |ПО
    |    ОБЩИЕ,
    |    Наименование";
1 Fedor-1971
 
24.09.14
18:58
Напиши словами на листке что хочешь сделать, откуда планируешь получать данные. Прочитай, осмысли и задай понятный вопрос.
Запросы потом писать будешь.

  Например, должно получиться что-то типа: "Как получить сумму затрат по иерархии справочника при выборе из регистра остатков?"
2 novichok20
 
24.09.14
19:59
Нужно получить сумму по оказанным услугам за указанный период(и за такой же период прошлого года) по иерархии справочника при выборе из двух регистров накопления
3 Fedor-1971
 
25.09.14
09:53
(2) Я бы сделал так:
Выбрал из справочника услуги в иерархии и левым соединением прилепил к ним данные из 2-х РН за нужный период
4 novichok20
 
25.09.14
10:14
так я так помойму и сделал.вывел справочник и по нему услуги по которым есть суммы
5 Fedor-1971
 
25.09.14
10:31
(4) найди в своём запросе Левое соединение.
Ты выбираешь записи потом делаешь полное соединение выборок несколько раз (штук 8 запросов) иерархию как строить будешь?
Я тебе предложил выбрать все услуги из справочника в иерархии (1 запрос) и соединить их с выборками за период из РН (по запросу на каждый) в итоге получаем 3 запроса к БД с удобочитаемым текстом запроса.
Дальнейшая модернизация - отсечь 0 продажи.