Запрос к базе данных

Соединения таблиц 1С

Соединения таблиц в запросе 1С бывают пяти видов: все ко всем, внутреннее, левое внешнее, правое внешнее, полное внешнее. Рассмотрим каждое из них в контексте механизма конструктора запросов. Для создания связи между таблицами необходим общий реквизит (или несколько реквизитов) в каждой таблице (само условие связи).

1) Если на закладке «Связи» конструктора запроса соединение не выбрано, то вид соединения будет «все ко всем«. Т.е. итоговая таблица будет состоять из строк, в которых каждая строка первой таблицы последовательно соединяется с каждой строкой второй таблицы.

2) «Внутреннее соединение» между таблицами применяется, когда нужно получить в итоговой таблице строки, которые есть только в первой и только во второй таблице. Для этого в конструкторе запросов на закладке «Связи» после колонок таблиц не нужно ставить никаких галочек. Галочки это флажки «Вид связи» на закладке «Связи».

3) Если установить две галочки на закладке «Связи» после таблиц, получим «Полное соединение«, при котором данные в итоговую таблицу попадут по всем строкам из первой и второй таблицы. Для строк, в которых будет не заполнено значение по связи, сформируется пустая строка со значением Null.

4) «Левое соединение» — когда выбрана одна галочка, означающая, что в итоговую таблицу попадут все данные таблицы с галочкой. А если для этих данных из второй таблицы значение не нашлось, аналогично полному соединению сформируется строка Null.

5) «Правое соединение» это такое соединение, при использовании которого платформа меняет местами таблицы и формирует «левое соединение». По сути, «правого соединения», нет.

1С условие в запросе

Рассмотрим варианты условий в запросе 1С на примере конструктора запросов. Условия в конструкторе запроса задаются на вкладке «Условия».

Список возможных условий в конструкторе запросов

Самыми понятными и простыми являются математические условия:

Описание простейших условий в 1С

Условие «В»

Такое условие позволяет найти в выбранном поле список значений, массив или другой запрос. Если поле есть в этом списке, то выражение вернет значение «Истина».

Условие «В Иерархии»

Условие на проверку принадлежности значения поля к вложенной иерархии.

Условие «Между»

Этот оператор определяет вхождение значения в какой-то интервал.

Условие «Подобие»

Сравнивает строковые значения по частичному вхождению.

Приведем пример некоторых служебных символов для шаблонов:

— % (процент)
Пример: ГДЕ Контрагенты.Ответственный ПОДОБНО «Иванов%» — отбор значений, которые начинается на «Иванов…»;

— _ (подчеркивание)
Пример: ГДЕ Контрагенты.Ответственный ПОДОБНО «_Александрович» — при этом условии подойдут значения, такие как: «Семен Александрович», «Игорь Александрович», и т.д.;