28.10.2021 Анна Лисовая 65619
Левое соединение таблиц

Содержание:

1.       Соединение в запросах 1С

2.       Левое соединение в запросе в 1С 8.3

 

1.      Соединение в запросах 1С

Соединение на платформе 1С – это одна из самых популярных и необходимых операций, которая выполняется посредствам реляционных систем по управлению базами данных. Данная операция используется для того, чтобы проводить сопоставление строк в одной из таблиц со строками в другой таблице.   

В случаях, когда внутри системы 1С возникает необходимость отображения данных по нескольким таблицам одновременно, то есть несколько таблиц соединяются в одну общую таблицу, мы пользуемся соединением таблиц данных, а также табличными связями.

Типы соединений таблиц:

1.       Левое соединение;

2.       Правое соединение;

3.       Внутреннее соединение;

4.       Полное соединение.



Рис. 1 Таблицы данных до соединения

Чтобы произвести соединение таблиц в запросе, необходимо прописать условия и типы тех полей, которые нужно связать друг с другом.

2.      Левое соединение в запросе в 1С 8.3

Левое соединение является одним из 4-х возможных видов соединений таблиц. При использовании левого соединения в запросе в 1С 8.3 мы сообщаем системе, что результат должен быть в виде абсолютно всех записей из левой таблицы с добавлением записей из правой таблицы, но только тех, которые подходят по условию связей.

Пусть нужно сделать связку таблиц, основываясь на поле товар. Условие у нас будет равно, тогда результатом будет следующая таблица, которая представлена на примере ниже:


Пусть у программиста есть две различные таблицы: в первой таблице находятся описания различных номенклатур, а во второй – информация по остаткам различных номенклатур, как показано на примерах таблиц ниже:


Рис. 2 Пример результата левого соединения в запросе в 1С

В этом случае текст запроса будет выглядеть следующим образом:   



Рис. 3 Запрос для соединения таблиц данных


В номенклатуре «Стул» нет сопоставления, так как данное поле не соответствует нашему условию, так что поле в общей таблице, после левого соединения таблиц будет иметь значение «NULL». Данное значение обязательно следует подвергнуть обработке при помощи функции «ЕСТЬNULL».

Механизм работы левого соединения в запросе схож с видом цикла внутри другого цикла, а именно: сначала берут первую запись из таблицы слева, после чего это значение «проходит» все записи в таблице справа и проверяет на соответствие условию для связи таблиц. Далее берётся вторая запись из левой таблицы и так далее, пока не произойдёт проверка каждой из записей.

Если под условие для связи подходят несколько пунктов из таблицы справа, то в таблице-результате появится несколько строк. Но, в таком случае, таблица не будет отражать корректную информацию, так что лучше проводить связи опираясь на два поля, в нашем примере, на «Товар» и «Цвет», при этом обязательно произвести обработку значений «NULL».

Таблица будет иметь следующий вид:


Рис. 4 Левое соединение таблиц - результат

А текст запроса, с обработкой, будет выглядеть так:



Рис. 5 Левое соединение в запросе



Специалист компании «Кодерлайн»

Анна Лисовая






Наши проекты

Внедрение системы финансового учета БИТ:Финанс
ООО «Алькор и Ко» (Л’Этуаль)

Отрасль:
Торговля

Внедренное типовое решение:
БИТ.Финанс

- Финансовый учет;
- Поддержка проекта внедрения МСФО;
- Регламентные рабо...

ООО «Солви Пак»
ООО «Солви Пак»

Отрасль:
Торговля. Производство печати на рулонных материалах

Внедренное типовое решение:
1С:CRM+1С:Комплексная автоматизация

Управление отношениями с клиентами (CRM) ...

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

Внедренное типовое решение:
1С:Управление торговлей

- Оформление заказов поставщикам
- Оформление заказов покупателей
- Упр...

Разработка функциональных требований к информсистеме на базе «1С:Управление холдингом 8»
ФГУП «СВЯЗЬ-безопасность»

Отрасль:
Охранные услуги

Внедренное типовое решение:
1С:Управление холдингом

- Зафиксировали процессы по блокам бухгалтерского, налогового учета, казнач...

Внедрение блока расчета себестоимости РАУЗ в 1С:УПП 8
ООО «Пелигрин Матен»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление производственным предприятием

– Оформление заказов покупателей;
– Взаиморасчеты с покупателями;
– О...

ЗАО «Инвестгеосервис»
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Объемно-календарное планирование производства Автоматизация бизнес-проце...

Автоматизация интеграции с информсистемами клиентов на базе «1С:Предприятие 8. WMS Логистика. Управление складом»
ОАО «Фрейт Линк»

Отрасль:
Логистика и грузоперевозки

Внедренное типовое решение:
«1С:Предприятие 8. WMS Логистика. Управление складом»

– Управление складскими запасами;
– Оформление заказов покупателей;
– ...

Апгрейд 1С:Бухгалтерия 8 ПРОФ (USB) до версии 1С:Бухгалтерия 8 КОРП (USB)
ООО «Ява Строй»

Отрасль:
Строительство

Внедренное типовое решение:
1С:Бухгалтерия 8 КОРП (USB)

- Создание чистых конфигураций. Внесение изменений в БД ЗУП и новая расчетна...

ООО «Лаборатория успеха»
ООО «Лаборатория успеха»

Отрасль:
Общественное и плановое питание, гостиничный бизнес, туризм

Внедренное типовое решение:
1С:Управление холдингом 8

Бухгалтерский учет;
Расчет зарплаты и кадровый учет;...

АО "Нижегородский водоканал"
АО "Нижегородский водоканал"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

-Кадровый учет
-Расчет зарплаты
-Регламентированная отчетность
-Подбор ...

ООО "ЛИКАРД" (Лукойл)
ООО "ЛИКАРД" (Лукойл)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

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

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО «Союз Три» (Кондитерский дом Renardi)
ООО «Союз Три»

Отрасль:
Производство

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Бухгалтерский учет
- Банк и касса
- Расчеты с контрагентами
Налоговый ...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение