Имя: Пароль:
1C
1С v8
Помогите разобраться с Группировкой
0 oleg056
 
25.10.12
16:38
ТекстЗапроса = "
|Период с ВыбНачПериода по ВыбКонПериода;
|ТМЦ = Регистр.Обороты.ТМЦ;
|Наименование = Регистр.Обороты.ТМЦ.ПолнНаименование;
|Код = Регистр.Обороты.ТМЦ.Код;
|Кво = Регистр.Обороты.РасходКво;
|СуммаСНДС = Регистр.Обороты.РасходОсн;
|ТекДок = Регистр.Обороты.ТекущийДокумент.РозничнаяНакладная.ТекущийДокумент;
|ДатаДок = Регистр.Обороты.ТекущийДокумент.РозничнаяНакладная.ДатаДок;
|Склад = Регистр.Обороты.Склад;
|Условие (Склад в ВыбСклады);
|Функция КвоСумма = Сумма(Кво);";
|Группировка ТМЦ; //|Группировка Код;
|Группировка ТекДок;    
|";

В чем разница в группировке по ТМЦ и по коду.
Дело в том что когда делаю по Коду происходит сортировка но исчезают группы товаров, а
по ТМЦ нет сортировки по коду
1 ДенисЧ
 
25.10.12
16:40
А если внимательно почитать про язык запросов? Там есть сортировка при группировке...
2 oleg056
 
25.10.12
16:41
Извиняюсь это 7ка
3 GLazNik
 
25.10.12
16:41
(0) это не 8-ка...
есть такая штука "упорядочить по"
4 oleg056
 
25.10.12
16:44
(3) Согласен но все же в чем разница |Группировка ТМЦ; и |Группировка Код; почему во второй группировке исчезают группы?
5 GLazNik
 
25.10.12
16:46
(4) потому что в первом случае в качестве группировки выступает справочник, а во втором строка (или число)
6 oleg056
 
25.10.12
16:50
ТекстЗапроса = "
   |Период с ВыбНачПериода по ВыбКонПериода;
   |ТМЦ = Регистр.Обороты.ТМЦ;
   |Наименование = Регистр.Обороты.ТМЦ.ПолнНаименование;
   |Код = Регистр.Обороты.ТМЦ.Код;
   |Кво = Регистр.Обороты.РасходКво;
   |СуммаСНДС = Регистр.Обороты.РасходОсн;
   |ТекДок = Регистр.Обороты.ТекущийДокумент.РозничнаяНакладная.ТекущийДокумент;
   |ДатаДок = Регистр.Обороты.ТекущийДокумент.РозничнаяНакладная.ДатаДок;
   |Склад = Регистр.Обороты.Склад;
   |Условие (Склад в ВыбСклады);
   |Функция КвоСумма = Сумма(Кво);";
   Если ГалКорОтчет = 1 Тогда
       ТекстЗапроса=ТекстЗапроса + "
       |Группировка ДатаДок;
       |Группировка Код;
       |";
   Иначе
       ТекстЗапроса=ТекстЗапроса + "
       |Группировка ТМЦ Упорядочить по ТМЦ.Код;
       |";
   КонецЕсли;
   ТекстЗапроса=ТекстЗапроса + "
   //|Группировка ТМЦ Упорядочить по ТМЦ.Код;
   |Группировка ТекДок;    
   |";
7 oleg056
 
25.10.12
16:51
Есть запрос вида (6) Когда была общая группировка по ТМЦ то не сортировала в первом отчете, когда была общая группировка по коду не выводила группы во втором
8 GLazNik
 
25.10.12
16:54
(7) и? все верно. Так и должно работать.
9 oleg056
 
25.10.12
16:56
ТекстЗапроса = "
   |Период с ВыбНачПериода по ВыбКонПериода;
   |ТМЦ = Регистр.Обороты.ТМЦ;
   |Наименование = Регистр.Обороты.ТМЦ.ПолнНаименование;
   |Код = Регистр.Обороты.ТМЦ.Код;
   |Кво = Регистр.Обороты.РасходКво;
   |СуммаСНДС = Регистр.Обороты.РасходОсн;
   |ТекДок = Регистр.Обороты.ТекущийДокумент.РозничнаяНакладная.ТекущийДокумент;
   |ДатаДок = Регистр.Обороты.ТекущийДокумент.РозничнаяНакладная.ДатаДок;
   |Склад = Регистр.Обороты.Склад;
   |Условие (Склад в ВыбСклады);
   |Функция КвоСумма = Сумма(Кво);";
   Если ГалКорОтчет = 1 Тогда
       ТекстЗапроса=ТекстЗапроса + "
       |Группировка ДатаДок;
       |";
   КонецЕсли;
   ТекстЗапроса=ТекстЗапроса + "
   |Группировка ТМЦ Упорядочить по ТМЦ.Код;
   |Группировка ТекДок;    
   |";
Изначальный код который не корректно работал. Почему?
10 oleg056
 
25.10.12
16:59
Вернее как бы я решил задачу если мне нужно было б Группировать ДатаДок по Группам и сортировать в группах по Коду
11 GLazNik
 
25.10.12
17:01
(10) "Группировать ДатаДок по Группам" это еще что за ....?
По группам группировать можно только справочники и счета. все. группируя код вы группируете строку.
12 oleg056
 
25.10.12
17:13
(10)Наверное я неправильно выразился. Запрос (9)при ГалКорОтчет = 1 не сортирует по коду.
Основной вопрос в этом. Поэтому пришлось заменить его на запрос (6). Сейчас пытаюсь понять тонкости
13 GLazNik
 
25.10.12
17:25
(12) не верю. покажите что получается при запросе в (9)
14 oleg056
 
25.10.12
17:38
1й запрос
2605    1      14.00
4671    1      16.00
5258    2      26.00
5261    2      17.00
7612    1      11.00
7774    1      21.00
8063    1      24.00
4034    1       4.00
1145    1      26.00
1419    2      26.00
2024    1      10.00
3221    1       8.00
5266    2      18.00
8069    1      37.00
313    1      29.00
2й запрос
1130   DAVIDOFF BLUE 200ER NHW          5  
1525   DUNHILL BUTTON RED       NHW     9  
1751   VOGUE SSL FRISSON MENTHE NHW     9  
1986   WINSTON RED (DG SANCO)   NHW     1  
1989   KENT WHITE INFINA        NHW    19    
2037   PARLIAMENT AQUA BLUE KS NHW*    21  
2265   MARLBORO RED-GOLD BOX   NHW*    20  
2527   PARLIAMENT AQUA BLUE NHW*200    26  
2576   MARLBORO GOLD KS BOX    NHW*    28  
2605   REEMATSMA R 1 BLUE NHW 200ER    25    
4140   KENT SURROUND SILVER NHW        25  
4567   MARLBORO GOLD ORIGINAL  NHW*    42    
4569   MARLBORO RED NHW* 200ER         16
15 GLazNik
 
25.10.12
17:43
(14) первый это что? второй это что? я уже запутался в ваших запросах :)
16 oleg056
 
25.10.12
17:46
(15)Это пример работы запроса (9) Первый запрос при условии ГалКорОтчет = 1 ))
17 GLazNik
 
25.10.12
17:47
(16) а где там датадок?
18 oleg056
 
25.10.12
17:49
т.е когда перед |Группировка ТМЦ Упорядочить по ТМЦ.Код; появляется |Группировка ДатаДок; перестает сортировать

*01/07/12
2605    1      14.00
4671    1      16.00
5258    2      26.00
5261    2      17.00
7612    1      11.00
7774    1      21.00
8063    1      24.00
4034    1       4.00
1145    1      26.00
*02/07/12
1986    1      10.00
2265    2      22.00
2576   12      22.00
2605    1      14.00
4140    1      14.00
4569    2      22.00
4671    1      16.00
4714    2      17.00
5258    2      26.00
8063    1      24.00
777    2      15.00
1138    1      17.00
19 GLazNik
 
25.10.12
17:58
(18) это только элементы выведены или группы в том числе?
20 oleg056
 
25.10.12
17:59
(19)Только элементы
21 oleg056
 
25.10.12
18:01
(19) Группы игнорирую. Может он их по группам сортирует?
22 GLazNik
 
25.10.12
18:02
(20) Для наглядности нужно все. И даты, и группы, и элементы
Предпалогаю, что сортировка есть в пределах дня и с учетом групп. Как и положено быть
23 oleg056
 
25.10.12
18:04
*01/07/12
-------
2605    1      14.00
4671    1      16.00
5258    2      26.00
5261    2      17.00
7612    1      11.00
7774    1      21.00
8063    1      24.00
-------
4034    1       4.00
-------
1145    1      26.00
1419    2      26.00
2024    1      10.00
3221    1       8.00
5266    2      18.00
8069    1      37.00
-------
Да дело в группах. А как это корректно обойти?
24 GLazNik
 
25.10.12
18:05
(23) а что именно вы хотите получить?
25 oleg056
 
25.10.12
18:07
Чтоб игнорировал группы при сортировке
26 GLazNik
 
25.10.12
18:07
(25) в группировке добавить БезГрупп
27 oleg056
 
25.10.12
18:11
(26) Огромное вам спасибо. Все получилось без костылей :)
28 vah1
 
25.10.12
19:14
сосед зашел, не программер. гянул заголовок сабжа - нифига се, говорит ты вопросы решаешь
Помогите разобраться с преступной Группировкой :))