отчет по закупкам

  • Автор темы -
  • Дата начала
Статус
Закрыто для дальнейших ответов.

Гость
#1
Всем привет. Вроде все нормально, только почему-то группировки не работают. Запрос.Группировка(1) выдает 0 и Запрос.Группировка(2) выдает 0. Не понятно почему?


Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос

Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)

|Период с ВыбНачПериода по ВыбКонПериода;
|Обрабатывать НеПомеченныеНаУдаление;
|Фирма = Регистр.ПартииНаличие.Фирма;
|ТекущийДокумент = Регистр.ПартииНаличие.ТекущийДокумент;
|Номенклатура = Регистр.ПартииНаличие.Номенклатура;
//|Единица = Регистр.ПартииНаличие.Номенклатура.ОсновнаяЕдиница;

// |Единица = Регистр.ПартииНаличие.ТекущийДокумент.Единица;

|Количество = Регистр.ПартииНаличие.Количество;
|СуммаРуб = Регистр.ПартииНаличие.СуммаРуб;
|КодОперации = Регистр.ПартииНаличие.КодОперации;
|Поставщик = Регистр.ПартииНаличие.Партия.Поставщик;
|Функция КоличествоПриход = Приход(Количество) когда(КодОперации = глКО.Закупка);
|Функция СуммаРубПриход = Приход(СуммаРуб) когда(КодОперации = глКО.Закупка);
|Функция КоличествоРасход = Расход(Количество) когда(КодОперации = глКО.ВозвратПоставщику);
|Функция СуммаРубРасход = Расход(СуммаРуб) когда(КодОперации = глКО.ВозвратПоставщику);
|Группировка Поставщик без групп;
|Группировка ТекущийДокумент;
//|Группировка Номенклатура без групп;

|Условие(Фирма в ВыбФирма);
|Условие(Поставщик = ВыбПоставщик);
|"//}}ЗАПРОС

;
// Авто = ВыбАвтомашина

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса

Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"

Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
ВесИтог = 0;
СуммаИтог = 0;
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Поставщик

ВесПост = 0;
СуммаПост = 0;
//Таб.ВывестиСекцию("Поставщик");

Поставщик = Запрос.Поставщик;
Пока Запрос.Группировка(2) = 1 Цикл
//Пока Запрос.Группировка(3) = 1 Цикл

Вес = Окр(Запрос.ТекущийДокумент.Единица.Вес*Запрос.КоличествоПриход - Запрос.ТекущийДокумент.Единица.Вес*Запрос.КоличествоРасход,3);
ВесПост = ВесПост + Вес;
//КонецЦикла;

КонецЦикла;
СуммаПост = Запрос.СуммаРубПриход - Запрос.СуммаРубРасход;
ВесИтог = ВесИтог + ВесПост;
Таб.ВывестиСекцию("Поставщик");
КонецЦикла;
// Заполнение полей "Итого"

// ВесИтог = ВесИтог

СуммаИтог = Запрос.СуммаРубПриход - Запрос.СуммаРубРасход;
Таб.ВывестиСекцию("Итого");
// Вывод заполненной формы

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

Zab

Well-Known Member
07.08.2006
583
0
Менск
#2
Упрости запрос до минимума. Убедись, что хватает данных, приходи снова. Знаешь, мне хватает по работе исходников. Думаешь я стану читать твои 2 страницы? (и скорее всего не только я)
 
Статус
Закрыто для дальнейших ответов.