Имя: Пароль:
1C
1С v8
Запрос как связать, чтобы достать все кроме тех что есть во 2-й табл
, ,
0 laby1
 
26.02.16
15:36
В условии доступа нужно скрыть недоступные документы:

то есть надо из табл РеализацияТоваровИУслуг только те, которых нет в НедоступныеДокументыРеализации (сделал ее с помощью влож запроса)

ну в SQL это так:
select * from t1 where t1.id not in (select id from t2)


РеализацияТоваровИУслуг ИЗ Документ.РеализацияТоваровИУслуг КАК РеализацияТоваровИУслуг, (ВЫБРАТЬ
    РеализацияТоваровИУслуг.Ссылка КАК Ссылка
ИЗ
    Документ.РеализацияТоваровИУслуг КАК РеализацияТоваровИУслуг
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            Номенклатура.Ссылка КАК Ссылка
        ИЗ
            Справочник.Номенклатура КАК Номенклатура
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаправлениеМенеджера КАК НаправлениеМенеджера
                ПО Номенклатура.Родитель = НаправлениеМенеджера.НоменклатурнаяГруппа
        ГДЕ
            НаправлениеМенеджера.Пользователь <> &Пользователь) КАК НедоступнаяНоменклатура
        ПО РеализацияТоваровИУслуг.Товары.Номенклатура = НедоступнаяНоменклатура.Ссылка) КАК НедоступныеДокументыРеализации
1 Cyberhawk
 
26.02.16
15:39
ТАк точно так же, как ты написал в SQL
2 Лефмихалыч
 
26.02.16
15:41
ВЫБРАТЬ
Док.Ссылка
ИЗ Документ.РеализацияТоваровИУслуг КАК ДОк
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НедоступныеДокументыРеализации как РС
ПО Док.Ссылка = РС.Документ
ГДЕ РС.Документ есть NULL
3 FIXXXL
 
26.02.16
15:42
select * from t1 where t1.id not in (select id from t2)

ну так и в 1с запросе напиши так же

ВЫБРАТЬ
    ОбращениеТО.Ссылка
ИЗ
    Документ.ОбращениеТО КАК ОбращениеТО
ГДЕ
    НЕ ОбращениеТО.Ссылка В
                (ВЫБРАТЬ
                    ОбращениеТО.Ссылка
                ИЗ
                    Документ.ОбращениеТО КАК ОбращениеТО
                ГДЕ
                    ОбращениеТО.Дата < &Дата)
4 laby1
 
26.02.16
16:06
Запрос получился, осталось только впихнуть его в условие доступа

Выбрать РеализацияТоваровИУслуг.Ссылка ИЗ Документ.РеализацияТоваровИУслуг КАК РеализацияТоваровИУслуг
    ГДЕ НЕ РеализацияТоваровИУслуг.Ссылка В (ВЫБРАТЬ
        РеализацияТоваровИУслугТовары.Ссылка КАК Ссылка
    ИЗ
        Документ.РеализацияТоваровИУслуг.Товары КАК РеализацияТоваровИУслугТовары
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                Номенклатура.Ссылка КАК Ссылка
            ИЗ
                Справочник.Номенклатура КАК Номенклатура
                    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаправлениеМенеджера КАК НаправлениеМенеджера
                    ПО Номенклатура.Родитель = НаправлениеМенеджера.НоменклатурнаяГруппа
            ГДЕ
                НаправлениеМенеджера.Пользователь <> &Пользователь) КАК НедоступнаяНоменклатура
            ПО РеализацияТоваровИУслугТовары.Номенклатура = НедоступнаяНоменклатура.Ссылка)
5 laby1
 
26.02.16
16:09
Да, получилось, урра!!!

РеализацияТоваровИУслуг ИЗ Документ.РеализацияТоваровИУслуг КАК РеализацияТоваровИУслуг
    ГДЕ НЕ РеализацияТоваровИУслуг.Ссылка В (ВЫБРАТЬ
        РеализацияТоваровИУслугТовары.Ссылка КАК Ссылка
    ИЗ
        Документ.РеализацияТоваровИУслуг.Товары КАК РеализацияТоваровИУслугТовары
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                Номенклатура.Ссылка КАК Ссылка
            ИЗ
                Справочник.Номенклатура КАК Номенклатура
                    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаправлениеМенеджера КАК НаправлениеМенеджера
                    ПО Номенклатура.Родитель = НаправлениеМенеджера.НоменклатурнаяГруппа
            ГДЕ
                НаправлениеМенеджера.Пользователь <> &Пользователь) КАК НедоступнаяНоменклатура
            ПО РеализацияТоваровИУслугТовары.Номенклатура = НедоступнаяНоменклатура.Ссылка)

Если бы еще на сайте правильно код выделялся ...
6 laby1
 
26.02.16
16:19
(3) Всё хорошо, только в конструкторе запроса оно всё одним текстом в условии, даже при редактировании условия нельзя конструктор запроса вызвать, хорошо есть консоль
7 FIXXXL
 
26.02.16
17:21
(6) открой условие, выдели текст запроса и ПКМ-Конструктор запроса
8 Necessitudo
 
26.02.16
17:48
(5) Убей себя об стенку за то что написал.
9 Лефмихалыч
 
26.02.16
17:53
(8) +1
10 Asmody
 
26.02.16
19:01
Кто бы объяснил, почему, при наличии временных таблиц, люди продолжают громоздить вложенные запросы?
11 Asmody
 
26.02.16
19:02
(5) помоги парсеру - оберни код в теги!
12 Лефмихалыч
 
26.02.16
19:03
(10) потому, что среднестатистическому колхознику "выбрать из выбрать" интуитивно понятнее, чем какие-то там ботанские множества и их сложения-вычитания-умножения
13 MishaD
 
26.02.16
22:15
(12) Мне, как среднестатическому колхознику временные таблицы гораздо понятней, чем выбрать из выбрать из выбрать.
14 Alex S D
 
26.02.16
22:17
(12)(13) а не один ли это хер извините? о вкусах не спорят.. умные
15 MishaD
 
26.02.16
22:21
(14) нет, у временных читабельность лучше.
16 Alex S D
 
26.02.16
22:56
(15) я лучше читаю вложенные запросы
17 Drac0
 
26.02.16
23:34
(16) а скульный оптимизатор хуже :(