Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
15 дек 2024, 07:55

Сумма без нижних уровней группировки СКД

Автор Абстрационист, 04 июл 2020, 11:13

0 Пользователей и 1 гость просматривают эту тему.

Абстрационист

Надо, чтобы суммирование ресурса начиналось не с нижнего уровня. Догадываюсь, что ВычислитьВыражение() - может помочь, так как имеет параметр "группировка".
Суть подробно: есть поле, которое дублируется в строках исходного запроса. Скажем, я левым соединением соединил строки ТЧ с шапками документа, тогда - поля шапки продублированы. Выше уровня шапок - есть ещё иерархия. Надо, чтобы в иерархии выше шапок - поле суммировалось. Стандартными механизмами - оно суммирует все уровни: значение получается "умноженным" на количество строк в ТЧ документа.


Пример (не мой, просто - пример на тему):

Запрос СКД получил:






...СкладДокументТоварОстаток на начало месяцаСтрока №Продано
...Склад № 1Реализация кефира № 234 от 20.10.2050Кефир без скидки100110
...Склад № 1Реализация кефира № 234 от 20.10.2050Кефир со скидкой100220
...Склад № 1Реализация кефира № 236 от 21.10.2050Кефир без скидки10015
...Склад № 8Реализация кефира № 237 от 25.10.2050Кефир7001500

Делаем отчёт СКД, где группировки:
ВсеСкладыВМире
    ВсеСкладыСтраны
        ВсеСкладыРегиона
            ВсеСкладыГорода
                Склад
                    Документ
                        СтрокаДокумента
   
Смотрим, как это выглядит с точки зрения табличной математики (для нижних трёх уровней).
Суммируем остаток, хотим получить:








ТоварОстаток на начало месяцаСкладДокумент
Кефир800
Кефир100Склад № 1
Кефир100Склад № 1Реализация кефира № 234 от 20.10.2050
Кефир100Склад № 1Реализация кефира № 236 от 21.10.2050
Кефир700Склад № 8
Кефир700Склад № 8Реализация кефира № 237 от 25.10.2050

Но, получаем:








ТоварОстаток на начало месяцаСкладДокумент
Кефир1000
Кефир300Склад № 1
Кефир200Склад № 1Реализация кефира № 234 от 20.10.2050
Кефир100Склад № 1Реализация кефира № 236 от 21.10.2050
Кефир700Склад № 8
Кефир700Склад № 8Реализация кефира № 237 от 25.10.2050


Т.е. необходимо, чтобы склады - суммировались, а группировки уровнем ниже - нет. И при хорошем решении, это не должна быть формула индивидуально для уровня "Все склады", так как выше - может быть ещё десяток уровней группировки.

LexaK

просто вам надо правильно перестроить сбор данных в запросе
ведь сумма документа это сумма сумм из Табличных частей, надо уметь именно их использовать
В этом случае у вас, все будет правильно считаться вне зависимости от группировок.
или сумму документа используйте как измерение, группируйте по ней и она не будет складываться,
или в группировке по документу используйте Максимум/Минимум
или еще как ... все это уже танцы с бубнами

или пробуйте строить отчет не СКД, произвольный отчет с макетом, уж там можно вывести все что угодно и как угодно
если помогло нажмите: Спасибо!

Теги: скд 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск