8.х Не группируются данные по регистратору

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Nasok, 27 июл 2010.

  1. TopicStarter Overlay
    Nasok
    Offline

    Nasok

    Регистрация:
    27 июл 2010
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Добрый день,
    Создаю отчет по наценке продаж. В котором вынимаю данные из из регистров. И группирую их в итогах по подразделению, контрагенту, менеджеру. Но перед тем как найти сумму полей в итогах : Пенни, Вознаграждения, ТранспртныеУслуги, нужно сгруппировать по Регистратору "РеализацияТоваровУслуг". Эта группировка не получается. Вместо того, чтобы группировать он складывает. Я уже даже отдельный вложенный запрос сделала, в котором группирую данные. А за его пределами вывожу итоги.

    Пенни, Вознаграждения, ТранспортныеУслуги- это поля в документе "РеализацияТоваровУслуг". А так как регистр "Продажи" соединяется с другим регисторм по номенклатуре, то эти поля повторяются столько раз сколько типов номенклатуры в документе. Для нахождения суммы по подразделению, менеджеру, необходимо сначала сгрупировать по регистратору, как я поняла. Но не выходит.=(((

    ВЫБРАТЬ
    ВложенныйЗапрос.Пенни КАК Пенни,
    ВложенныйЗапрос.Вознаграждения КАК Вознаграждения,
    ВложенныйЗапрос.ТранспУслуг КАК ТранспУслуг,
    ВложенныйЗапрос.Отгрузка КАК Отгрузка,
    ВложенныйЗапрос.Контрагент КАК Контрагент,
    ВложенныйЗапрос.Подразделение КАК Подразделение,
    ВложенныйЗапрос.Менеджер КАК Менеджер,
    ВложенныйЗапрос.Себестоимость,
    ВложенныйЗапрос.КоличествоОборот,
    ВложенныйЗапрос.Наценка КАК Наценка,
    ВложенныйЗапрос.ПроцентБез КАК ПроцентБез,
    ВложенныйЗапрос.ПроцентПоКредиту КАК ПроцентПоКредиту,
    ВложенныйЗапрос.Итоговый КАК Итоговый,
    ВложенныйЗапрос.Плановый КАК Плановый,
    ВложенныйЗапрос.ПроцентСкидки КАК ПроцентСкидки,
    ВложенныйЗапрос.Скидка КАК Скидка,
    ВложенныйЗапрос.Цена,
    ВложенныйЗапрос.Опт200,
    ВложенныйЗапрос.Себестоимость1,
    ВложенныйЗапрос.ВаловаяПрибыль КАК ВаловаяПрибыль
    ИЗ
    (ВЫБРАТЬ
    ПродажиОбороты.Регистратор КАК Регистратор,
    МАКСИМУМ(ПродажиОбороты.Регистратор.СуммаПенни) КАК Пенни,
    МАКСИМУМ(ПродажиОбороты.Регистратор.СуммаВознаграждения) КАК Вознаграждения,
    МАКСИМУМ(ПродажиОбороты.Регистратор.СуммаТранспУслуг) КАК ТранспУслуг,
    ПродажиОбороты.СтоимостьОборот КАК Отгрузка,
    ПродажиОбороты.Регистратор.Контрагент КАК Контрагент,
    ПродажиОбороты.Регистратор.Подразделение КАК Подразделение,
    ПродажиОбороты.Регистратор.Контрагент.ОсновнойМенеджерПокупателя КАК Менеджер,
    ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК Себестоимость,
    ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,
    ВЫРАЗИТЬ((ПродажиОбороты.СтоимостьОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход) * 100 / ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ЧИСЛО(15, 2)) КАК Наценка,
    ВЫРАЗИТЬ((ПродажиОбороты.СтоимостьОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход - ПродажиОбороты.Регистратор.СуммаПенни - ПродажиОбороты.Регистратор.СуммаВознаграждения - ПродажиОбороты.Регистратор.СуммаТранспУслуг) * 100 / ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ЧИСЛО(15, 2)) КАК ПроцентБез,
    ВЫРАЗИТЬ(ПродажиОбороты.Регистратор.СуммаДокумента / 365 * ПродажиОбороты.Регистратор.ДоговорКонтрагента.ГлубинаКредита * &Процент КАК ЧИСЛО(15, 2)) КАК ПроцентПоКредиту,
    ВЫРАЗИТЬ((ПродажиОбороты.СтоимостьОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход - ПродажиОбороты.Регистратор.СуммаПенни - ПродажиОбороты.Регистратор.СуммаВознаграждения - ПродажиОбороты.Регистратор.СуммаТранспУслуг - ПродажиОбороты.Регистратор.СуммаДокумента / 365 * ПродажиОбороты.Регистратор.ДоговорКонтрагента.ГлубинаКредита * &Процент) * 100 / ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ЧИСЛО(15, 2)) КАК Итоговый,
    ВЫБОР
    КОГДА ПартииТоваровНаСкладахОбороты.СтоимостьРасход = 0
    И ПродажиОбороты.СтоимостьОборот = 0
    ТОГДА 0
    ИНАЧЕ ПродажиОбороты.СтоимостьОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход
    КОНЕЦ КАК ВаловаяПрибыль,
    ВЫБОР
    КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ ВЫРАЗИТЬ((ЦеныНоменклатурыСрезПоследних.Цена * ПродажиОбороты.КоличествоОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход) * 100 / ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ЧИСЛО(15, 2))
    КОНЕЦ КАК Плановый,
    ВЫРАЗИТЬ((ПродажиОбороты.СтоимостьОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход - (ВЫБОР
    КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена
    КОНЕЦ * ПродажиОбороты.КоличествоОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход)) * 100 / ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ЧИСЛО(15, 2)) КАК ПроцентСкидки,
    ВЫРАЗИТЬ(ПродажиОбороты.СтоимостьОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход - ВЫБОР
    КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена
    КОНЕЦ * ПродажиОбороты.КоличествоОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ЧИСЛО(15, 2)) КАК Скидка,
    ВЫБОР
    КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена
    КОНЕЦ КАК Цена,
    ЦеныНоменклатурыСрезПоследних.Цена * ПродажиОбороты.КоличествоОборот КАК Опт200,
    ВЫБОР
    КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ ПартииТоваровНаСкладахОбороты.СтоимостьРасход
    КОНЕЦ КАК Себестоимость1
    ИЗ
    РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ПродажиОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ПартииТоваровНаСкладахОбороты
    ПО ПродажиОбороты.Регистратор = ПартииТоваровНаСкладахОбороты.Регистратор
    И ПродажиОбороты.Номенклатура = ПартииТоваровНаСкладахОбороты.Номенклатура
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
    ПО ПродажиОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    ГДЕ
    ПродажиОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг

    СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Регистратор,
    ПродажиОбороты.СтоимостьОборот,
    ПродажиОбороты.Регистратор.Контрагент,
    ПродажиОбороты.Регистратор.Подразделение,
    ПродажиОбороты.Регистратор.Контрагент.ОсновнойМенеджерПокупателя,
    ПартииТоваровНаСкладахОбороты.СтоимостьРасход,
    ПродажиОбороты.КоличествоОборот,
    ВЫРАЗИТЬ((ПродажиОбороты.СтоимостьОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход - ПродажиОбороты.Регистратор.СуммаПенни - ПродажиОбороты.Регистратор.СуммаВознаграждения - ПродажиОбороты.Регистратор.СуммаТранспУслуг) * 100 / ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ЧИСЛО(15, 2)),
    ВЫРАЗИТЬ(ПродажиОбороты.Регистратор.СуммаДокумента / 365 * ПродажиОбороты.Регистратор.ДоговорКонтрагента.ГлубинаКредита * &Процент КАК ЧИСЛО(15, 2)),
    ВЫРАЗИТЬ((ПродажиОбороты.СтоимостьОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход - ПродажиОбороты.Регистратор.СуммаПенни - ПродажиОбороты.Регистратор.СуммаВознаграждения - ПродажиОбороты.Регистратор.СуммаТранспУслуг - ПродажиОбороты.Регистратор.СуммаДокумента / 365 * ПродажиОбороты.Регистратор.ДоговорКонтрагента.ГлубинаКредита * &Процент) * 100 / ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ЧИСЛО(15, 2)),
    ВЫБОР
    КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ ВЫРАЗИТЬ((ЦеныНоменклатурыСрезПоследних.Цена * ПродажиОбороты.КоличествоОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход) * 100 / ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ЧИСЛО(15, 2))
    КОНЕЦ,
    ВЫРАЗИТЬ((ПродажиОбороты.СтоимостьОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход - (ВЫБОР
    КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена
    КОНЕЦ * ПродажиОбороты.КоличествоОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход)) * 100 / ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ЧИСЛО(15, 2)),
    ВЫРАЗИТЬ(ПродажиОбороты.СтоимостьОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход - ВЫБОР
    КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена
    КОНЕЦ * ПродажиОбороты.КоличествоОборот - ПартииТоваровНаСкладахОбороты.СтоимостьРасход КАК ЧИСЛО(15, 2)),
    ВЫБОР
    КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена
    КОНЕЦ,
    ЦеныНоменклатурыСрезПоследних.Цена * ПродажиОбороты.КоличествоОборот,
    ВЫБОР
    КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
    ТОГДА 0
    ИНАЧЕ ПартииТоваровНаСкладахОбороты.СтоимостьРасход
    КОНЕЦ) КАК ВложенныйЗапрос
    ИТОГИ
    СУММА(Пенни),
    СУММА(Вознаграждения),
    СУММА(ТранспУслуг),
    СУММА(Отгрузка),
    ВЫРАЗИТЬ(СУММА(ВложенныйЗапрос.ВаловаяПрибыль) * 100 / СУММА(ВложенныйЗапрос.Себестоимость) КАК ЧИСЛО(15, 2)) КАК Наценка,
    ВЫРАЗИТЬ((СУММА(ВложенныйЗапрос.ВаловаяПрибыль) - СУММА(Пенни) - СУММА(Вознаграждения) - СУММА(ТранспУслуг)) * 100 / СУММА(ВложенныйЗапрос.Себестоимость) КАК ЧИСЛО(15, 2)) КАК ПроцентБез,
    СУММА(ПроцентПоКредиту),
    ВЫРАЗИТЬ((СУММА(ВложенныйЗапрос.ВаловаяПрибыль) - СУММА(Пенни) - СУММА(Вознаграждения) - СУММА(ТранспУслуг) - СУММА(ПроцентПоКредиту)) * 100 / СУММА(ВложенныйЗапрос.Себестоимость) КАК ЧИСЛО(15, 2)) КАК Итоговый,
    ВЫБОР
    КОГДА СУММА(ВложенныйЗапрос.Себестоимость1) = 0
    ТОГДА 0
    ИНАЧЕ ВЫРАЗИТЬ((СУММА(ВложенныйЗапрос.Цена * ВложенныйЗапрос.КоличествоОборот) - СУММА(ВложенныйЗапрос.Себестоимость1)) * 100 / СУММА(ВложенныйЗапрос.Себестоимость1) КАК ЧИСЛО(15, 2))
    КОНЕЦ КАК Плановый,
    ВЫРАЗИТЬ((СУММА(ВложенныйЗапрос.ВаловаяПрибыль) - СУММА(ВложенныйЗапрос.Опт200) - СУММА(ВложенныйЗапрос.Себестоимость)) * 100 / СУММА(ВложенныйЗапрос.Себестоимость) КАК ЧИСЛО(15, 2)) КАК ПроцентСкидки,
    ВЫРАЗИТЬ(СУММА(Скидка) КАК ЧИСЛО(15, 2)) КАК Скидка,
    СУММА(ВаловаяПрибыль)
    ПО
    ОБЩИЕ,
    Подразделение,
    Менеджер,
    Контрагент
  2. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.400
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    Выкладывайте сам отчёт, этот запрос никто курить не будет без самого отчёта, а там и посмотрим.

Поделиться этой страницей