Имя: Пароль:
1C
1С v8
Вопрос по оператору "В Иерархии"
0 zheka_it
 
14.10.11
11:38
Есть справочник с табличной частью, содержащей группы товаров + есть некий товар. Не могу сообразить как выбрать из справочника элементы, группы которого содержат указанный товар.
1 butterbean
 
14.10.11
11:38
запросом?
2 Санта
 
14.10.11
11:40
Товар.ЭтоГруппа И
Товар В Иерархии (&МассивГрупп)
3 Reset
 
14.10.11
11:41
(2) Ему наверное, не это надо. Вероятно, нужен список родителей товара... Сформулировано криво
4 zheka_it
 
14.10.11
11:42
Сори если не совсем корректно описал, да, мне нужны родители табличной части
(1) Да, запросом.
5 butterbean
 
14.10.11
11:45
запросом не получится
6 zheka_it
 
14.10.11
11:46
Подробнее:
Табличная часть содержит 1 реквизит Группа, тип Справочник.Номенклатура
Нужно что-то вроде:
ВЫБРАТЬ
|    ТЧ.Ссылка
|ИЗ
|    Справочник.ТурумПурум.ГруппыТоваров КАК ТЧ
|ГДЕ
|    &Товар В Иерархии(ТЧ.Группа)

Но такая конструкция не прокатывает. Не  работает наверно потому что использует временные таблицы.
7 zheka_it
 
14.10.11
11:47
(5) А если не запросом то с точки зрения производительности как лучше сделать?
8 Reset
 
14.10.11
11:48
Что-то типа


Выбрать Справочник.Номенклатура.Родитель КАК Группа
ГДЕ    Справочник.Номенклатура.Ссылка В (&Массив)
ИТОГИ ПО Родитель ТОЛЬКО ИЕРАРХИЯ
9 Санта
 
14.10.11
11:49
(6) тогда выгрузи все во врем таб, потом выбери и обработай
10 Санта
 
14.10.11
11:49
(8) ТОЛЬКО - это что-то новое?
11 Reset
 
14.10.11
11:50
(8) итоги по группа*
12 zheka_it
 
14.10.11
11:50
(8)(9) Спасибо, попробую
13 zheka_it
 
14.10.11
12:14
сделал так:
Запрос = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ
                     |    Товары.Родитель КАК Группа
                     |ИЗ
                     |    Справочник.Товары КАК Товары
                     |ГДЕ
                     |    Товары.Ссылка = &Товар
                     |ИТОГИ ПО
                     |    Товары.Родитель ТОЛЬКО ИЕРАРХИЯ КАК Группа");
Запрос.УстановитьПараметр("Товар", Ссылка);
                     
ИерархияТовара = Запрос.Выполнить().Выгрузить();
                     
Запрос = Новый Запрос("ВЫБРАТЬ
                     |    ТорговыеПредставителиГруппыТоваров.Ссылка
                     |ИЗ
                     |    ПланОбмена.ТорговыеПредставители.ГруппыТоваров КАК ТорговыеПредставителиГруппыТоваров
                     |ГДЕ
                     |    ТорговыеПредставителиГруппыТоваров.Группа В(&Группы)");
                     
Запрос.УстановитьПараметр("Группы", ИерархияТовара);
ТоргПредставители = Запрос.Выполнить().Выгрузить();

Вроде работает :)
14 zheka_it
 
14.10.11
12:15
"Различные" в первом запросе не нужен, случайно попал :)
15 aleks-id
 
14.10.11
12:15
жесть
16 zheka_it
 
14.10.11
12:16
(15) ?
AdBlock убивает бесплатный контент. 1Сергей