Имя: Пароль:
1C
 
как в запросе получить отсутствие записей в регистре = ИСТИНА?
0 svird
 
27.01.17
12:54
Сделал запрос в РЛС, работает, но надо еще проверку, что бы возвращало ИСТИНА, если по пользователю нет записей в регистре

ЗаказПокупателя ИЗ Документ.ЗаказПокупателя КАК ЗаказПокупателя
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПраваНаЗаказыПокФ_КурьерскаяСлужба КАК ПраваНаЗаказыПокФ_КурьерскаяСлужба
    ПО ЗаказПокупателя.Ф_КурьерскаяСлужба = ПраваНаЗаказыПокФ_КурьерскаяСлужба.Ф_КурьерскаяСлужба
ГДЕ ПраваНаЗаказыПокФ_КурьерскаяСлужба.Пользователь = &ТекущийПользователь
1 svird
 
27.01.17
12:56
Что-то затупил, не могу сам выкрутить.
2 kumena
 
27.01.17
13:00
так работает?

Выбрать
1,
Выбор Когда Количество(ЛеваяТаблица.*) > 0 Тогда Ложь Иначе Истина Конец

Левое соединение ...
3 svird
 
27.01.17
13:07
(2) что то не склею, не пойму куда воткнуть
4 svird
 
27.01.17
13:11
(2) просто непонятно куда условие воткнуть Пользователь = &ТекущийПользователь
5 youalex
 
27.01.17
13:12
НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ ...)
6 svird
 
27.01.17
13:12
(5) напишите в моем запросе, не уловлю логику
7 Zmich
 
27.01.17
13:14
А так?

ВЫБРАТЬ
  ЗаказПокупателя.Ссылка,
  ВЫБОР
    КОГДА ПраваНаЗаказПокФ_КурьерскаяСлужба.Пользователь ЕСТЬ NULL ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ
  КОНЕЦ КАК НетЗаписейВРегистре
ИЗ
  Документ.ЗаказПокупателя КАК ЗаказПокупателя
  ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПраваНаЗаказыПокФ_КурьерскаяСлужба КАК ПраваНаЗаказыПокФ_КурьерскаяСлужба
    ПО ЗаказПокупателя.Ф_КурьерскаяСлужба = ПраваНаЗаказыПокФ_КурьерскаяСлужба.Ф_КурьерскаяСлужба
ГДЕ ПраваНаЗаказыПокФ_КурьерскаяСлужба.Пользователь = &ТекущийПользователь
8 osa1C
 
27.01.17
13:16
(0) Когда нет записей в регистре то количество записей в результате запроса = ноль.
9 youalex
 
27.01.17
13:17

ЗаказПокупателя ИЗ Документ.ЗаказПокупателя КАК ЗаказПокупателя
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПраваНаЗаказыПокФ_КурьерскаяСлужба КАК ПраваНаЗаказыПокФ_КурьерскаяСлужба
    ПО ЗаказПокупателя.Ф_КурьерскаяСлужба = ПраваНаЗаказыПокФ_КурьерскаяСлужба.Ф_КурьерскаяСлужба
И  ПраваНаЗаказыПокФ_КурьерскаяСлужба.Пользователь = &ТекущийПользователь

ГДЕ
    (1 НЕ В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.ПраваНаЗаказыПокФ_КурьерскаяСлужба)
    ИЛИ ПраваНаЗаказыПокФ_КурьерскаяСлужба.Пользователь IS NOT NULL )
10 Zmich
 
27.01.17
13:20
(8). К регистру идет левое (а не внутреннее) соединение, так что записи будут.
11 kumena
 
27.01.17
13:20
Выбрать
    Ссылка  КАК Записи

Поместить ЛеваяТаблица    
Из Справочник.СотрудникиОрганизаций
Где Ссылка.наименование = "2"

;

Выбрать
    Выбор Когда Количество(Записи)> 0 Тогда Ложь Иначе Истина Конец
Из (
    Выбрать
        1
    ) КАК Основная
    
    Левое соединение ЛеваяТаблица КАК ЛеваяТаблица
    По Истина
12 svird
 
27.01.17
13:21
(9) не что то не то, у тех у кого нет записи в регистре Заказы не показывает
13 youalex
 
27.01.17
13:22
Поместить разве можно в RLS?
14 kumena
 
27.01.17
13:23
> просто непонятно куда условие воткнуть Пользователь = &ТекущийПользователь

с примером понятней?
15 kumena
 
27.01.17
13:24
> Поместить разве можно в RLS?

может и нет, но разве проблема в запрос её сунуть?
16 youalex
 
27.01.17
13:24
(12) сорян, добавь тогда условие в:
НЕ В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.ПраваНаЗаказыПокФ_КурьерскаяСлужба ГДЕ Пользователь = &ТекущийПользователь)
17 svird
 
27.01.17
13:28
(16) Шикарно, спасибо, то что нужно