Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подсчет итогов типа "сумма различных"
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Система компоновки данных
Constantus
Приветствую, Форумчане!
1с8.3.6, самопис, УФ

Выводятся в отчете такие данные

МаршрутныйЛист; Вес автомобиля

№0333 - 500
№0333 - 500
№1111 - 600
№1111 - 600
№0333 - 500
№0333 - 500

Необходимо вывести итоги веса автомобиле не всех строк, а по аналогии "Количество(различные Вес)" // это как раз и раотае
Т.е. сгруппировать по Листам и вывести общий вес...

Как такое можно осуществить? Сумма(различные Вес)
pablo
Выбрать сумма(К.Вес) из (Выбрать различные Т.вес из ВашаТаблица как Т) как К
Constantus
pablo @ Сегодня, 16:03 необходимо зарегистрироваться для просмотра ссылки ,

Мне нужно итоговые данные подсчитать, в таблице результатов данные должны оставаться без группировки

_______ - 1100
№0333 - 500
№0333 - 500
№1111 - 600
№1111 - 600
№0333 - 500
№0333 - 500
pablo
Делаете мой запрос отдельным набором данных в СКД и делаете формулу своего ресурса на основании поля из моей таблицы: Поле - ВесАвтомобиля, выражение - максимум(вес), Рассчитывать по - маршрутный лист (Да, в СКД можно делать разные формулы вычисления ресурсов на разных уровнях группировки)
Constantus
pablo @ Сегодня, 16:45 необходимо зарегистрироваться для просмотра ссылки ,


Попробовал в ресурсах:

Сумма(ВычислитьВыражениеСГруппировкойМассив ("Сумма(ВесМашины)", "МаршрутныйЛист"))


не сработало

pablo
Я Вам предлагал другой вариант...
sava1
Цитата(pablo @ 30.05.19, 15:30) необходимо зарегистрироваться для просмотра ссылки
Сумма(ВычислитьВыражениеСГруппировкойМассив ("Сумма(ВесМашины)", "МаршрутныйЛист"))


Сумма(ВычислитьВыражениеСГруппировкойМассив ("Сумма(ВесМашины)" )) - для группировки Марш. Лист

Сумма(ВычислитьВыражениеСГруппировкойМассив ("Сумма(ВесМашины)", "МаршрутныйЛист")) - для вышестоящей группировки

причем для первой группировки не Сумма, а Максимум
Constantus
pablo @ Сегодня, 17:30 необходимо зарегистрироваться для просмотра ссылки ,

Я так и не понял как его применить... :-(
pablo
Пришлите текст запроса (Последнюю таблицу)
Constantus
pablo @ Вчера, 19:46 необходимо зарегистрироваться для просмотра ссылки ,

ВЫБРАТЬ
    ОтгрузочныйЛистОсновнаяКомплектация.Ссылка
ПОМЕСТИТЬ ВТ_НеДоставлены
ИЗ
    Документ.ОтгрузочныйЛист.ОсновнаяКомплектация КАК ОтгрузочныйЛистОсновнаяКомплектация
ГДЕ
    ОтгрузочныйЛистОсновнаяКомплектация.Доставлен = ЛОЖЬ
    И ОтгрузочныйЛистОсновнаяКомплектация.Ссылка.Проведен = ИСТИНА
    И ОтгрузочныйЛистОсновнаяКомплектация.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2

СГРУППИРОВАТЬ ПО
    ОтгрузочныйЛистОсновнаяКомплектация.Ссылка

ОБЪЕДИНИТЬ

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

СГРУППИРОВАТЬ ПО
    ОтгрузочныйЛистДополнительнаяКомплектация.Ссылка

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    МаршрутныйЛистЗаказы.ОтгрузочныйЛист
ИЗ
    Документ.МаршрутныйЛист.Заказы КАК МаршрутныйЛистЗаказы
ГДЕ
    МаршрутныйЛистЗаказы.Ссылка.Сформирован = ЛОЖЬ
    И МаршрутныйЛистЗаказы.ОтгрузочныйЛист.Дата МЕЖДУ &Дата1 И &Дата2

СГРУППИРОВАТЬ ПО
    МаршрутныйЛистЗаказы.ОтгрузочныйЛист
;

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    КомплектацияЗаказов.Ссылка КАК КомплектацияЗаказов,
    КомплектацияЗаказов.ТТН,
    КомплектацияЗаказов.Дата КАК ДатаКЗ,
    КомплектацияЗаказов.Вес,
    КомплектацияЗаказов.Мастер,
    КомплектацияЗаказов.Комплектовщик
ПОМЕСТИТЬ ВТ_КомплектацияЗаказов
ИЗ
    Документ.КомплектацияЗаказов КАК КомплектацияЗаказов
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    МаршрутныйЛистЗаказы.ОтгрузочныйЛист,
    МаршрутныйЛистЗаказы.Ссылка КАК МаршрутныйЛист,
    МаршрутныйЛистЗаказы.Ссылка.Сформирован,
    ДОБАВИТЬКДАТЕ(МаршрутныйЛистЗаказы.Ссылка.ДатаВыезда, ДЕНЬ, 1) КАК ДатаВыезда
ПОМЕСТИТЬ ВТ_МаршрутныеЛисты
ИЗ
    Документ.МаршрутныйЛист.Заказы КАК МаршрутныйЛистЗаказы

СГРУППИРОВАТЬ ПО
    МаршрутныйЛистЗаказы.ОтгрузочныйЛист,
    МаршрутныйЛистЗаказы.Ссылка,
    ДОБАВИТЬКДАТЕ(МаршрутныйЛистЗаказы.Ссылка.ДатаВыезда, ДЕНЬ, 1),
    МаршрутныйЛистЗаказы.Ссылка.Сформирован
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ОтгрузочныеЛисты.ОтгрузочныйЛист,
    ВТ_ОтгрузочныеЛисты.ДатаОЛ,
    ВТ_ОтгрузочныеЛисты.Подразделение,
    ВТ_ОтгрузочныеЛисты.ВесМашины,
    ВТ_ОтгрузочныеЛисты.СкладПолучатель,
    ВТ_КомплектацияЗаказов.КомплектацияЗаказов,
    ВТ_КомплектацияЗаказов.ДатаКЗ,
    ВТ_КомплектацияЗаказов.Вес,
    ВТ_КомплектацияЗаказов.Мастер,
    ВТ_КомплектацияЗаказов.Комплектовщик,
    ВТ_МаршрутныеЛисты.МаршрутныйЛист,
    ВЫБОР
        КОГДА ВТ_КомплектацияЗаказов.Вес >= 100
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК Палеты,
    ВТ_МаршрутныеЛисты.Сформирован,
    ВТ_МаршрутныеЛисты.ДатаВыезда,
    ВЫБОР
        КОГДА ВТ_МаршрутныеЛисты.Сформирован
            ТОГДА ВТ_МаршрутныеЛисты.ДатаВыезда
        ИНАЧЕ ДАТАВРЕМЯ(2100, 12, 31, 23, 59, 59)
    КОНЕЦ КАК ДатаОтбора,
    ВТ_ОтгрузочныеЛисты.Комментарий
ИЗ
    ВТ_ОтгрузочныеЛисты КАК ВТ_ОтгрузочныеЛисты
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_КомплектацияЗаказов КАК ВТ_КомплектацияЗаказов
        ПО ВТ_ОтгрузочныеЛисты.ОтгрузочныйЛист = ВТ_КомплектацияЗаказов.ТТН
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_МаршрутныеЛисты КАК ВТ_МаршрутныеЛисты
        ПО ВТ_ОтгрузочныеЛисты.ОтгрузочныйЛист = ВТ_МаршрутныеЛисты.ОтгрузочныйЛист


ВТ_ОтгрузочныеЛисты.ВесМашины, - не по маршрутному листу, а по Отгрузочному листу

В настройках отчета СКД - одна группировка по Подразделению
pablo
 //////////////////////////////////////////////////////////////////////////////// 
ВЫБРАТЬ     ВТ_ОтгрузочныеЛисты.ОтгрузочныйЛист,
     ВТ_ОтгрузочныеЛисты.ДатаОЛ,
     ВТ_ОтгрузочныеЛисты.Подразделение,
     ВТ_ОтгрузочныеЛисты.ВесМашины,
     ВТ_ОтгрузочныеЛисты.СкладПолучатель,
     ВТ_КомплектацияЗаказов.КомплектацияЗаказов,
     ВТ_КомплектацияЗаказов.ДатаКЗ,
     ВТ_КомплектацияЗаказов.Вес,
     ВТ_КомплектацияЗаказов.Мастер,
     ВТ_КомплектацияЗаказов.Комплектовщик,
     ВТ_МаршрутныеЛисты.МаршрутныйЛист,
     ВЫБОР         КОГДА ВТ_КомплектацияЗаказов.Вес >= 100             ТОГДА 1         ИНАЧЕ 0     КОНЕЦ КАК Палеты,
     ВТ_МаршрутныеЛисты.Сформирован,
     ВТ_МаршрутныеЛисты.ДатаВыезда,
     ВЫБОР         КОГДА ВТ_МаршрутныеЛисты.Сформирован             ТОГДА ВТ_МаршрутныеЛисты.ДатаВыезда         ИНАЧЕ ДАТАВРЕМЯ(2100, 12, 31, 23, 59, 59)     КОНЕЦ КАК ДатаОтбора,
     ВТ_ОтгрузочныеЛисты.Комментарий
ПОМЕСТИТЬ Предпоследняя
ИЗ     ВТ_ОтгрузочныеЛисты КАК ВТ_ОтгрузочныеЛисты
         ЛЕВОЕ СОЕДИНЕНИЕ ВТ_КомплектацияЗаказов КАК ВТ_КомплектацияЗаказов
         ПО ВТ_ОтгрузочныеЛисты.ОтгрузочныйЛист = ВТ_КомплектацияЗаказов.ТТН
         ЛЕВОЕ СОЕДИНЕНИЕ ВТ_МаршрутныеЛисты КАК ВТ_МаршрутныеЛисты
         ПО ВТ_ОтгрузочныеЛисты.ОтгрузочныйЛист = ВТ_МаршрутныеЛисты.ОтгрузочныйЛист
;
Выбрать К.МаршрутныйЛист,Сумма(к.ВесМашины) как ВесИтог Поместить Веса
из
(Выбрать различные т.МаршрутныйЛист, т.ВесМашины из Предпоследняя как Т) как К
Сгруппировать по к.МаршрутныйЛист
;
Выбрать * из предпоследняя как предпоследняя внутреннее соединение Веса как Веса по предпоследняя.МаршрутныйЛист=Веса.МаршрутныйЛист
Как-то так на скорую руку. И потом в СКД делаете ресурс по полю ВесМашины без указания "Рассчитывать по" и еще один ресурс по по полю весМашины, как я ранее писал.
Constantus
pablo @ Сегодня, 14:20 необходимо зарегистрироваться для просмотра ссылки ,


 ! 

необходимо зарегистрироваться для просмотра ссылки: 8
 


В последней колонке и есть новое, внедренное Вами.

ВЫБРАТЬ
    СУММА(К.ВесМашины) КАК ВесИтог,
    К.ОтгрузочныйЛист
ПОМЕСТИТЬ Веса
ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        Т.ВесМашины КАК ВесМашины,
        Т.ОтгрузочныйЛист КАК ОтгрузочныйЛист
    ИЗ
        Предпоследняя КАК Т) КАК К

СГРУППИРОВАТЬ ПО
    К.ОтгрузочныйЛист
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    предпоследняя.ОтгрузочныйЛист,
    предпоследняя.ДатаОЛ,
    предпоследняя.Подразделение,
    предпоследняя.ВесМашины,
    предпоследняя.СкладПолучатель,
    предпоследняя.КомплектацияЗаказов,
    предпоследняя.ДатаКЗ,
    предпоследняя.Вес,
    предпоследняя.Мастер,
    предпоследняя.Комплектовщик,
    предпоследняя.МаршрутныйЛист,
    предпоследняя.Палеты,
    предпоследняя.Сформирован,
    предпоследняя.ДатаВыезда,
    предпоследняя.ДатаОтбора,
    предпоследняя.Комментарий,
    Веса.ВесИтог
ИЗ
    Предпоследняя КАК предпоследняя
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Веса КАК Веса
        ПО предпоследняя.ОтгрузочныйЛист = Веса.ОтгрузочныйЛист


Здесь группировка идет по подразделению
Constantus
нужно было делать группировку по Подразделению, а не по листам

Но возникла следующая ситуация. Сделал итог по Макисимуму, но и общий итог тоже вывел, как максимальный из всех итогов


Если максимальное значение в строках отчета я смогу убрать условным форматированием, то как вывести итоговое значение по сумме всех промежуточных итогов?

+Подразделение01 - 1000
+Подразделение02 - 1500
+Подразделение03 - 900
+Подразделение04 - 800
Итого______________1500


pablo
Выбрать Сумма(д.ВесИтог)  поместить ОбщийИтог из Веса как Д
Constantus
pablo @ Сегодня, 18:29 необходимо зарегистрироваться для просмотра ссылки ,

И куда это вставить?
pablo
ВЫБРАТЬ     
СУММА(К.ВесМашины) КАК ВесИтог,
     К.ОтгрузочныйЛист
ПОМЕСТИТЬ Веса ИЗ
     (ВЫБРАТЬ РАЗЛИЧНЫЕ
         Т.ВесМашины КАК ВесМашины,
         Т.ОтгрузочныйЛист КАК ОтгрузочныйЛист
     ИЗ
         Предпоследняя КАК Т) КАК К
  СГРУППИРОВАТЬ ПО     К.ОтгрузочныйЛист;
         Выбрать Сумма(д.ВесИтог)как ВесПоследний  поместить ОбщийИтог из Веса как Д; ////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
     предпоследняя.ОтгрузочныйЛист,
     предпоследняя.ДатаОЛ,
     предпоследняя.Подразделение,
     предпоследняя.ВесМашины,
     предпоследняя.СкладПолучатель,
     предпоследняя.КомплектацияЗаказов,
     предпоследняя.ДатаКЗ,
     предпоследняя.Вес,
     предпоследняя.Мастер,
     предпоследняя.Комплектовщик,
     предпоследняя.МаршрутныйЛист,
     предпоследняя.Палеты,
     предпоследняя.Сформирован,
     предпоследняя.ДатаВыезда,
     предпоследняя.ДатаОтбора,
     предпоследняя.Комментарий,ОбщийИтог.ВесПоследний,
     Веса.ВесИтог ИЗ
     Предпоследняя КАК предпоследняя
         ВНУТРЕННЕЕ СОЕДИНЕНИЕ Веса КАК Веса
         ПО предпоследняя.ОтгрузочныйЛист = Веса.ОтгрузочныйЛист
,ОбщийИтог
Constantus
pablo @ Вчера, 18:55 необходимо зарегистрироваться для просмотра ссылки ,

Благодарю есчо раз! (еще ставить лайки могём?)

Общий итог подсчитался, но он выводится во всех детальных полях, но никак не хочет выводится внизу в общем итоге.

В ресурсах поставил Максимум(ВесПоследний)... Все итоговые поля пустые, особенно последняя строка общего итога. Что не так я опять недокрутил?

Судя по всему, т.к. у меня идет группировка отчета по подразделению, а при подсчете Последнего веса не участвует поле подразделение, то и в итоговых полях эта финальная сумма тоже не участвует...

Может есть возможность этот итоговый вес вывести в отдельную строку под отчетом? Ну или как вообще показать итоговый вес не в каждой строке, а отдельно внизу под предыдущим весам по подразделениям?
pablo
И потом в СКД делаете ресурс по полю ВесМашины c "Рассчитывать по"-Общий итог и формула - Максимум(ВесИтог). Само поле ВесИтог в отчет не выводите.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.