- •Лабораторная работа № 5 Документы, регистры накопления
- •5.1. Создание документа
- •5.2. Регистры накопления
- •5.3. Настройка проведения документа
- •5.4. Выводы
- •Лабораторная работа № 6 Документы, макеты, журналы документов
- •6.1. Разработка печатной формы документа
- •6.2. Разработка документа ОтпускМатериаловМастеру
- •6.4. Выводы
- •6.3. Журнал документов
- •Лабораторная работа № 7 Запросы, обработки
- •7.1. Основные сведения о запросах
- •Источники данных для запросов
- •Написание текста запроса
- •Выполнение запроса и обработка результатов запроса
- •7.2. Создание внешней обработки КонсольЗапросов
- •7.3. Изучение конструктора запросов и языка запросов
- •Левое внешнее соединение
- •Правое внешнее соединение
- •Полное внешнее соединение
- •Внутреннее соединение
- •7.4. Выводы
- •Лабораторная работа № 8 Отчеты
- •8.1. Создание отчета
Левое внешнее соединение
При левом соединении таблиц Номенклатура и ЕдиницыИзмерения в выборку попадут все записи из справочника Номенклатура и только те записи из справочника ЕдиницыИзмерения, которые соответствуют условиям соединения. Если записи из справочника Номенклатура не соответствует ни одна запись из справочника ЕдиницыИзмерения, поле окажется пустым - в него будет записано значение Null.
Воспользуемся Конструктором запроса для того, чтобы построить запрос по двум таблицам. На рис. 7.21 вы можете видеть вкладку конструктора Таблицы и поля.
Рис. 7.21. Конструктор запроса, вкладка Таблицы и поля
В область Таблицы добавлены таблицы справочников Номенклатура и ЕдиницыИзмерения, в область Поля добавлены поля Номенклатура.Наименование и ЕдиницыИзмерения.Наименование.
Если на вкладке Таблицы и поля задается выборка более чем из одной таблицы, в окне появляется дополнительная вкладка - Связи. На ней задаются связи между таблицами. Перейдем на эту вкладку, рис. 7.22.
Рис. 7.22. Конструктор запроса, вкладка Связи
По умолчанию здесь установлен выбор всех элементов справочника Номенклатура и подбор соответствующих им полей из справочника ЕдиницыИзмерения по следующему условию:
Номенклатура.ЕдиницаИзмерения = ЕдиницыИзмерения.Ссылка
То есть - условие предполагает выполнение равенства реквизита ЕдиницаИзмерения справочника Номенклатура с элементом справочника ЕдиницыИзмерения.
Обратите внимание на поле Все около поля Таблица1, в котором установлена галочка. Такая настройка соответствует правилам левого внешнего соединения, то есть - в запрос попадут все данные из Таблицы1 и лишь соответствующие им данные из Таблицы2. Такое же поле есть и около поляТаблица2. Расстановка галочек в этих полях и определяет вид соединения таблиц.
Сделаем еще некоторые настройки в Конструкторе запроса. В частности, перейдем на вкладку Объединения/Псевдонимы, рис. 7.23.
Рис. 7.23. Конструктор запроса, вкладка Объединения/Псевдонимы
Здесь, в поле Имя поля задаются имена полей результатов запроса. Так как поля разных справочников имеют одинаковые имена ( Наименование ), здесь мы видим имя Наименование для справочника Номенклатура и Наименование1 для справочника ЕдиницыИзмерения. Для удобства работы изменим эти имена, соответственно, на Номенклатура и ЕдиницаИзмерения, рис. 7.24.
Рис. 7.24. Конструктор запроса, вкладка Объединения/Псевдонимы
Теперь настройки Конструктора окончены, нажмем ОК и выполним полученный запрос, рис. 7.25.
Рис. 7.25. Результат выполнения запроса
Мы получили следующий текст запроса:
ВЫБРАТЬ
Номенклатура.Наименование КАК Номенклатура,
ЕдиницыИзмерения.Наименование КАК ЕдиницаИзмерения
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
ПО Номенклатура.ЕдиницаИзмерения = ЕдиницыИзмерения.Ссылка
Команда ЛЕВОЕ СОЕДИНЕНИЕ задает способ соединения таблиц.
Этот запрос можно интерпретировать так: выбрать все элементы из справочника Номенклатура и "присоединить" к ним элементы справочника ЕдиницыИзмерения, соответствующие условию.
