Имя: Пароль:
1C
1C 7.7
v7: Помогите с Запросом
0 Gendos
 
24.04.12
17:57
Перем Запрос, ТекстЗапроса, Таб;
   //Создание объекта типа Запрос
   глПроверкаДаты(Дата1,Дата2);
   
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |ПЕРИОД С Дата1 По Дата2;
   |Обрабатывать НеПомеченныеНаУдаление;
   |ОбрабатыватьДокументы Проведенные;
   |Док = Документ.РасходнаяНакладная.ТекущийДокумент, Документ.Обмен.ТекущийДокумент, Документ.ПриходнаяНакладная.ТекущийДокумент;
   |Склад = Документ.РасходнаяНакладная.Склад, Документ.Обмен.Склад, Документ.ПриходнаяНакладная.Склад;
   |Товар = Документ.РасходнаяНакладная.Товар, Документ.Обмен.Товар, Документ.ПриходнаяНакладная.Товар;
   |Кол = Документ.РасходнаяНакладная.Количество, Документ.Обмен.Количество, Документ.ПриходнаяНакладная.Количество;
   |Цена = Документ.РасходнаяНакладная.ЦенаСНДС, Документ.Обмен.ЦенаСНДС, Документ.ПриходнаяНакладная.ЦенаСНДС;
   |Скидка = Документ.РасходнаяНакладная.СуммаСкидки, Документ.Обмен.СуммаСкидки, Документ.ПриходнаяНакладная.СуммаСкидки;
   |СуммаСНДС = Документ.РасходнаяНакладная.СуммаСНДС, Документ.Обмен.СуммаСНДС, Документ.ПриходнаяНакладная.СуммаСНДС;
   |ВидОперации = Документ.РасходнаяНакладная.ВидОперации, Документ.Обмен.ВидРасчетаНБ,Документ.ПриходнаяНакладная.ВидОперации;
   |Дисконт = Документ.РасходнаяНакладная.Дисконт, Документ.Обмен.Дисконт, Документ.ПриходнаяНакладная.Дисконт;
   |Группировка Док упорядочить по Док.ДатаДок;
   |Группировка Товар без групп;
   |Условие(Дисконт = ВыбДисконт.Дисконт.Наименование);
   |Без Итогов;
   |"//}}
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;

   Ном = 1;
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Сформировать");
   Таб.ВывестиСекцию("Заголовок");
   
   Состояние("Заполнение выходной таблицы...");
   
   Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
   
   Пока Запрос.Группировка("Док") = 1 Цикл
   Пока Запрос.Группировка("Товар") = 1 Цикл
       Ном = Ном + 1;
           Таб.ВывестиСекцию("Расход");
       КонецЦикла;
       Таб.ВывестиСекцию("ИтогоПоДок");
   КонецЦикла;
1 Gendos
 
24.04.12
17:58
Пока Запрос.Группировка("Док") = 1 Цикл

В цыкл та и не входит не пойму почему??
В консоли запросов отрабатывает все на ура
2 Он
 
24.04.12
17:58
и?
3 Gendos
 
24.04.12
18:03
а надо пройтись по групировкам и согласно ВидОперации выполнить действия
4 КонецЦикла
 
24.04.12
18:05
А если
|Условие(Дисконт = ВыбДисконт.Дисконт);
или
|Условие(Дисконт = ВыбДисконт);
?
5 Gendos
 
24.04.12
18:06
если выгружаю все в таблицуЗначений то все выдно

Запрос.Выгрузить(тт);  
То есть с условием всё гуд

ну ща попробуем на всяк случай
6 КонецЦикла
 
24.04.12
18:07
(5) Делай конструктором запросов
7 Gendos
 
24.04.12
18:43
решение вопроса
надо удалить секцию
   |Без Итогов;
ибо она подрузумевает не более одной групировки
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший