Приветствую, Форумчане!
1с8.3.6, самопис, УФ
Выводятся в отчете такие данные
МаршрутныйЛист; Вес автомобиля
№0333 - 500
№0333 - 500
№1111 - 600
№1111 - 600
№0333 - 500
№0333 - 500
Необходимо вывести итоги веса автомобиле не всех строк, а по аналогии "Количество(различные Вес)" // это как раз и раотае
Т.е. сгруппировать по Листам и вывести общий вес...
Как такое можно осуществить? Сумма(различные Вес)
Выбрать сумма(К.Вес) из (Выбрать различные Т.вес из ВашаТаблица как Т) как К
pablo @ Сегодня, 16:03
,
Мне нужно итоговые данные подсчитать, в таблице результатов данные должны оставаться без группировки
_______ - 1100
№0333 - 500
№0333 - 500
№1111 - 600
№1111 - 600
№0333 - 500
№0333 - 500
Делаете мой запрос отдельным набором данных в СКД и делаете формулу своего ресурса на основании поля из моей таблицы: Поле - ВесАвтомобиля, выражение - максимум(вес), Рассчитывать по - маршрутный лист (Да, в СКД можно делать разные формулы вычисления ресурсов на разных уровнях группировки)
pablo @ Сегодня, 16:45
,
Попробовал в ресурсах:
Сумма(ВычислитьВыражениеСГруппировкойМассив ("Сумма(ВесМашины)", "МаршрутныйЛист"))
Я Вам предлагал другой вариант...
Пришлите текст запроса (Последнюю таблицу)
ВЫБРАТЬ
ОтгрузочныйЛистОсновнаяКомплектация.Ссылка
ПОМЕСТИТЬ ВТ_НеДоставлены
ИЗ
Документ.ОтгрузочныйЛист.ОсновнаяКомплектация КАК ОтгрузочныйЛистОсновнаяКомплектация
ГДЕ
ОтгрузочныйЛистОсновнаяКомплектация.Доставлен = ЛОЖЬ
И ОтгрузочныйЛистОсновнаяКомплектация.Ссылка.Проведен = ИСТИНА
И ОтгрузочныйЛистОсновнаяКомплектация.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
СГРУППИРОВАТЬ ПО
ОтгрузочныйЛистОсновнаяКомплектация.Ссылка
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ОтгрузочныйЛистДополнительнаяКомплектация.Ссылка
ИЗ
Документ.ОтгрузочныйЛист.ДополнительнаяКомплектация КАК ОтгрузочныйЛистДополнительнаяКомплектация
ГДЕ
ОтгрузочныйЛистДополнительнаяКомплектация.Ссылка.Проведен = ИСТИНА
И ОтгрузочныйЛистДополнительнаяКомплектация.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
И ОтгрузочныйЛистДополнительнаяКомплектация.Изготовлен = ЛОЖЬ
СГРУППИРОВАТЬ ПО
ОтгрузочныйЛистДополнительнаяКомплектация.Ссылка
ОБЪЕДИНИТЬ
ВЫБРАТЬ
МаршрутныйЛистЗаказы.ОтгрузочныйЛист
ИЗ
Документ.МаршрутныйЛист.Заказы КАК МаршрутныйЛистЗаказы
ГДЕ
МаршрутныйЛистЗаказы.Ссылка.Сформирован = ЛОЖЬ
И МаршрутныйЛистЗаказы.ОтгрузочныйЛист.Дата МЕЖДУ &Дата1 И &Дата2
СГРУППИРОВАТЬ ПО
МаршрутныйЛистЗаказы.ОтгрузочныйЛист
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ОтгрузочныйЛист.Дата КАК ДатаОЛ,
ОтгрузочныйЛист.Подразделение,
ОтгрузочныйЛист.Ссылка КАК ОтгрузочныйЛист,
ОтгрузочныйЛист.ВесМашины,
ОтгрузочныйЛист.СкладПолучатель,
ОтгрузочныйЛист.Комментарий
ПОМЕСТИТЬ ВТ_ОтгрузочныеЛисты
ИЗ
Документ.ОтгрузочныйЛист КАК ОтгрузочныйЛист
ГДЕ
ОтгрузочныйЛист.Проведен = ИСТИНА
И ОтгрузочныйЛист.ПометкаУдаления = ЛОЖЬ
И ОтгрузочныйЛист.Дата МЕЖДУ &Дата1 И &Дата2
И ОтгрузочныйЛист.Ссылка В
(ВЫБРАТЬ
ВТ_НеДоставлены.Ссылка
ИЗ
ВТ_НеДоставлены КАК ВТ_НеДоставлены)
И ОтгрузочныйЛист.ПоступлениеИзделийВПодразделение = ЗНАЧЕНИЕ(Документ.ПоступлениеИзделийВПодразделение.ПустаяСсылка)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КомплектацияЗаказов.Ссылка КАК КомплектацияЗаказов,
КомплектацияЗаказов.ТТН,
КомплектацияЗаказов.Дата КАК ДатаКЗ,
КомплектацияЗаказов.Вес,
КомплектацияЗаказов.Мастер,
КомплектацияЗаказов.Комплектовщик
ПОМЕСТИТЬ ВТ_КомплектацияЗаказов
ИЗ
Документ.КомплектацияЗаказов КАК КомплектацияЗаказов
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
МаршрутныйЛистЗаказы.ОтгрузочныйЛист,
МаршрутныйЛистЗаказы.Ссылка КАК МаршрутныйЛист,
МаршрутныйЛистЗаказы.Ссылка.Сформирован,
ДОБАВИТЬКДАТЕ(МаршрутныйЛистЗаказы.Ссылка.ДатаВыезда, ДЕНЬ, 1) КАК ДатаВыезда
ПОМЕСТИТЬ ВТ_МаршрутныеЛисты
ИЗ
Документ.МаршрутныйЛист.Заказы КАК МаршрутныйЛистЗаказы
СГРУППИРОВАТЬ ПО
МаршрутныйЛистЗаказы.ОтгрузочныйЛист,
МаршрутныйЛистЗаказы.Ссылка,
ДОБАВИТЬКДАТЕ(МаршрутныйЛистЗаказы.Ссылка.ДатаВыезда, ДЕНЬ, 1),
МаршрутныйЛистЗаказы.Ссылка.Сформирован
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_ОтгрузочныеЛисты.ОтгрузочныйЛист,
ВТ_ОтгрузочныеЛисты.ДатаОЛ,
ВТ_ОтгрузочныеЛисты.Подразделение,
ВТ_ОтгрузочныеЛисты.ВесМашины,
ВТ_ОтгрузочныеЛисты.СкладПолучатель,
ВТ_КомплектацияЗаказов.КомплектацияЗаказов,
ВТ_КомплектацияЗаказов.ДатаКЗ,
ВТ_КомплектацияЗаказов.Вес,
ВТ_КомплектацияЗаказов.Мастер,
ВТ_КомплектацияЗаказов.Комплектовщик,
ВТ_МаршрутныеЛисты.МаршрутныйЛист,
ВЫБОР
КОГДА ВТ_КомплектацияЗаказов.Вес >= 100
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК Палеты,
ВТ_МаршрутныеЛисты.Сформирован,
ВТ_МаршрутныеЛисты.ДатаВыезда,
ВЫБОР
КОГДА ВТ_МаршрутныеЛисты.Сформирован
ТОГДА ВТ_МаршрутныеЛисты.ДатаВыезда
ИНАЧЕ ДАТАВРЕМЯ(2100, 12, 31, 23, 59, 59)
КОНЕЦ КАК ДатаОтбора,
ВТ_ОтгрузочныеЛисты.Комментарий
ИЗ
ВТ_ОтгрузочныеЛисты КАК ВТ_ОтгрузочныеЛисты
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_КомплектацияЗаказов КАК ВТ_КомплектацияЗаказов
ПО ВТ_ОтгрузочныеЛисты.ОтгрузочныйЛист = ВТ_КомплектацияЗаказов.ТТН
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_МаршрутныеЛисты КАК ВТ_МаршрутныеЛисты
ПО ВТ_ОтгрузочныеЛисты.ОтгрузочныйЛист = ВТ_МаршрутныеЛисты.ОтгрузочныйЛист
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ВТ_ОтгрузочныеЛисты.ОтгрузочныйЛист,
ВТ_ОтгрузочныеЛисты.ДатаОЛ,
ВТ_ОтгрузочныеЛисты.Подразделение,
ВТ_ОтгрузочныеЛисты.ВесМашины,
ВТ_ОтгрузочныеЛисты.СкладПолучатель,
ВТ_КомплектацияЗаказов.КомплектацияЗаказов,
ВТ_КомплектацияЗаказов.ДатаКЗ,
ВТ_КомплектацияЗаказов.Вес,
ВТ_КомплектацияЗаказов.Мастер,
ВТ_КомплектацияЗаказов.Комплектовщик,
ВТ_МаршрутныеЛисты.МаршрутныйЛист,
ВЫБОР КОГДА ВТ_КомплектацияЗаказов.Вес >= 100 ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК Палеты,
ВТ_МаршрутныеЛисты.Сформирован,
ВТ_МаршрутныеЛисты.ДатаВыезда,
ВЫБОР КОГДА ВТ_МаршрутныеЛисты.Сформирован ТОГДА ВТ_МаршрутныеЛисты.ДатаВыезда ИНАЧЕ ДАТАВРЕМЯ(2100, 12, 31, 23, 59, 59) КОНЕЦ КАК ДатаОтбора,
ВТ_ОтгрузочныеЛисты.Комментарий
ПОМЕСТИТЬ Предпоследняя
ИЗ ВТ_ОтгрузочныеЛисты КАК ВТ_ОтгрузочныеЛисты
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_КомплектацияЗаказов КАК ВТ_КомплектацияЗаказов
ПО ВТ_ОтгрузочныеЛисты.ОтгрузочныйЛист = ВТ_КомплектацияЗаказов.ТТН
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_МаршрутныеЛисты КАК ВТ_МаршрутныеЛисты
ПО ВТ_ОтгрузочныеЛисты.ОтгрузочныйЛист = ВТ_МаршрутныеЛисты.ОтгрузочныйЛист
;
Выбрать К.МаршрутныйЛист,Сумма(к.ВесМашины) как ВесИтог Поместить Веса
из
(Выбрать различные т.МаршрутныйЛист, т.ВесМашины из Предпоследняя как Т) как К
Сгруппировать по к.МаршрутныйЛист
;
Выбрать * из предпоследняя как предпоследняя внутреннее соединение Веса как Веса по предпоследняя.МаршрутныйЛист=Веса.МаршрутныйЛист
Как-то так на скорую руку. И потом в СКД делаете ресурс по полю ВесМашины без указания "Рассчитывать по" и еще один ресурс по по полю весМашины, как я ранее писал.
! | http://pro1c.org.ua/index.php?act=announce&id=2: 8 |
ВЫБРАТЬ
СУММА(К.ВесМашины) КАК ВесИтог,
К.ОтгрузочныйЛист
ПОМЕСТИТЬ Веса
ИЗ
(ВЫБРАТЬ РАЗЛИЧНЫЕ
Т.ВесМашины КАК ВесМашины,
Т.ОтгрузочныйЛист КАК ОтгрузочныйЛист
ИЗ
Предпоследняя КАК Т) КАК К
СГРУППИРОВАТЬ ПО
К.ОтгрузочныйЛист
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
предпоследняя.ОтгрузочныйЛист,
предпоследняя.ДатаОЛ,
предпоследняя.Подразделение,
предпоследняя.ВесМашины,
предпоследняя.СкладПолучатель,
предпоследняя.КомплектацияЗаказов,
предпоследняя.ДатаКЗ,
предпоследняя.Вес,
предпоследняя.Мастер,
предпоследняя.Комплектовщик,
предпоследняя.МаршрутныйЛист,
предпоследняя.Палеты,
предпоследняя.Сформирован,
предпоследняя.ДатаВыезда,
предпоследняя.ДатаОтбора,
предпоследняя.Комментарий,
Веса.ВесИтог
ИЗ
Предпоследняя КАК предпоследняя
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Веса КАК Веса
ПО предпоследняя.ОтгрузочныйЛист = Веса.ОтгрузочныйЛист
нужно было делать группировку по Подразделению, а не по листам
Но возникла следующая ситуация. Сделал итог по Макисимуму, но и общий итог тоже вывел, как максимальный из всех итогов
Если максимальное значение в строках отчета я смогу убрать условным форматированием, то как вывести итоговое значение по сумме всех промежуточных итогов?
+Подразделение01 - 1000
+Подразделение02 - 1500
+Подразделение03 - 900
+Подразделение04 - 800
Итого______________1500
Выбрать Сумма(д.ВесИтог) поместить ОбщийИтог из Веса как Д
ВЫБРАТЬ
СУММА(К.ВесМашины) КАК ВесИтог,
К.ОтгрузочныйЛист
ПОМЕСТИТЬ Веса ИЗ
(ВЫБРАТЬ РАЗЛИЧНЫЕ
Т.ВесМашины КАК ВесМашины,
Т.ОтгрузочныйЛист КАК ОтгрузочныйЛист
ИЗ
Предпоследняя КАК Т) КАК К
СГРУППИРОВАТЬ ПО К.ОтгрузочныйЛист;
Выбрать Сумма(д.ВесИтог)как ВесПоследний поместить ОбщийИтог из Веса как Д; ////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
предпоследняя.ОтгрузочныйЛист,
предпоследняя.ДатаОЛ,
предпоследняя.Подразделение,
предпоследняя.ВесМашины,
предпоследняя.СкладПолучатель,
предпоследняя.КомплектацияЗаказов,
предпоследняя.ДатаКЗ,
предпоследняя.Вес,
предпоследняя.Мастер,
предпоследняя.Комплектовщик,
предпоследняя.МаршрутныйЛист,
предпоследняя.Палеты,
предпоследняя.Сформирован,
предпоследняя.ДатаВыезда,
предпоследняя.ДатаОтбора,
предпоследняя.Комментарий,ОбщийИтог.ВесПоследний,
Веса.ВесИтог ИЗ
Предпоследняя КАК предпоследняя
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Веса КАК Веса
ПО предпоследняя.ОтгрузочныйЛист = Веса.ОтгрузочныйЛист
,ОбщийИтог
pablo @ Вчера, 18:55
,
Благодарю есчо раз! (еще ставить лайки могём?)
Общий итог подсчитался, но он выводится во всех детальных полях, но никак не хочет выводится внизу в общем итоге.
В ресурсах поставил Максимум(ВесПоследний)... Все итоговые поля пустые, особенно последняя строка общего итога. Что не так я опять недокрутил?
Судя по всему, т.к. у меня идет группировка отчета по подразделению, а при подсчете Последнего веса не участвует поле подразделение, то и в итоговых полях эта финальная сумма тоже не участвует...
Может есть возможность этот итоговый вес вывести в отдельную строку под отчетом? Ну или как вообще показать итоговый вес не в каждой строке, а отдельно внизу под предыдущим весам по подразделениям?
И потом в СКД делаете ресурс по полю ВесМашины c "Рассчитывать по"-Общий итог и формула - Максимум(ВесИтог). Само поле ВесИтог в отчет не выводите.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua