|
Условие в запросе на табличную часть справочника. Как? |
☑ |
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 по идеи должен норм отрабатывать и с отборами и без...
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший