Вход | Регистрация

1С:Предприятие ::

Метки:ТиС

v7: Подскажите как в 7.7 обойти запрос по группировкам

Я
   Mime
 
18.12.07 - 15:32
Есть запрос 
ТекстЗапроса = 
"//{{ЗАПРОС(Сформировать)
 
|Период С {ДатаНачала} По {ДатаНачала};
|Номенклатура=Register.ОстаткиТоваров.Товар;
|Организация=Register.ОстаткиТоваров.Фирма;
|Склад=Register.ОстаткиТоваров.Склад;
|Стоимость=Register.ОстаткиТоваров.БазоваяСтоимость;
|Кол=Register.ОстаткиТоваров.ОстатокТовара;
|Группировка Склад без групп;
|Группировка Организация без групп;
|Группировка Номенклатура без групп;
|Без Итогов;
|Function Сумма=КонОст(Стоимость);
|Function Количество=КонОст(Кол); 
|Условие(Запрос.Количество<>0);
|"//}}ЗАПРОС
 
;

Как обойти запрос по группировкам?
15
 
 
   Широкий
 
1 - 18.12.07 - 15:35
Пока Запрос.Группировка(1)=1 Цикл
   Пока Запрос.Группировка(2)=1 Цикл
            .....
    КонецЦикла;
КонецЦикла;
1
2
3
8
10
   prochor
 
2 - 18.12.07 - 15:36
пока запрос.группировка(1) цикл
 пока запрос.Группировка(2) цикл
и т.д.

для начинающиз лучше пользоваться мастером запросов, который в наличие в конфигураторе, ошибок будет меньше!
1
2
3
10
   Mime
 
3 - 18.12.07 - 15:47
Блин вроде правильно обхожу, но почему-то ничего не выгружается

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
                                                     
    Возврат 0;
    
КонецЕсли;
ш = 0;
Пока Запрос.Группировка(1) = 1 Цикл
    Пока Запрос.Группировка(2) = 1 Цикл
        ш = ш + 1;
        ВыборкаДанных.НоваяСтрока();
        ВыборкаДанных.Номер = "0000000000" + ш;
        ВыборкаДанных.Дата = Дата(2007,1,1);
        
        //ВыборкаДанных.Склад = Запрос.Склад; 
        ВыборкаДанных.Организация = Запрос.Организация;
        
        
        РезультатЗапроса = СоздатьОбъект("ТаблицаЗначений");
        Запрос.Выгрузить(РезультатЗапроса); 
        
        РезультатЗапроса.НоваяКолонка("Цена"); 
        
        РезультатЗапроса.ВыбратьСтроки();
        Пока РезультатЗапроса.ПолучитьСтроку() = 1 Цикл
            РезультатЗапроса.Цена = РезультатЗапроса.Сумма/РезультатЗапроса.Количество;
        КонецЦикла;
        
        ВыборкаДанных.Товары = РезультатЗапроса;
    

    КонецЦикла;
КонецЦикла;
Может где-то проблема, посмотрите кто знает 7.7?
5
   dzemon666
 
4 - 18.12.07 - 15:49
Выгрузит запрос в таблицуЗначений и посмотри есть ли какойто результат
   YF
 
5 - 18.12.07 - 15:56
(3) Выгружать запрос в обходе - это зачем? Что на каждой итерации выгрузится одна строка?
7
   prochor
 
6 - 18.12.07 - 15:59
просмотрел, просмотрел!
см 
|Условие(Запрос.Количество<>0);
 
это не есть правильно!
условие со значением функции - 1)не проходит
2) писать в виде Запрос.Количество по-моему, тоже открытие!
7
   Mime
 
7 - 18.12.07 - 16:07
(5) Это для конвертации данных.
(6) без этих строк
|Группировка Склад без групп;
|Группировка Организация без групп;
 
все прокатывало но тогда делался один документ, а теперь я хочу по складам и организациям разбить.
   Mime
 
8 - 18.12.07 - 16:19
а Запрос.Группировка(1) это будет по складам или по номенклатуре?
9
   Темный Эльф
 
9 - 18.12.07 - 16:23
(8)По складам. Группировки по умолчанию идут сверху. Возможно явное указание значения группировки.
   Mime
 
10 - 18.12.07 - 16:30
Убираю это
|Группировка Склад без групп;
|Группировка Организация без групп;

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

все выгружает, 
 
и данные есть по измерениям склад и фирма... Где рыть?
 
 
   Темный Эльф
 
11 - 18.12.07 - 16:34
Ну если наугад... Склад и фирма - измерения или реквизиты регистра?
   Mime
 
12 - 18.12.07 - 16:48
измерения...
Попробовал так
ТекстЗапроса = 
"//{{ЗАПРОС(Сформировать) 
|Период С {ДатаНачала} По {ДатаНачала};
|Номенклатура=Register.ОстаткиТоваров.Товар;
|Организация=Register.ОстаткиТоваров.Фирма;
|Склад=Register.ОстаткиТоваров.Склад;
|Стоимость=Register.ОстаткиТоваров.БазоваяСтоимость;
|Кол=Register.ОстаткиТоваров.ОстатокТовара;
|Группировка Склад без групп;
|Без Итогов;
|Группировка Организация без групп;
|Без Итогов;
|Группировка Номенклатура без групп;
|Без Итогов;
|Function Сумма=КонОст(Стоимость);
|Function Количество=КонОст(Кол); 
|Условие(Запрос.Количество<>0);
|"//}}ЗАПРОС 
;
тоже не проходит, думал итоги это тоже группировка...
А функции в нужном месте или их надо перед группировками? или без разницы?
   Темный Эльф
 
13 - 18.12.07 - 16:55
Да пофиг, в принципе. Условие только "|Условие(Запрос.Количество<>0);" у тебя неописанное в желтокрасных книжках, может не отрабатывать.
   Mime
 
14 - 18.12.07 - 17:00
Я и условие убирал...
А Без Итогов 1 раз достаточно?
   Mime
 
15 - 19.12.07 - 15:18
Странно... если кому пригодится убрал из (0) |Без Итогов; и все заработало.. ???

 
Список тем форума

 
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.