Имя: Пароль:
1C
1С v8
Иерархия в запросе.
0 Топтыга
 
03.04.14
09:39
Сильно не пинайте я учусь.
Есть справочник с иерархией. Отбираю элементы справочника в запросе по определенному условию "Реквизит=значение". Так ка у группы нет этого реквизита, в выборку группы не попадают. а как сделать в запросе, что бы группы тоже попадали в выборку?
1 Wobland
 
03.04.14
09:40
или этоГруппа
2 Wobland
 
03.04.14
09:40
а зачем тебе группы?
3 Топтыга
 
03.04.14
09:46
Есть справочник торговых мест, Павильон 1, павильон 2, и т. .п Элементы справочника относятся к разным организациям (Периодический регистр св.), Хотят печатать места относящиеся к одной организации (павильон 1 :место 5, место 8). Я могу отобрать потом обрабатывая результат запроса, но хотелось бы сразу в запросе.
4 Wobland
 
03.04.14
09:47
не дошло
5 Maxus43
 
03.04.14
09:49
(4) слабак) куда миелафон дел?
6 Wobland
 
03.04.14
09:51
(5) в нём что-то нехорошо щёлкнуло после третьего прочтения
7 Wobland
 
03.04.14
09:52
этоги по иерархия?
8 Топтыга
 
03.04.14
09:54
Группа мест Павильон 1.
В нем места 1,2,3,4 и. т. п.
1 место относиться к Фирма 1,
2 место относиться к фирма 2,
какое место к какой организации относиться хранит "Периодический регистр св."
Как отобрать все места которые относятся к первой фирме. НО что бы и группы выводились то же.
    Запрос.Текст="        
    |    ВЫБРАТЬ
    |    Ссылка,
    |   ЭтоГруппа,
    |    Наименование,
    |    ТипТМ,
    |    Организация,
    |    Цена,
    |    Площадь    
    |ИЗ
    |    Справочник.ТорговыеМеста КАК ТорговыеМеста
    |
    |Левое СОЕДИНЕНИЕ
    |        РегистрСведений.ЦеныиПлощадьТорговыхМест.СрезПоследних(&ДатаСреза) КАК РасчетныеХарактеристики        
    |        ПО ТорговыеМеста.Ссылка = РасчетныеХарактеристики.спрТорговыеМеста.Ссылка
    |        
    |Левое СОЕДИНЕНИЕ
    |        РегистрСведений.ОрганизацияТМ.СрезПоследних(&ДатаСреза)  КАК Фирма    
    |    
    |        ПО ТорговыеМеста.Ссылка = Фирма.спрТорговыеМеста.Ссылка
    | Где
    |  НЕ &ОтборПоОрганизации ИЛИ (Фирма.Организация  = &ВыбОрганизация)
    |Упорядочить По
    |Ссылка.ЭтоГруппа ИЕРАРХИЯ,
    |Наименование";
Запрос.УстановитьПараметр("ДатаСреза",ДатаЗапроса);
Запрос.УстановитьПараметр("ОтборПоОрганизации", ЗначениеЗаполнено(ФильтрОрганизация));
Запрос.УстановитьПараметр("ВыбОрганизация",ФильтрОрганизация);
9 salvator
 
03.04.14
09:57
ГДЕ
  ВЫБОР КОГДА ЭтоГруппа ТОГДА ИСТИНА
  ИНАЧЕ Реквизит = &Значение
  КОНЕЦ
10 Wobland
 
03.04.14
09:59
(9) ему все группы не нуэжны
11 Топтыга
 
03.04.14
10:03
(9)Спасибо, я так делал, но мне не нужны все группы.
А только содержащие элементы.
12 Топтыга
 
03.04.14
10:10
Удалю лишние во время обхода рез. запроса. Через запрос пока не получается.
13 Wobland
 
03.04.14
10:12
ну и кому я писал (7)?
14 Топтыга
 
03.04.14
10:13
(13) Просмотрел, попробуем.
15 Топтыга
 
03.04.14
11:04
Работает спасибо.Сделал так:
    Запрос.Текст="        
    |    ВЫБРАТЬ
    |    Ссылка,
    |   ЭтоГруппа,
    |    Наименование,
    |    ТипТМ,
    |    Организация,
    |    Цена,
    |    Площадь    
    |ИЗ
    |    Справочник.ТорговыеМеста КАК ТорговыеМеста
    |
    |Левое СОЕДИНЕНИЕ
    |        РегистрСведений.ЦеныиПлощадьТорговыхМест.СрезПоследних(&ДатаСреза) КАК РасчетныеХарактеристики        
    |        ПО ТорговыеМеста.Ссылка = РасчетныеХарактеристики.спрТорговыеМеста.Ссылка
    |        
    |Левое СОЕДИНЕНИЕ
    |        РегистрСведений.ОрганизацияТМ.СрезПоследних(&ДатаСреза)  КАК Фирма    
    |    
    |        ПО ТорговыеМеста.Ссылка = Фирма.спрТорговыеМеста.Ссылка
    | Где
    |НЕ &ОтборПоОрганизации ИЛИ (Фирма.Организация  = &ВыбОрганизация)";
    Если ЗначениеЗаполнено(ФильтрОрганизация) тогда
    Запрос.Текст=Запрос.Текст+"
    |Упорядочить по Наименование
    |ИТОГИ ПО Ссылка ТОЛЬКО ИЕРАРХИЯ";    
    Иначе
    Запрос.Текст=Запрос.Текст+"
    |Упорядочить По Наименование ИЕРАРХИЯ";
    КонецЕСли;
16 Топтыга
 
03.04.14
11:05
Не знаю правильно или нет, но выдает как мне нужно
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс