Сумма в группировке по вычисляемому полю

Тема в разделе "Система компоновки данных (СКД)", создана пользователем skv_79, 20 дек 2016.

  1. TopicStarter Overlay
    skv_79
    Offline

    skv_79 Опытный в 1С

    Регистрация:
    10 июл 2013
    Сообщения:
    305
    Симпатии:
    4
    Баллы:
    29
    Добрый день! Подскажите, может кто знает, есть запрос:
    Код:
    ВЫБРАТЬ
        МЛ_Аналоги.ИсходныйАртикулЧ КАК ИсходныйАртикулЧ,
        МЛ_Аналоги.ИсходныйАртикул,
        Номенклатура.Наименование,
        Номенклатура.Ссылка КАК Ссылка,
        МЛ_Аналоги.Артикул,
        МЛ_Аналоги.АртикулЧ
    ПОМЕСТИТЬ ВТ_АртикулыСНоменклатурой
    ИЗ
        РегистрСведений.МЛ_Аналоги КАК МЛ_Аналоги
            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
            ПО МЛ_Аналоги.АртикулЧ = Номенклатура.АртикулЧ
    
    ИНДЕКСИРОВАТЬ ПО
        Ссылка,
        ИсходныйАртикулЧ
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ВТ_АртикулыСНоменклатурой.ИсходныйАртикулЧ,
        ВТ_АртикулыСНоменклатурой.ИсходныйАртикул,
        ЦеныНоменклатурыСрезПоследних.Номенклатура,
        ЦеныНоменклатурыСрезПоследних.Характеристика,
        ЦеныНоменклатурыСрезПоследних.Цена,
        ВТ_АртикулыСНоменклатурой.Артикул КАК Артикул,
        ВТ_АртикулыСНоменклатурой.АртикулЧ КАК АртикулЧ
    ИЗ
        ВТ_АртикулыСНоменклатурой КАК ВТ_АртикулыСНоменклатурой
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
            ПО ВТ_АртикулыСНоменклатурой.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
    ГДЕ
        ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены
    
    СГРУППИРОВАТЬ ПО
        ВТ_АртикулыСНоменклатурой.ИсходныйАртикулЧ,
        ВТ_АртикулыСНоменклатурой.ИсходныйАртикул,
        ЦеныНоменклатурыСрезПоследних.Номенклатура,
        ЦеныНоменклатурыСрезПоследних.Характеристика,
        ЦеныНоменклатурыСрезПоследних.Цена,
        ВТ_АртикулыСНоменклатурой.Артикул,
        ВТ_АртикулыСНоменклатурой.АртикулЧ
    Далее вычисляю в вычисляемое поле Отбор:
    Код:
    ВЫБОР КОГДА Характеристика = ВычислитьВыражение("Характеристика",,,"Предыдущая","Предыдущая") ТОГДА ВЫБОР КОГДА Цена = ВычислитьВыражение("Цена",,,"Предыдущая","Предыдущая") ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ
    Добавляю отбор в ресурсы и рассчитываю по ИсходныйАртикулЧ:
    Цены3.jpg

    А в структуре отчета добавляю в группировке отбор:
    Цены4.jpg

    А в отчете рассчитывается сумма по группировке неправильная, где-то сумма в два раза больше чем в детальных, а где-то пустая:
    Цены1.jpg
    Цены2.jpg
  2. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.722
    Симпатии:
    959
    Баллы:
    204
    НУ поробуйте в ресурсах не сумма (Отбор)

    А что то вроде
    Сумма(ВЫБОР КОГДА Характеристика = ВычислитьВыражение("Характеристика",,,"Предыдущая","Предыдущая") ТОГДА ВЫБОР КОГДА Цена = ВычислитьВыражение("Сумма(Цена)",,,"Предыдущая","Предыдущая") ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ)
    --- Объединение сообщений, 21 дек 2016 ---
    т.е сумма в начале выражения и Сумма в ВычислитьВыражение("Сумма(Цена)",,,"Предыдущая","Предыдущая")

    Ну или попробуйте без суммы в начале
    skv_79 нравится это.
  3. TopicStarter Overlay
    skv_79
    Offline

    skv_79 Опытный в 1С

    Регистрация:
    10 июл 2013
    Сообщения:
    305
    Симпатии:
    4
    Баллы:
    29
    Что-то не отрабатывает так как нужно, но я уже добился результата. Там проще оказалось чем думал, в поле Выражение сделал Количество(Различные Цена) и рассчитал по характеристики, можно без характеристик, тогда если в группировке по артикулу есть различные цены в разрезе разных характеристик будет выводиться отбор. Спасибо!
    --- Объединение сообщений, 21 дек 2016 ---
    Правильно я понимаю, по вычисляемым полям нельзя агрегатные суммы применять, они не отрабатывают как нужно?

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