Помогите с запросом

  • Автор темы Irisha
  • Дата начала
I

Irisha

Может, опять группировок нет ?
все есть. Еще раз приложу код:

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

Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры
 
P

puh14

Лим по хорошему тоже надо в группировки.

также неплохо бы |ОбрабатыватьДокументы НеПомеченныеНаУдаление; // или Все

Запрос.Выгрузить(ТЗ);//не надо параметров, главное понять в чем проблема
 
I

Irisha

Лим по хорошему тоже надо в группировки.

также неплохо бы |ОбрабатыватьДокументы НеПомеченныеНаУдаление; // или Все

Запрос.Выгрузить(ТЗ);//не надо параметров, главное понять в чем проблема
И даже после - никаких изменений(хотя в ТЗ появилась колонка Лим: это уже радует).
 
P

puh14

Фигня.. А в периоде отчета точно есть документы этого типа?

попробуй так

|ОбрабатыватьДокументы Все;

убрать |Обрабатывать НеПомеченныеНаУдаление - это к справочникам относится
 
I

Irisha

Я исправила
|Обрабатывать НеПомеченныеНаУдаление;
на
|Обрабатывать Все;
и ничего не вышло...
Но вот стоило добавить слово "Документы" как все чудесным образом заработало!!! ;)
Огромное преогромное СПАСИБО!!!
 
I

Irisha

Хотя не все так гладко... Функция ВесНО и др. вычисляют суммарный вес независимо от контрагента, а как добиться того, чтобы для кажого клиента и вес для каждого вида отходов суммировался отдельно?
Добавить группировку по виду отходов?
 
I

Irisha

Извиняюсь, что ввожу в заблуждение... Все нормально все работает. Еще раз спасибо!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!