I
Irisha
все есть. Еще раз приложу код:Может, опять группировок нет ?
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб, Счетчик;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|Обрабатывать НеПомеченныеНаУдаление;
|Утилизация = Документ.РаботыПоУтилизации.ТекущийДокумент;
|Клиент = Документ.РаботыПоУтилизации.Клиент.Наименование;
|УНН = Документ.РаботыПоУтилизации.УНН;
|КО = Документ.РаботыПоУтилизации.КлассОпасности;
|Вес = Документ.РаботыПоУтилизации.Вес;
|Лим = Документ.РаботыПоУтилизации.Лимит;
|Функция ВесНО = Сумма(Вес) когда (КО=Перечисление.КлассОпасности.Неопасные);
|Функция Вес4к = Сумма(Вес) когда (КО=Перечисление.КлассОпасности.Четвертый) ;
|Функция Вес3к = Сумма(Вес) когда (КО=Перечисление.КлассОпасности.Третий);
|Функция Вес2к = Сумма(Вес) когда (КО=Перечисление.КлассОпасности.Второй);
|Группировка Клиент;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Счетчик = 0; Лим = 0;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Свод");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Шапка");
Состояние("Заполнение выходной таблицы...");
Пока Запрос.Группировка(1) = 1 Цикл
Счетчик=Счетчик+1;
Если Запрос.КО=Перечисление.КлассОпасности.Неопасные тогда
Если Запрос.ВесНО > Запрос.Лим тогда
Таб.ВывестиСекцию("СтрокаНО");
КонецЕсли;
КонецЕсли;
Если Запрос.КО=Перечисление.КлассОпасности.Четвертый тогда
Если Запрос.Вес4к> Запрос.Лим тогда
Таб.ВывестиСекцию("Строка4к");
КонецЕсли;
КонецЕсли;
Если Запрос.КО=Перечисление.КлассОпасности.Третий тогда
Если Запрос.Вес3к>Запрос.Лим тогда
Таб.ВывестиСекцию("Строка3к");
КонецЕсли;
КонецЕсли;
КонецЦикла;
//ТЗ=СоздатьОбъект("ТаблицаЗначений");
Запрос.Выгрузить(ТЗ,0,0);
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры