Имя: Пароль:
1C
1C 7.7
v7: можно ли такой запрос ?
0 gun200
 
15.10.12
11:19
Можно ли делать такой запрос:
|КатегорияКлиента = Документ.РасходнаяБН.Клиент.КатегорияКлиента;
|Клиент = Документ.РасходнаяБН.Клиент;
|Группировка КатегорияКлиента;
|Группировка Клиент;
1 gun200
 
15.10.12
11:20
А то во второй группировке всегда ноль возвращает !
2 VladZ
 
15.10.12
11:21
Покажи весь запрос.
3 gun200
 
15.10.12
11:24
да наверное не в этом дело, скорее из за товара ! Там группировка и пропускает, он только группу 2 уровня.
   |Период с фДатаНач11 по фДатаКон11;
   |Клиент = Документ.РасходнаяБН.Клиент;  
   |магазин =Документ.РасходнаяБН.Магазин;
   |признак1=Документ.РасходнаяБН.ПризнакНакладной;
   |Фирма = Документ.РасходнаяБН.Фирма;        
   |Товар =Документ.РасходнаяБН.Товар;  
   |Количество =Документ.РасходнаяБН.Количество;
   |КатегорияКлиента = Документ.РасходнаяБН.Клиент.КатегорияКлиента;
   |Группировка КатегорияКлиента;
   |Группировка Товар Все ВошедшиеВЗапрос;
   |Группировка Клиент;
   |Группировка магазин;
   |Условие(Фирма = фир);  
   |Условие(Количество<>0);
   |Условие  (не(Клиент в спрсс));
   |Условие (Клиент<>константа.оснпоставщик);  
   |Условие (признак1=Перечисление.ПризнРасхНакл.Продажа);
   |Условие (Товар.ПринадлежитГруппе(ВыбТов)=1);
4 gun200
 
15.10.12
11:24
Пока Запрос.Группировка(1) = 1 Цикл      
           итогпоК=0;итогпоКср=0;    
           Состояние("Выввод данных");
           Таб.ВывестиСекцию("Строка|ШАПКАВ");
           
           Пока Запрос.Группировка(2)=1 Цикл
               Если Запрос.Товар.ЭтоГруппа()=0 Тогда
                   Продолжить;
               Иначе
                   Если Запрос.Товар.Уровень()=2 Тогда
                       
                   Иначе
                       Продолжить;    
                   КонецЕсли;
               КонецЕсли;  
               тт=0;ттср=0;
               Пока Запрос.Группировка(3)=1 Цикл
                   Если Запрос.Клиент.ЭтоГруппа()=1 Тогда
                       Продолжить;
                   КонецЕсли;
                   Пока Запрос.Группировка(4)=1 Цикл
                       Если Запрос.магазин.ЭтоГруппа()=1 Тогда
                           Продолжить;
                       КонецЕсли;
                       тт=тт+1;    
                   КонецЦикла;  
                   
               КонецЦикла;    
               итогпоК=итогпоК+тт;
               Таб.ПрисоединитьСекцию("Строка|Брэнд");
           КонецЦикла;
5 gun200
 
15.10.12
11:28
оказывается такой геморрой посчитать, в скольких торговых точках, продавалось группа товаров. ТЗ не хотел делать, а всё таки придется :(
6 viktor_vv
 
15.10.12
11:32
А функция где ?
Типа

   |КатегорияКлиента = Документ.РасходнаяБН.Клиент.КатегорияКлиента;
   |Группировка КатегорияКлиента;
   |Группировка Товар Все ВошедшиеВЗапрос;
   |Группировка Клиент;
   |Группировка магазин;
   |Функция (КоличествоПродано = Сумма(Количество));
   |Условие(Фирма = фир);  
   |Условие(Количество<>0);
7 gun200
 
15.10.12
11:34
бл_ :) совсем я уже ! спасибо !
8 viktor_vv
 
15.10.12
11:34
И убери проверки на группу в обходе. Вставь в запрос.

   |Группировка Клиент без групп;
   |Группировка магазин без групп;
9 gun200
 
15.10.12
11:38
неа, не помогло.
Мне нужно посчитать сколько у меня клиентов в каждой категории по каждой группе товаров уровня 2 !
10 gun200
 
15.10.12
11:39
причём не по клиентам, а по магазинам. У нас в накладной он может быть выбран, а может быть и пустым, это я про реквизит "магазин".
11 Cthulhu
 
15.10.12
11:39
(9): Функция КвоКлиентогв=Счётчик();
12 viktor_vv
 
15.10.12
11:40
Так по товарам оставь с группами.
13 gun200
 
15.10.12
11:41
счётчик не пойдёт :( из-за (8)
14 viktor_vv
 
15.10.12
11:42
(11) В его случае счетчик покажет количество обработанных строк документа.
15 Cthulhu
 
15.10.12
11:46
(13): подойдет. если умеючи.
(14): смотря как построить запрос, смотря как перебирать результаты.
16 1Сергей
 
15.10.12
11:47
(5) а зачем тебе отчет по документам?
17 1Сергей
 
15.10.12
11:47
(16)* запрос по докментам
18 gun200
 
15.10.12
11:54
на (16) регистра реализации нет у нас !
19 1Сергей
 
15.10.12
11:56
(18) что за конфа?
20 gun200
 
15.10.12
11:57
конфа переписанная напрочь ! Регистр такой есть, но движений нет по нему ! ни один документ его не цепляет.
21 gun200
 
15.10.12
11:58
на (15) ну вот количество клиентов я получил с счётчика, но как мне посчитать магазины ?
22 gun200
 
15.10.12
11:59
причём с учётом того, что мне нужно количество, и что бы они не повторялись.
23 gun200
 
15.10.12
12:02
Может проще ещё один запросик  :) Уже сразу по группе товаров и категории !
24 Cthulhu
 
15.10.12
12:55
(25): например, собирай в СЗ из запроса методом Установить(..) с представлением = полным кодом/наименованием, потом считай.
25 PuhUfa
 
15.10.12
12:59
Что такое "КатегорияКлиента" и как она связана с "Клиент"?
26 Cthulhu
 
15.10.12
14:05
(25): судя по тексту запроса - реквизит справочника "Контрагенты"
27 Cthulhu
 
15.10.12
14:06
(26)+: вообще не так, строго говоря: реквизит какого-то справочника, элементы которого содержатся в реквизите "Клиент" документа "РасходнаяБН".
28 gun200
 
15.10.12
14:41
Да я в тз сделал, а в тз занёс по циклу 4 СокрЛП(Запрос.Клиент)+СокрЛП(Запрос.магазин) и свернул его потом по этим значением.
Пришлось только цикл прогнать по товарам, но намного быстрее, если бы запросом новым.