Имя: Пароль:
1C
1С v8
Запрос, включая пустые
0 withoutname
 
20.04.13
19:16
Всем привет. Подскажите, пожалуйста.
Есть справочник, есть регистр сведений, в котором используется справочник.
Как составить запрос, чтобы в него попали все элементы справочника, даже если в регистре этот элемент не используется?

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

СГРУППИРОВАТЬ ПО
   Модели.Ссылка,
   АС_ДвижениеСрезПоследних.Автомобиль.Модель
1 NDN
 
20.04.13
19:18
Запрос к справочнику, к нему присоединять регистр
2 ptitz
 
20.04.13
19:21
Левое соединение
3 withoutname
 
20.04.13
19:24
(2) не дает нужного результата, не показывает, те элементы, которые не используются в регистре
4 withoutname
 
20.04.13
19:24
(1) можно поподробнее?
5 NDN
 
20.04.13
19:26
1. Создаешь запрос к справочнику, чтоб выдавал все элементы.
2. Создаешь вложенный запрос, уже к регистру сведений. Левое соединение, связь по элементу справочника.
Вуаля! :)
6 ptitz
 
20.04.13
19:52
(3) а может он в регистре используется, но не проходит условие "Где"?
7 withoutname
 
20.04.13
19:55
(6) исключено, при записи в регистр ограничен список элементов справочника
8 withoutname
 
20.04.13
19:56
(5) ох, блин, я этого боялся... надо разбираться с вложенными запросами...
9 NDN
 
20.04.13
20:00
(8) А что сложного? :) Конструктор рулит
Создай запрос к справочнику, чтоб выводил все элементы. В консоли запросов. Сохрани его.
Потом в консоли создай вложенный запрос. Выбери свой регистр, там две переменных - модели и количество.
В закладке "связи" установи связь между элементом справочника и моделью из регистра, поставь левое соединение
10 ptitz
 
20.04.13
20:00
(7)При левом соединении должны попасть все элементы из левой таблицы, которые не соединены ни с какой строкой из правой таблицы.
11 ptitz
 
20.04.13
20:02
(7) Если убрать раздел "Где" и соединение сделать левым тоже будут отсутствовать какие-то элементы справочника?
12 withoutname
 
21.04.13
09:09
(11) первые два условия убираешь показываются... :)
13 withoutname
 
21.04.13
09:15
(11) как тогда быть с условием?
14 withoutname
 
21.04.13
09:57
Вот такую табличку хочу получить через запрос, получится?
http://s019.radikal.ru/i608/1304/09/f58ff3383297.jpg
15 vicof
 
21.04.13
10:04
(0) Типичная ошибка, если делать левое соединение и при этом накладывать условия в секции ГДЕ на правую таблицу, соединение автоматически преобразуется во внутреннее.
Чтобы ее избежать нужно накладывать эти условия в самом соединении.
16 withoutname
 
21.04.13
16:13
После просмотра видео о Вложенных запросах я все таки это сделал. Всем спасибо за участие!
Независимо от того, куда вы едете — это в гору и против ветра!