Имя: Пароль:
1C
1С v8
Как сделать такой запрос
,
0 AlStorm
 
04.02.13
17:38
Всем привет! У меня уже полпервого ночи, голова не варит, а работать надо..
Слушайте, мне нужен такой вот запрос:
Есть поле типа Булево. Есть список значений, например, типа "Справочник номенклатура". Надо написать тако
1 AlStorm
 
04.02.13
17:38
Блин( Щас допишу
2 Ёпрст
 
04.02.13
17:39
Иди спать ужо!
3 AlStorm
 
04.02.13
17:41
Надо написать такой запрос, который при поле Булево = Истина - получит все записи справочника Номенклатуры, которые содержатся в списке, а при = Ложь - записи, кроме тех, что в списке значений.
Вот.
Желательно чтобы запрос быстро работал, безо всяких вложенных таблиц и диких условий.
Мне в мой уставший мозг приходят мысли только с условиями (Выбор КОГДА), и мне это нифига не нравится:(
4 Maxus43
 
04.02.13
17:41
Где
(&МойТипБулево ИЛИ НЕ Номенклатура В(&СписокНоменкл))
5 AlStorm
 
04.02.13
17:43
(4)
Понял, спсибо)
А если представить что тот список значений - это регистр сведений, и надо сделать соединение, то как?
6 DrShad
 
04.02.13
17:44
(5) тогда вместо ГДЕ пишешь ПО
7 Maxus43
 
04.02.13
17:44
(5) в ВТ запихни свой "список значений" из РС
8 Maxus43
 
04.02.13
17:44
(6) я против выражений в соединении по религиозным соображениям! )
9 AlStorm
 
04.02.13
17:46
По секрету - мне это для RLS надо)
Подглядел бы в Ут11, но там так наворотили, что хрен разберешь
10 DrShad
 
04.02.13
17:57
а у тебя УФ?
11 AlStorm
 
04.02.13
18:00
ну
12 Reset
 
04.02.13
18:01
(3)
"при поле Булево = Истина - получит все записи справочника Номенклатуры, которые содержатся в списке"

означает, что все что есть в справочнике (т.е. без ограничения), или все из "списка значений"?
13 AlStorm
 
04.02.13
18:03
(12)
Все те, что в списке значений. Или в регистре сведений (в моем случае будет не список значений, а регистр сведений)
14 DrShad
 
04.02.13
18:04
(11) ничего особо там не наворочено - есть несколько групп доступа и профилей, в профиле указывается перечень групп и юзеров. В группе доступа по объекту список разрешенных или запрещеных
15 DrShad
 
04.02.13
18:04
(13) пихай его с отборами в ВТ
16 Reset
 
04.02.13
18:05
(13) тогда (для списка)
&МойТипБулево И Номенклатура В(&СписокНоменкл)
ИЛИ
Не &МойТипБулево И НЕ Номенклатура В(&СписокНоменкл)
17 DrShad
 
04.02.13
18:06
(16) вот только запросы в RLS малость отличаются синтаксисом :))))
18 AlStorm
 
04.02.13
18:09
(17)
Да знаю я.. Это мои первые ковыряния в RLS. Поэтому я и написал, что без подзапросов.. и проще!
19 fisher
 
04.02.13
18:09
(5) Можно так в RLS для регистра сведений
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
ЛЕВОЕ СОЕДИНЕНИЕ МойРегистрСведений ПО ТекущаяТаблица.Номенклатура = МойРегистрСведений.Номенклатура
ГДЕ &Булево ИЛИ МойРегистрСведений.Номенклатура ЕСТЬ NULL
20 Reset
 
04.02.13
18:10
+(16)
или в случае соединения с регистром
Где
&МойТипБулево И Не МойРС.Номенклатура is Null
ИЛИ
Не &МойТипБулево И МойРС.Номенклатура is Null
21 AlStorm
 
04.02.13
18:11
(19)
Логично) Спасибо.

PS Дожился, затупил на фонарнейшей задачке, хотя в универе булевские задачи щелкал))

pps Пошел я спать))
22 Reset
 
04.02.13
18:12
(17)  я просто условие написал в плюс к (4), а синтаксис пусть автор сам правит :)
типа отмазался)
23 AlStorm
 
04.02.13
18:12
Кстати, эта вот фигня, что булева - тоже будет в регистре сведений))) НУ а как же иначе, параметры в RLS не передать)
24 DrShad
 
04.02.13
18:12
только на большом объеме будет долго отбирать
25 Reset
 
04.02.13
18:13
(21) в (19) вариант для того случая, если на вопрос из (12) ответить "все записи из справочника", а ты вроде по другому хотел
26 Reset
 
04.02.13
18:14
(23) Параметры сеанса можно использовать как "параметры"
27 AlStorm
 
04.02.13
18:15
(24)
У меня, когда я открываю шаблон ограничения RLS в УТ11, конфигуратор на минуты две виснет... Я думаю, что там тоже не все радужно) Но работает как-то..
28 AlStorm
 
04.02.13
18:15
(26)
Да, точно, забыл
Независимо от того, куда вы едете — это в гору и против ветра!