Имя: Пароль:
1C
1С v8
v8: Виртуальный таблицы отбор по двум измерениям
0 iceman2112
 
05.07.12
09:38
Как в виртуальной таблицу наложить условие, чтобы отбор по двум измерения из таблицы?

Т.Е. если есть таблица значений: Номенклатура | Склад

Нужно в запросе к виртуальной таблице остатков наложить условие.
Как это сделать, без левого соединения?
1 LAAry
 
05.07.12
09:39
Где ТЗ.Номенклатура... и ТЗ.Склад....
2 mirosh
 
05.07.12
09:40
без соединения никак.
можно перед соединением сделать отбор только по номенклатуре (Номенклатура В (...)), чтобы соединялось меньше записей
3 iceman2112
 
05.07.12
09:40
и без где, нужно все сделать в параметрах виртуальной таблице
4 mirosh
 
05.07.12
09:40
(1) O.o
5 iceman2112
 
05.07.12
09:41
По одному измерению понятно, массив и погнали. Не думаю что нельзя под два
6 LAAry
 
05.07.12
09:42
(4) угу, невнимательно прочитал.
7 LAAry
 
05.07.12
09:44
(5) 2 массива не дадут нужный результат.
8 iceman2112
 
05.07.12
09:45
нет, номенклатура и склад как бы связаны
9 vmv
 
05.07.12
09:45
таблица значений может учавствовать в качестве параметра в условиях запроса, причем порядок колонок - это порядок полей сравнения - подумай над этим
10 mirosh
 
05.07.12
09:45
(5) одновременно по двум нельзя. Если сделать через "И", то потеряешь много нужных записей
11 mirosh
 
05.07.12
09:46
(9) интересно! Продолжай :_)
12 vmv
 
05.07.12
09:47
(10) можно, доказывать не буду, ибо банально и написано в жкк
13 mirosh
 
05.07.12
09:48
(12) мне просто интересно, я не знал о таком способе
14 iceman2112
 
05.07.12
09:49
(12) сказал, что есть что то вкусное, но не скажет где
15 vmv
 
05.07.12
09:49
кописпаст жкк с рисунка

ИС1l0JlьзоваUllе опеРП1(11l1 В (НЕ В) по UeCKOJ1bKIIJlI 11l)ЛЯJlI
Синтаксисдля 6.'10Ж·ef{//Оi!ОЗСll1роса:
1-473
(выражениеl, выражение2,
выражениеl, выражение2, ... ,
выражениеN)
выражениеN ...)
В (ВЫБРАТЬ
Си1lmаксис для mаб/1lll(Ы ЗllйчеUllli:
(выражениеl, выражение2, выражениеN) В (&Параметр)
в Ii:aLlестие lIapa~leTpa С:lедует передавать тэблицу ЗllачеНIIЙ, IlepBble
K01l011O'" которой будут IIСIЮJlЬЗ0ваться для операЦlll1 В.
16 iceman2112
 
05.07.12
09:50
че такое жкк?
17 vmv
 
05.07.12
09:50
+ 15 отлично получилось, пытливый ум поймет, лахи в пичальке
18 Defender aka LINN
 
05.07.12
09:51
(10) Смотри и рыдай:

ВЫБРАТЬ
   ТоварыСкладаОстатки.Номенклатура,
   ТоварыСкладаОстатки.Склад,
   ТоварыСкладаОстатки.КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыСклада.Остатки(
           ,
           (Номенклатура, Склад) В
               (ВЫБРАТЬ
                   ТЗ.Номенклатура,
                   ТЗ.Склад
               ИЗ
                   ТЗ КАК ТЗ)) КАК ТоварыСкладаОстатки
19 vmv
 
05.07.12
09:51
(16) жилищьно коммунальный комбинат - там мега спецы кодят
20 iceman2112
 
05.07.12
09:52
ИЗ                РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&НаДату, (Номенклатура, Склад) В (&ТаблицаДокумента)) КАК ПартииТоваровНаСкладахОстатки
   
Т.е. как то так?
21 mirosh
 
05.07.12
09:52
(15)(18) ага, спасибо, буду знать
22 vmv
 
05.07.12
09:52
(18) тоже тема, правда школота не юзает вложенные - не пугай их
23 mirosh
 
05.07.12
09:54
(22) вообще какбы вложенные - моветон
24 vmv
 
05.07.12
09:55
(23) в динамических списках без них сложно, т.к. передавать в Дсписок кучку параметров тоже моветон
25 iceman2112
 
05.07.12
09:56
ладно всем спасибо, разобрались с культырным программиование
26 mirosh
 
05.07.12
09:57
(24) ну здесь главное, чтобы размер таблицы из вложенного запроса был небольшим, т.к. сервер 1с не знает размер этой таблицы до момента выполнения запроса, поэтому план запроса в некоторых случаях может быть составлен неоптоимальный.