Имя: Пароль:
1C
 
Вывести только группы товаров в запросе
0 Vladal
 
27.05.08
13:06
В запросе можно укззать Группировка Без Групп. А мне нужно наоборот - вывести только группы "Без элементов". В результате должна получиться структура, состоящая только из групп справочника.
Вместе с этим можно ли получить в результате запроса сразу только группы 2-го уровня?
1 TitanLuchs
 
27.05.08
13:08
Условие добавь, ЭтоГруппа() = 1
2 Джинн
 
27.05.08
13:08
Группировки в запросе строятся путем суммирования итогов по элементам. Групп без элементов быть не может.
Обрабатываей результаты запроса самостоятельно.
3 TitanLuchs
 
27.05.08
13:08
+(1) И еще одно условие: Уровень()=2
4 dk
 
27.05.08
13:12
Имхо можно через
ТекстЗапроса = "
...
МояГруппа = Регистр.ххх.Номенклатура.Родитель;
...
Группировка МояГруппа;
";
5 Vladal
 
27.05.08
13:49
т.е.
|Товар = Регистр.Обороты.Товар;
|Условие(Товар.ЭтоГруппа() = 1);
|Условие(Товар.Уровень() = 2);

Я-то думал, что в запросах эти условия нельзя делать. Я результат выгружал в таблицу и её чикал по эим условиям.
Спасибо.
6 Ёпрст
 
гуру
27.05.08
13:53
(5) Всё правильно понял и правильно делал. См.(2)....
И не надо писать дурь в виде Товар.ЭтоГруппа() = 1) в тексте запроса.
7 ДенисЧ
 
27.05.08
13:54
Вы это серьёзно??
8 Vladal
 
27.05.08
13:56
Ну да, он мне и ругается "Значение не представляет агрегатный тип ЭтоГруппа()"

Но я видел в универсальном отчете по регистрам, что можно такое сделать
9 Vladal
 
27.05.08
13:58
(6) не надо писать дурь...а как же тогда сделать?
10 Ёпрст
 
гуру
27.05.08
13:59
(8) В лучшем случае писать как в (4), только группы, в которых нет элементов там не увидишь, если что ...
11 Ёпрст
 
гуру
27.05.08
14:00
А гораздо проще - не выводить элементы при обходе группировки по номенклатуре.
12 ДенисЧ
 
27.05.08
14:00
(9) Насколько я помню, стандартный запрос 1с выбирает только элементы. А по группам сортирует уже потом. Пэтому наиболее надёжным способом будет фильтрация на этапе перебора результатов.
13 insider
 
27.05.08
14:01
(4) обращения через точку в запросах затормозят запрос, особенно хорошо заметно в скуле.
(9) обрабатывать результаты самостоятельно. сам подумай, откуда в регистрах данные по группам? там же элементы движутся, а эска суммирует данные по элементам для групп. т.о. нужно собрать данные по элементам и потом уже самостоятельно обработать.
14 Дядя Васька
 
27.05.08
14:01
(9) Да собсно я бы не заморачивался... Запрос вско по товарам пройдется чтобы итоги посчитать, соответственно с тем же успехом можешь тупо сделать данные по товарам и группам и показать только по группам...
15 insider
 
27.05.08
14:02
(11) во-во :)
(12) запрос выбирает че есть, а есть движения по элементам, именно они прописываются в измерениях, не так ли? :)
16 Дядя Васька
 
27.05.08
14:02
вско = всяко
17 TitanLuchs
 
27.05.08
14:05
Ой ё, чего это я... сорри, в (1) неправ был....
18 ДенисЧ
 
27.05.08
14:06
(15) Никогда не делал движения по группам, не знаю.
19 Ёпрст
 
гуру
27.05.08
14:07
(18) Та так же пишутся, регистру фиолетово, что хранить... вот потом с обработкой таких записей нужно аккуратничать  потом , хотя изврат редкостный :))
20 ДенисЧ
 
27.05.08
14:10
о том и спич. А главное, зачем это нужно...
21 insider
 
27.05.08
14:14
(18) я тоже не делал :)
но обычно их и не делают, соотв. запрос может выбрать только дивжения по элементам и если не указывать "без групп" - то просуммирует итоги по группам
22 Vladal
 
27.05.08
14:18
Дык для чего это (0):
чтобы можно было увидеть сразу готовый результат запроса только с группами и результатам по группам.
Ясно, что дела только средствами запроса не будет, а нужно обрабатывать ТЗ.
в (0) нужно добавить: "1С в файловом варианте, DBF кому сложно"
23 ДенисЧ
 
27.05.08
14:23
не поможет. не получишь ты такой результат
Программист всегда исправляет последнюю ошибку.