Отчет на скд. ВычислитьВыражение для группировки таблица

1. sh_progr 18.10.25 13:00 Сейчас в теме
Здравствуйте!. Отчет показывает закупки по месяцам.
Чтобы вычислить %изменения нужно в текущую группировку перенести значение из предыдущей группировки.
Если группировка обычная: Номенклатура - Месяц, тогда это выражение работает
ВычислитьВыражение("КоличествоПриход", , ,"Предыдущая", "Предыдущая")
А для группировки таблица (колонки - год, месяцы; строки - номенклатура) никак не получается. Помогите, пожалуйста
По теме из базы знаний
Найденные решения
6. sh_progr 21.10.25 14:56 Сейчас в теме
(5) у меня так получилось:
ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая", "Предыдущая")
Прикрепленные файлы:
9. sh_progr 29.10.25 09:22 Сейчас в теме
изменение цены в процентах для колонки "месяц" между текущим и месяцем, в котором было приобретение
есть решение для таблицы "с пропусками"
Вычисляю ПроцентИзмененияЦены. Т.к. приобретения есть не в каждом месяце, то вытягиваю данные за 12 месяцев до Период.ДатаНачала
ВЫБОР
КОГДА ПериодМесяц = ДобавитьКДате(&Период.ДатаНачала, "Месяц", -12) ТОГДА 0
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") = 0 ТОГДА 0
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая", "Предыдущая") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая", "Предыдущая")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(2)", "Предыдущая(2)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(2)", "Предыдущая(2)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(3)", "Предыдущая(3)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(3)", "Предыдущая(3)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(4)", "Предыдущая(4)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(4)", "Предыдущая(4)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(5)", "Предыдущая(5)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(5)", "Предыдущая(5)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(6)", "Предыдущая(6)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(6)", "Предыдущая(6)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(7)", "Предыдущая(7)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(7)", "Предыдущая(7)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(8)", "Предыдущая(8)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(8)", "Предыдущая(8)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(9)", "Предыдущая(9)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(9)", "Предыдущая(9)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(10)", "Предыдущая(10)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(10)", "Предыдущая(10)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(11)", "Предыдущая(11)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(11)", "Предыдущая(11)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(12)", "Предыдущая(12)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(12)", "Предыдущая(12)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОНЕЦ
А пользователю показываю только данные за выбраный период:
1. в запросе добавил
ВЫБОР КОГДА НАЧАЛОПЕРИОДА(ЗакупкиОбороты.Период, МЕСЯЦ) < НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ)
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ КАК Выводить,
2. условное оформление
Минимальная ширина=0, Максимальная ширина = 0 Выводить Равно "0"
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. sh_progr 19.10.25 20:10 Сейчас в теме
(1) уточнение:
Доп. поле КоличествоПредыдущее = ВычислитьВыражение("КоличествоПриход", , ,"Предыдущая", "Предыдущая")
Ресурс: Сумма(КоличествоПредыдущее) и Рассчитывать по ПериодМесяц
2. DmitriyUspehov 19.10.25 19:51 Сейчас в теме
Всё на СКД.
В таблице работает, если пропусков нет (первые две строки)
Там где период пропущен - полная ерунда (нижние две строки)
Разница не в процентах, а просто новая цена минус старая, для наглядности. Поменять цену на КоличествоПриход в процентах не проблема.
Напишите, пожалуйста, если победите проблему с пропусками.
Проще, наверное, запрос переписать, чем возиться с ВычислитьВыражение
Прикрепленные файлы:
4. sh_progr 19.10.25 20:14 Сейчас в теме
(2) покажите, пжл, как Вы ЭТОТ результат получили? У меня даже так не получается
5. DmitriyUspehov 20.10.25 10:00 Сейчас в теме
Ну, ЭТОТ отчет получить крайне просто.
Сделал вычисляемое поле (формула на скриншоте).
Добавил его в ресурсы. Теперь их там два поля - Цена и ЦенаРазница.
В настройках создал тип отчета "Таблица". В строки - Номенклатура, в колонки - Период (см. скриншот).
Убрал итоговые значения для колонок и строк, т.к. они смысла не имеют и просто мне мешали. Этого можно было не делать.
Собственно, всё. Больше ничего не трогал, никуда не лез. Всё по азбуке.
Вы, наверное, просто перемудрили с настройками, и поэтому не получается. По крайней мере, в таком виде.

Только вот толку от отчета в таком виде крайне мало. Что за бред получается в строках с пропусками? Явно не то, что я ожидал. У "Шкаф большой" в периодическом регистре сведений всего две записи (проверено) и ожидал, что 1С возьмет первую (как "Предыдущая") и последнюю. Или хотя бы наоборот. Но нет.

И еще меня мучает вопрос.
В ВычислитьВыражение() с "Текущей" всё понятно, а вот "Предыдущая" зависит от порядка сортировки.
Поменять порядок сортировки - и "Предыдущая" станет совсем другая запись. Может быть, в этом дело?

Функция ВычислитьВыражение() очень объемная и сложная. Изначально, как я понял, она задумывалась только для работы с текущей записью, и уже позже ей "пришили руки" для работы с несколькими записями из реляционной выборки.
Я еще продолжу ковыряния с ВычислитьВыражение().
Прикрепленные файлы:
6. sh_progr 21.10.25 14:56 Сейчас в теме
(5) у меня так получилось:
ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая", "Предыдущая")
Прикрепленные файлы:
7. DmitriyUspehov 21.10.25 15:36 Сейчас в теме
(6) Я такое уже пробовал. Для строк с пропусками оно не заработало. Для строк с пропусками периодов оно берет цену товара из предыдущего периода для другого товара. Это я никак не могу понять. Это есть только в таблице. Простая группировка работает прекрасно - с пропусками или без. Для строк без пропусков периодов работает и таблица. Проблемы только в таблице если пропущен период.
Буду копать дальше.

т.е. для количества по месяцам 0 10 0 0 50 (или с пропусками _ 10 _ _ 50)
это в процентах будет
0% 100% 0% 0% 100%
?
по-моему последнее должно быть 50 к 10 *100 или нет?
8. DmitriyUspehov 21.10.25 16:27 Сейчас в теме
(6) У меня не работает. Сереньким выделено вверху правильное и внизу нет (см.скриншот)
Цена предыдущего периода закупки должна быть 40000, а она пусто (в предпоследней строке табличного отчета). Соответственно процентное изменение к цене предыдущей закупки будет не то.
Надеюсь, что у Вас такого нет.
Прикрепленные файлы:
9. sh_progr 29.10.25 09:22 Сейчас в теме
изменение цены в процентах для колонки "месяц" между текущим и месяцем, в котором было приобретение
есть решение для таблицы "с пропусками"
Вычисляю ПроцентИзмененияЦены. Т.к. приобретения есть не в каждом месяце, то вытягиваю данные за 12 месяцев до Период.ДатаНачала
ВЫБОР
КОГДА ПериодМесяц = ДобавитьКДате(&Период.ДатаНачала, "Месяц", -12) ТОГДА 0
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") = 0 ТОГДА 0
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая", "Предыдущая") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая", "Предыдущая")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(2)", "Предыдущая(2)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(2)", "Предыдущая(2)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(3)", "Предыдущая(3)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(3)", "Предыдущая(3)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(4)", "Предыдущая(4)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(4)", "Предыдущая(4)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(5)", "Предыдущая(5)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(5)", "Предыдущая(5)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(6)", "Предыдущая(6)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(6)", "Предыдущая(6)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(7)", "Предыдущая(7)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(7)", "Предыдущая(7)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(8)", "Предыдущая(8)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(8)", "Предыдущая(8)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(9)", "Предыдущая(9)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(9)", "Предыдущая(9)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(10)", "Предыдущая(10)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(10)", "Предыдущая(10)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(11)", "Предыдущая(11)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(11)", "Предыдущая(11)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОГДА ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(12)", "Предыдущая(12)") <> 0
ТОГДА (ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") - ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Предыдущая(12)", "Предыдущая(12)")) / ВычислитьВыражение("ЕСТЬNULL(Сумма(Об_СтоимостьПриход) / Сумма(Об_КоличествоПриход), 0)", "ПериодМесяц", "Группировка","Текущая", "Текущая") * 100
КОНЕЦ
А пользователю показываю только данные за выбраный период:
1. в запросе добавил
ВЫБОР КОГДА НАЧАЛОПЕРИОДА(ЗакупкиОбороты.Период, МЕСЯЦ) < НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ)
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ КАК Выводить,
2. условное оформление
Минимальная ширина=0, Максимальная ширина = 0 Выводить Равно "0"
Для отправки сообщения требуется регистрация/авторизация

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот