Имя: Пароль:
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 СокрЛП(Запрос.Клиент)+СокрЛП(Запрос.магазин) и свернул его потом по этим значением.
Пришлось только цикл прогнать по товарам, но намного быстрее, если бы запросом новым.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн