Имя: Пароль:
1C
1С v8
Запрос по табличным частям справочника
,
0 Churik
 
01.11.11
12:48
Здравствуйте,

имеется справочник Проекты, у него 2 таб.части Элементы и Замены (в обоих таб.частях есть реквизит Элемент), как сделать Запрос, чтобы выбрать проекты, у которых реквизит Элемент равен заданному хотя бы в одной из табличных частей?

Пробовал так:
   "ВЫБРАТЬ СпрПроекты.Элементы, СпрПроекты.Замены
   |ИЗ Справочник.Проекты КАК СпрПроекты
   |ГДЕ Элементы.Элемент  = &Элемент
       | Замены.Элемент = &Элемент";
не работает :(

Спасибо
1 izekia
 
01.11.11
12:49
кури ИЛИ
2 izekia
 
01.11.11
12:50
а вообще запрос кривой
3 Рэйв
 
01.11.11
12:50
|ГДЕ СпрПроекты.Элементы.Элемент  = &Элемент
       | ИЛИ СпрПроекты.Замены.Элемент = &Элемент";
4 izekia
 
01.11.11
12:50
по сути тебе нужны ссылки у которых в табличных частях содержится элемент
5 Churik
 
01.11.11
12:51
ИЛИ у меня было, не работает
6 Ненавижу 1С
 
гуру
01.11.11
12:52
(5) будь мужиком. учи SQL

ВЫБРАТЬ РАЗЛИЧНЫЕ Элементы.Ссылка КАК Ссылка
ИЗ Справочник.Проекты.Элементы КАК Элементы
ГДЕ Элементы.Элемент  = &Элемент
ОБЪЕДИНИТЬ
ВЫБРАТЬ РАЗЛИЧНЫЕ Замены.Ссылка КАК Ссылка
ИЗ Справочник.Проекты.Замены КАК Замены
ГДЕ Замены.Элемент  = &Элемент
7 izekia
 
01.11.11
12:53
выбрать различные ссылка из справочник.проекты.элементы как элементы где элементы.Элемент = &Элемент
объединить
выбрать ссылка из справочник.проекты.замены как замены где замены.Элемент = &Элемент
8 Рэйв
 
01.11.11
12:53
(5)У тебя кроме отсутствия ИЛИ еще не все в порядке с синтаксисом
9 izekia
 
01.11.11
12:53
(6) да, точно
во втором тоже надо все же различные
10 Churik
 
01.11.11
12:55
(8)что именно?
(6)спасибо
11 izekia
 
01.11.11
13:13
(10) все
12 Churik
 
01.11.11
13:15
(11) а по-конкретнее
13 izekia
 
01.11.11
14:33
"ВЫБРАТЬ СпрПроекты.Элементы, СпрПроекты.Замены" здесь ты фактически выбираешь табличные части справочника, хотя ты сам говоришь, что тебе нужно выбрать элементы справочника проексты, другими словами ссылки
соответственно выглядеть это должно так:
ВЫБРАТЬ СпрПроекты.Ссылка
ИЗ Справочник.Проекты КАК СпрПроекты
чтобы применить условие на что-то тебе не надо включать это в результат выборки

далее:
ГДЕ Элементы.Элемент  = &Элемент
Замены.Элемент = &Элемент
во-первых ты сравниваешь колонку табличной части с элементом, во вторых у тебя два сравнения без какого-либо логического объединения

поэтому у тебя лишь одну строку можно назвать правильно, да и то для получения нужных тебе данных ты должен был использовать другую таблицу, соответственно неправильно все
14 Churik
 
02.11.11
08:58
спасибо, за объяснение