Имя: Пароль:
1C
1С v8
Условие в запросе на табличную часть справочника. Как?
,
0 Dasty
 
04.08.11
15:53
Есть два справочника - "Номенклатура" и "ФармГруппа"
ФармГруппа" входит в "Номенклатура" как табличная часть.
Каждая номенклатура может входить в несколько фармгрупп.
Можно ли, и как именно, в отчете по номенклатуре на СКД наложить условие
по табличной части "ФармГруппа"?
Пишу запрос:

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

если условие на фармгруппу "Равно", то все отрабатывает, а если "В списке",
"Не равно" и пр. - начинаются чудеса.
"ВЫБРАТЬ ПЕРВЫЕ" и "ВЫБРАТЬ РАЗЛИЧНЫЕ" чудеса не прекращают :(
1 dimaldinho
 
04.08.11
15:56
(0) ФармГруппа" входит в "Номенклатура" как табличная часть.

Это что означает?
2 lubja
 
04.08.11
15:57
(0) 2 справочника, но "ФармГруппа" входит в "Номенклатура" как табличная часть" - это как?!
3 Dasty
 
04.08.11
16:01
Есть справочник "номенклатура". У него есть табличная часть "ФармГруппы". В этой табличной части реквизит "ФармГруппа" с типом СправочникСсылка.ФармГруппы.
4 lubja
 
04.08.11
16:05
а что должно в результате получиться?
5 dimaldinho
 
04.08.11
16:06
Вот это нужно?

ВЫБРАТЬ
   НоменклатураФармГруппы.Ссылка,
   НоменклатураФармГруппы.ФармГруппа
ИЗ
   Справочник.Номенклатура.ФармГруппы КАК НоменклатураФармГруппы
ГДЕ
   НоменклатураФармГруппы.ФармГруппа В(&СписокФармГруппДляОтбора)
6 Dasty
 
04.08.11
16:13
(5) В общем-то да. НО! Условия могут быть самыми различными. Можно конечно реализовать через внешний набор данных, с анализом отбора и программной генерацией запроса... Но вдруг есть возможность сделать это прямо в запросе СКД и не мучиться?
7 lubja
 
04.08.11
16:14
(6) никакого отбора в запросе не делай. а на закладке Настройки/Отбор вытащи поле ФармГруппа, и будет тебе щасте)
8 Dasty
 
04.08.11
16:17
Так с этого я в (0) и начал. Если отбор "равно", то все отработает на ура. А если "не равно"? У каждого элемента номенклатуры ~десяток фармгрупп. И вот все эти элементы он мне и вытащит по (десять-отбор) раз.
9 Мимохожий Однако
 
04.08.11
16:19
А если в условии отбора применить "в"?
10 lubja
 
04.08.11
16:21
(8) так запрос в (5) отличается от твоего... попробуй его и через настройки отбора...
11 Dasty
 
04.08.11
16:27
(10) Даёт пустой результат.
Спасибо всем.
Раз не получается, буду через внешний набор делать.
12 dimaldinho
 
04.08.11
16:35
(8) А если запрос в  (5) сгруппировать по Ссылка, ФармГруппа
13 lubja
 
04.08.11
16:42
(12) да запрос в 5 по идеи должен норм отрабатывать и с отборами и без...