Доброго времени суток. Не ругайте сильно, учусь и никак не могу понять, как задать условия отбора/обработки в запросе. Продаются ДВЕ услуги, по итогам месяца/периода получаем объем (сумму) по указанным услугам по потребителю. Вроде бы все хорошо, НО в данном случае я получаю сумму по количеству услуг:
Проблема в том, что: 1.по услугам может быть перерасчет (возврат), т.е количество так же указывается, но его
уже нужно вычитать, а не суммировать. 2. может быть и повышающий коэффициент на услугу, его тоже надо скорректировать при суммировании. Эти признаки можно определить по значениям в колонке Начисления.ВидУслуги: Услуга, Возврат, Корректировка.
А в данном примере колонка просто суммируется по услуге.
Никак не могу понять, как мне в Запросе сделать проверку по значению колонки "Начисления.ВидУслуги" и выполнить соответствующие действия... Подскажите пожалуйста как использовать условия внутри Запроса и как их обрабатывать, как в таком случае отработает СУММА()?
ВЫБРАТЬ
Начисления.Услуга КАК Услуга,
СУММА(Начисления.Количество) КАК Количество,
Начисления.Потребитель КАК Потребитель
ИЗ
(ВЫБРАТЬ
Начисления.Услуга КАК Услуга,
Начисления.Количество КАК Количество,
Начисления.Потребитель КАК Потребитель
ИЗ
РегистрНакопления.Начисления КАК Начисления
ГДЕ
Начисления.Период >= &НачПериода И УПЖКХ_Начисления.Период <= &КонПериода
И Начисления.Организация = &Организация
И Начисления.Потребитель =&Здание
) КАК Начисления
СГРУППИРОВАТЬ ПО
Начисления.Потребитель,
Начисления.Услуг
ПоказатьПроблема в том, что: 1.по услугам может быть перерасчет (возврат), т.е количество так же указывается, но его
уже нужно вычитать, а не суммировать. 2. может быть и повышающий коэффициент на услугу, его тоже надо скорректировать при суммировании. Эти признаки можно определить по значениям в колонке Начисления.ВидУслуги: Услуга, Возврат, Корректировка.
А в данном примере колонка просто суммируется по услуге.
Никак не могу понять, как мне в Запросе сделать проверку по значению колонки "Начисления.ВидУслуги" и выполнить соответствующие действия... Подскажите пожалуйста как использовать условия внутри Запроса и как их обрабатывать, как в таком случае отработает СУММА()?
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Что я делаю не так? Значение "Количество" по условию не изменяется, остаётся то же, что и до условий:
ВЫБРАТЬ
СУММА(ВЫБОР
КОГДА Начисления.ВидНачисления = "Корректировка"
ТОГДА (-1) * Начисления.Количество // первод в отрицательное значение
КОГДА Начисления.ВидНачисления = "ПовышающийКоэффициент"
ТОГДА Начисления.Количество / 1.5 // уменьшаем на 50%
ИНАЧЕ Начисления.Количество
КОНЕЦ) КАК Количество,
Начисления.Услуга КАК Услуга,
Начисления.ВидНачисления КАК ВидНачисления
ИЗ
РегистрНакопления.Начисления КАК Начисления
ГДЕ
Начисления.Период >= &НачПериода И Начисления.Период <= &КонПериода
И Начисления.Количество > 0
И Начисления.Счет.Адрес.Владелец = &Владелец
И Начисления.Услуга = &Услуга
СГРУППИРОВАТЬ ПО
Начисления.Услуга,
Начисления.ВидНачисления
ВЫБРАТЬ
СУММА(ВЫБОР
КОГДА Начисления.ВидНачисления = "Корректировка"
ТОГДА (-1) * Начисления.Количество // первод в отрицательное значение
КОГДА Начисления.ВидНачисления = "ПовышающийКоэффициент"
ТОГДА Начисления.Количество / 1.5 // уменьшаем на 50%
ИНАЧЕ Начисления.Количество
КОНЕЦ) КАК Количество,
Начисления.Услуга КАК Услуга,
Начисления.ВидНачисления КАК ВидНачисления
ИЗ
РегистрНакопления.Начисления КАК Начисления
ГДЕ
Начисления.Период >= &НачПериода И Начисления.Период <= &КонПериода
И Начисления.Количество > 0
И Начисления.Счет.Адрес.Владелец = &Владелец
И Начисления.Услуга = &Услуга
СГРУППИРОВАТЬ ПО
Начисления.Услуга,
Начисления.ВидНачисления
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот