Как вывести итоги не по всем группировкам? #336427


#0 by serg161
В запросе есть группировки, например: Организация, Подразделение, Заказ, Номенклатура и суммируемые ресурсы, например: Количество, Стоимость, СуммаОплаты. В итогах по Количеству и Стоимости нужны результаты по всем группировкам, а вот по СуммеОплаты только по Заказу и Выше. Можно ли как то обойти вывод итогов СуммыОплаты по Номенклатуре?
#1 by Valiko77
да, если делаешь в консоли отчетов, просто очисти эти поля в фиксированном макете
#2 by serg161
Это уже только при выводе, не подходит. Условно Ситуация такая: Есть Заказ, по нему реализовано 2 Номенклатуры по 10 руб. По Заказу есть поступление Денежных средств - 20 руб. В запросе объединяю 2 регистра(Продажи и ДДС) по Заказу, в итогах отчета получается на каждую номенклатуру оплата по 20 руб., а на уровне Заказа уже 40. Т.е просто тупо суммируется. Можно как то прописать в запросе, что итоги нужно суммировать начинаю с уровня группировки Заказ?
#3 by Immortal
1. объединением запросов с группировками по тем измерениям. по которым надо получить итоги 2. ручной расчёт итогов припомощиконструкции вида ВЫБОР КОГДА КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ИмяГруппировкиНестандартныхИтогов) смотри в КЗ статью Расчет нестандартных итогов  в запросе
#4 by serg161
Чего-то не получается. Прописываю в итогах ВЫБОР КОГДА ... Выводить итоги начиная с Заказа получилось, но он все равно суммирует с самого низа.Т.е.:          Изначально     Получилось                Надо                                                         либо            либо Ключевая проблема в том, что Сумма оплаты = 20 в регистре без разбивки на номенклатуру. Пробовал и объединять по разному - все равно в Итогах выводит, начиная с Номенклатуры (искусственно присваивая каждой ном. оплату = 20 и потом все это суммирует).
#5 by Immortal
ВЫБРАТЬ * ИЗ ( ВЫБРАТЬ ЗапросСОднимиГруппировками Нужные Объединить ВЫБРАТЬ ЗАпросСДругимиГруппировками СГРУППИРОВАТЬ ПО Нужные)
#6 by serg161
Чего то совсем никак, в конец запутался. Пишу (примерно): Подразделение, Заказ, ДокПродажи, Номенклатура, КолВо, СуммаПродаж Подразделение Заказ ДокПродажи Номенклатура Объединить ВЫБРАТЬ 0, Сделка, 0, 0, 0, 0, СуммаОплаты Сделка) Выводит сначала Сделки с СуммамиОплат, потом Заказы со своими показателями. Заказ со Сделкой в одну строку не объединяет.
#7 by Immortal
если заказ и сделка - разные по типу поля то объединения не произойдёт.
#8 by Immortal
вернее произойдёт п оследующей схеме : NUll Заказ                                       Сделка NULL
#9 by serg161
Заказ - это ЗаказПокупателя, а Сделка имеет составной тип, в т.ч. и ЗаказПокупателя (это ведь не считается как разные типы)?
#10 by serg161
В данном случае совпадение Заказа и Сделки в обоих запросах - достаточно ведь для объединения в одну строку?
#11 by Immortal
условие во втором Запросе попробуй ГДЕ Сделка ССЫЛКА Документ.ЗаказПокупателя
#12 by serg161
Неа, не помогло, только думать дольше стал. Максимум результата пока - итоги по Подразделению (по первой группировке).
#13 by butterbean
в итогах можно написать ВЫБОР КОГДА Номенклатура ЕСТЬ NULL ТОГДА Сумма(СуммаОплаты)/Количство(СуммаОплаты) ИНАЧЕ 0 КОНЕЦ КАК СуммаОплаты
#14 by serg161
Это больше похоже на правду, только не совсем корректно суммирует в группировках выше подразделения, например: В Подр_1 10 шт. с итогом 100 р., в Подр_2 5 шт. с итогом 50 р., получается не 100/10 + 50/5 = 20, а (100+50)/15 = 10. Но все равно спасибо, буду дальше пробовать.
#15 by Фауст
Для суммы оплаты используй агрегатную функцию МАКСИМУМ или МИНИМУМ вместо СУММА, не будет суммироваться.
#16 by butterbean
автору надо чтобы суммировалось, но выше опредленного уровня группировок
#17 by serg161
Именно! Группировки: Организация,Подразделение, Менеджер, Контрагент, Заказ, ДокументПродажи, Номенклатура. Оплату я могу получить только целиком для Заказа. А данные по продажам нужно выводить с детализацией до Номенклатуры. Поэтому нужно чтобы до Заказа (Номенкл., ДокПродажи, Заказ) выводился МАКСИМУМ а дальше, от Заказа этот МАКСИМУМ начал бы суммироваться, причем не по количеству Номенклатуры, а по количеству элементов на каждом уровне итогов.
#18 by butterbean
а точно не подходит, у меня работает подобная схема нормально на 5 уровнях
#19 by butterbean
+ это вопрос :-)
#20 by serg161
К сожалению. Итоги Номенклатуры как и надо пропускает. А по след итогам на всех уровнях просто все суммирует и делит на общее количество. Не позаказно, как надо .
#21 by butterbean
на общее количество ЧЕГО?
#22 by serg161
Количество итоговых записей первого после номенклатуры уровня.
#23 by Immortal
ты в правильных общих итогов не получишь
#24 by Dionisious
Через СКД надо. Или через ОБЪЕДЕНИТЬ.
#25 by serg161
СКД - это как?
#26 by Dionisious
Система компоновки данных.
#27 by Dionisious
#28 by serg161
Объединять пробовал, не объединяет, выводит итоги отдельно от разворота по номенклатуре(с пустым подразделением):                РегистрСведений.ПродажиСлужебный КАК ПродажиСлужебный            (ЗапросЛинейный.ДокументПродажи ССЫЛКА Документ.РеализацияТоваровУслуг                    ИЛИ ЗапросЛинейный.ДокументПродажи ССЫЛКА Документ.РеализацияТоваровУслугСО                    ИЛИ ЗапросЛинейный.ДокументПродажи ССЫЛКА Документ.ВозвратТоваровОтПокупателя)                    0,            ДДС.Сделка,            0,            0,            0,            0,            0,            МАКСИМУМ(ДДС.СуммаОплаты)        ИЗ        ЗапросДоп.СуммаПродаж,    Номенклатура АВТОУПОРЯДОЧИВАНИЕ
#29 by serg161
А все таки без СКД как то можно? Есть готовый отчет, формируемый построиетелем, надо то всего лишь на определенном уровне добавить один показатель и вывести по нему итоги, переписывать весь отчет очень не хочется.
#30 by serg161
А если Объединять, то как? Уже все варианты перепробовал.
#31 by serg161
И потом в запросе потом опять будет стоять СуммаОплаты в каждой номенклатурной записи и при подсчете итогово опять криво проссумируется.
#32 by serg161
Я так понимаю никто так и не решил данную проблему?
#33 by Immortal
гм..неправильно понимаешь.
#34 by Immortal
РегистрСведений.ПродажиСлужебный КАК ПродажиСлужебный            (ЗапросЛинейный.ДокументПродажи ССЫЛКА Документ.РеализацияТоваровУслуг                   ИЛИ ЗапросЛинейный.ДокументПродажи ССЫЛКА Документ.РеализацияТоваровУслугСО                   ИЛИ ЗапросЛинейный.ДокументПродажи ССЫЛКА Документ.ВозвратТоваровОтПокупателя)                СГРУППИРОВАТЬ ПО            0,            ДДС.Сделка,            0,            0,            0,            0,            0,            МАКСИМУМ(ДДС.СуммаОплаты)        ИЗ            РегистрСведений.ПродажиСлужебный КАК ПродажиСлужебный вот например здесь у тебя ошибка : ты во втором запросе пытаешься соединить записи второго запроса с 0 с записями NULL первого запроса..результат объединения конечно не будет работать так как ты хочешь
#35 by serg161
Ну так как же быть? Как проссуммировать итоги от итогов по 3-й группировке?
#36 by serg161
Не совсем понял, почему с NULL?
#37 by serg161
Откуда NULL в первом запросе?
#38 by Immortal
вернее так : потому что пустое значение ссылки(или поля ссылочного типа) в таблице NULL а не 0
#39 by serg161
Все равно не понятно, как надо то, например?
#40 by Immortal
#41 by serg161
Так ведь и так пробовал результат тот же, при объединении выводит отдельно оплаты по заказу с нулевым подразделением, и отдельно суммы по тому же заказу, но с подразделением первого запроса: ВЫБРАТЬ            РегистрСведений.ПродажиСлужебный КАК ПродажиСлужебный        (ЗапросЛинейный.ДокументПродажи ССЫЛКА Документ.РеализацияТоваровУслуг                ИЛИ ЗапросЛинейный.ДокументПродажи ССЫЛКА Документ.РеализацияТоваровУслугСО                ИЛИ ЗапросЛинейный.ДокументПродажи ССЫЛКА Документ.ВозвратТоваровОтПокупателя)            0,        0,        0,        МАКСИМУМ(ДДС.СуммаОплаты)    ИЗ
#42 by serg161
Может где то в другом ошибка? А потом даже если запросы и объединятся как хотелось не получится ли опять тупое суммирование всех детальных записей в итогах?
#43 by Immortal
ЗапросДоп.ДокументПродажи,    ЗапросДоп.Номенклатура опять ошибка - верхней в таком случае должна юыть группировка по подразделению..
#44 by Immortal
впрочем сути дела это не меняет
#45 by Immortal
так если у тебя подразделение NULL во втором запросе, нахрен по нему объединять?
#46 by serg161
Почтииии. Только теперь такая проблемка. При группировке по Заказу я должен для остальных измерений проставить МАКСИМУМ. Так? Но тогда теряется вся детализация по ДокументуПродажи и Номенклатуре(выводится ведь только Максимум)?
#47 by serg161
То есть опять тот же тупик - либо правильные итоги, либо детализация по номенклатуре.Все опять сводится к проблеме подсчета итогов по определенным уровням группировки.
#48 by serg161
Вновь поднимаю данный вопрос, т.к. решение так и не найдено. Огромная просьба, если кто знает КАК подскажите.
#49 by Freddy
Каждый уровень в итогах тупо использует детальные записи, а не результаты предыдущего... Так уж устроено...
#50 by serg161
А обойти это совсем никак? Должно же что то быть.
#51 by Freddy
что по номенклатуре должно выводиться? только количество?
#52 by serg161
По номенклатуре должно выводиться все что касается Продаж (Количество, СуммаПродаж, Рентабельность и т.д.) с итогами по всем уровням соотв., СуммаОплат в итогах должна выводится только с группировки Заказа(см. выше).
#53 by Freddy
Как я понимаю первый запрос в объединении это и есть данные по номенклатуре, а второй это оплата по заказам?
#54 by serg161
именно
#55 by Freddy
группировки колонки используются?
#56 by serg161
Нет
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям