Вход | Регистрация
 

Странные итоги по группам.

Странные итоги по группам.
Я
   Гений 1С
 
17.06.20 - 16:25
Использую примитивный запрос:

    //Планы продаж
    З.Текст =
    "ВЫБРАТЬ
    |    Т.Номенклатура КАК Номенклатура,
    |    СУММА(Т.Стоимость) КАК Значение
    |ИЗ
    |    РегистрНакопления.ПланыПродаж КАК Т
    |ГДЕ
    |    Т.Подразделение.ОсновнойСклад В(&МассивСкладов)
    |    И Т.Период МЕЖДУ &Дата1 И &Дата2
    |    И Т.Сценарий = &Сценарий
    |
    |СГРУППИРОВАТЬ ПО
    |    Т.Номенклатура
    |ИТОГИ ПО
    |    ОБЩИЕ,
    |    Номенклатура  ТОЛЬКО ИЕРАРХИЯ";
    З.УстановитьПараметр("Сценарий", Контекст.Сценарий);
    Данные.ТоварооборотПлан = З.Выполнить().Выгрузить();

Но в результате его вижу такие итоги:
АВТОМОБИЛЬНЫЕ ТОВАРЫ
--АВТОХИМИЯ
----АРХИВ
------т1
------т2
--АВТОХИМИЯ
------т3
------т4

Так вот, в первой автохимии правильная сумма итогов по всей автохимии (т1+т2+т3+т4).
А во второй - только по тем товарам, что входят в группу АВТОХИМИЯ непосредственно (т3+т4).
Как мне исключить эти лишние итоги?
Мне нужен чистый итог по группе.
Иначе у меня или дублируются строки или если я сворачиваю, неправильные (завышенные итоги получаются). Как быть?
Пока вижу только только бежать с начала таблицы и удалять более поздние встречающиеся итоги с таким же значением Номенклатура. Иначе никак?

Это УТ 10.3, если че. Платформа 8.3.14.1854
   Гений 1С
 
1 - 17.06.20 - 16:36
Короче, котаны, некогда ждать ваших умных мыслей.
Сделал по рабоче-крестьянски, благо таблицы там не большие итоговые.
Если че умное скажете, потом переделаю.
А то клиент ждет.

Функция УбратьЛишниеИтоги(ТЗ) Экспорт
    //Странные итоги по группам.
    Сч = 1; Всего = ТЗ.Количество();
    Соо = Новый Соответствие();
    КУдалению = Новый Массив();
    Для Каждого Строка ИЗ ТЗ Цикл
        Если Соо[Строка.Номенклатура] <> Неопределено Тогда
            КУдалению.Добавить(Строка);
        Иначе
            Соо.Вставить(Строка.Номенклатура, истина);
        КонецЕсли;
    КонецЦикла;
    
    Для Каждого Строка ИЗ КУдалению Цикл
        ТЗ.Удалить(Строка);
    КонецЦикла;
    
КонецФункции
   Ёпрст
 
2 - 17.06.20 - 23:37
(0) выкинуть группировку,для начала и функцию сумма и в строку итогов воткнуть твою сумму
   Ёпрст
 
3 - 17.06.20 - 23:40
тут вот, с картинками..почитай
https://helpme1c.ru/yazyk-zaprosov-1s-8-3-dlya-nachinayushhix-programmistov-itogi
   Гений 1С
 
4 - 18.06.20 - 07:49
(3) зачем давать ссылку на банальные вещи. Я почитал, но ничего не нашел о моей проблеме.
(2) Хорошо, я попробую, но думаю результат будет идентичным. Ибо сначала происходит группировка, потом итоги.
Получается, что по сути таблица с колонками Номенклатура - Значение уже сгруппированная потом итожится.
От перемены мест слагаемых сумма не меняется. Думаю, так работает итог по иерархии в 1С. Скорее всего косяк останется.
   Ёпрст
 
5 - 18.06.20 - 08:20
(4) ты не понял, у тебя нет суммы в итогах.. ты смотришь значение группировки, а не итоги..
   Ёпрст
 
6 - 18.06.20 - 08:20
отсюда и значения "не те"
   Гений 1С
 
7 - 18.06.20 - 10:22
(6) ладно, экспериментировать не буду, может и так. хз...

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.