Имя: Пароль:
1C
1С v8
Запрос, итоги, временная таблица
0 Bibr
 
15.02.12
11:28
В запросе надо получить Структуру групп справочника номенклатура с информацией, сколько в них содержится элементов, удовлетворяющих определенному условию.

делаю так:

ВЫБРАТЬ
   Номенклатура.Ссылка КАК Ссылка,
   1 КАК Поле1
ИЗ
   Справочник.Номенклатура КАК Номенклатура
ГДЕ
   Номенклатура.СтавкаНДС = &СтавкаНДС
   И Номенклатура.Ссылка В ИЕРАРХИИ(&Ссылка)
ИТОГИ
   СУММА(Поле1)
ПО
   Ссылка ТОЛЬКО ИЕРАРХИЯ


проблема в том, что мне с этими данными работать дальше, а временные таблицы не поддерживают итогов. как обойти?
1 Господин ПЖ
 
15.02.12
11:29
жестЪ...
2 Wobland
 
15.02.12
11:29
сгруппировать и посчитать количество?
3 Bibr
 
15.02.12
11:33
в том-то и дело, что группировкой не получается
4 Wobland
 
15.02.12
11:33
(3) а как пробовал?
5 Classic
 
15.02.12
11:35
(3)
И не получится
6 Bibr
 
15.02.12
11:37
т.е. перефразирую проще.

имея следующий справочник:
группа1          
    группа2_1    
          элем1  
          элем2  
          элем3  
    группа2_2    
          элем1  
          элем2  
          элем3  
          элем4  
          элем5  

надо получить таблицу:
группа1        8
   группа2_1  3
   группа2_1  5

как это получить не используя итогов?
7 Господин ПЖ
 
15.02.12
11:37
брутально... выгрузить в ТЗ и передать ее в другой запрос как параметр
8 Bibr
 
15.02.12
11:40
(7) мда, думал об этом

тогда вопрос сопутствующий.
я тут начал только управляемые формы ковырять.
и у меня на сервере запрос почему-то в тз не выгружается. хотя выборка выбирается.
не сталкивались?
9 Wobland
 
15.02.12
11:41
(8) вроде сталкивался. делал запрос, пытался возвращать от сервера ТЗ. даже получалось ;)
10 Господин ПЖ
 
15.02.12
11:42
(8) должно все работать... если не пытаться ТЗ таскать между клиентом и сервером... не переваривает она этого
11 Господин ПЖ
 
15.02.12
11:43
(9) через сериализацию? или перегоняя в списки?
12 Bibr
 
15.02.12
11:44
(11) банально на сервере:

это работает
   Рез = Запрос.Выполнить().Выбрать();

это не работает
   Рез = Запрос.Выполнить().Выгрузить();
13 Bibr
 
15.02.12
11:45
текст запроса - 200 строк,пакетный . может есть какие-то ограничения?
14 Wobland
 
15.02.12
11:46
(11) а потом мне сказали, что тонкий клиент этого не любит. переделал, не вникая в детали.
15 Господин ПЖ
 
15.02.12
11:46
(12) в СП область доступности "сервер" - в наличии... ищите где ошибка
16 Bibr
 
15.02.12
12:53
(15) сейчас работает. раньше Рез = Запрос.Выполнить().Выгрузить(); выдавал табличнй документ

хз, видимо действительно ошибка раньше была, которую исправил уже.


Брутально получилось, спасибо. Выглядит правда коряво: менеджер ВТ,пакет запросов, выполняю, выгружаю тз, загружаю, опять пакет запросов.

ранее в 1 большом запросе гармоничней смотрелось.

Господин ПЖ, Спасибо.