No Image

1С запрос как объединить две таблицы

СОДЕРЖАНИЕ
7 просмотров
10 марта 2020

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

Объединение в запросах в языке 1С 8.3, 8.2 (в примерах)

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Зачастую даже опытные программисты допускают методическую ошибку при использовании конструкций ОБЪЕДИНИТЬ и ОБЪЕДИНИТЬ ВСЕ в языке запросов 1С 8. Рассмотрим подробнее, чем различаются эти конструкции и как их правильно использовать.

Конструкции ОБЪЕДИНИТЬ и ОБЪЕДИНИТЬ ВСЕ в языке запросов 1С 8.3

Конструкция ОБЪЕДИНИТЬ и ОБЪЕДИНИТЬ ВСЕ объединяет два результата запроса в один. Т.е. результат выполнения двух запросов будет «слит» в один, общий.

Получите 267 видеоуроков по 1С бесплатно:

Пример запроса для вывода всех документов поступлений и реализации:

Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг

Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг

Запрос получит данные из двух таблиц и объединит их.

В чем же разница между ОБЪЕДИНИТЬ и ОБЪЕДИНИТЬ ВСЕ

Конструкция ОБЪЕДИНИТЬ сливает два результата и группирует повторяющие строки, в отличие от ОБЪЕДИНИТЬ ВСЕ, которая не группирует автоматически строки результата.

Настоятельно рекомендуется использовать ОБЪЕДИНИТЬ ВСЕ в запросах, где заведомо невозможно получения одинаковых строк. Это существенно повышает производительность – система не пытается группировать строки.

Читайте также:  Как отключить встроенное видеоядро в биосе

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

рубрики: Запросы | Дата: 1 Февраль, 2016

Рассмотрим объединение таблиц в запросах 1С8. В этом случае итоговая таблица формируется путем размещенеия записей одной или нескольких таблиц под записями исходной таблицы. Объединение таблиц осуществляется с помощью функции ОБЪЕДИНИТЬ языка запросов 1С.

Эта функция используется в двух вариантах: ОБЪЕДИНИТЬ и ОБЪЕДИНИТЬ ВСЕ. Различие между ними в том, что при использовании ОБЪЕДИНИТЬ ВСЕ в итоговую таблицу добавляются все записи из таблиц, которые мы объединяем, а при использовании ОБЪЕДИНИТЬ в случае если в таблицах есть идентичные строки, то в итоговой таблице будет только одна строка, т.е. дубли строк в этом случае удаляются.

Продемонстрирую это на примере.
Откроем консоль запросов и создадим небольшой запрос, который создаст нам элементарную таблицу из пары колонок и одной строки:

В результате выполнения запроса получаем вот такую таблицу

Код ИмяСайта
001 professia1c.ru

А теперь добавим в нашу таблицу еще пару строк

Код ИмяСайта
001 professia1c.ru
002 1c.ru
001 professia1c.ru

Здесь мы видим, что первая и третья строка дублируются.

А теперь заменим функцию ОБЪЕДИНИТЬ ВСЕ на ОБЪЕДИНИТЬ перед третьей строкой:

В итоге видим, что дубли строк у нас исчезли

Код ИмяСайта
001 professia1c.ru
002 1c.ru
Читайте также:  Isbn для чего нужен

Теперь откроем последний запрос в конструкторе и перейдем на закладку Объединения/Псевдонимы, где как раз и отражается факт использования функции ОБЪЕДИНИТЬ.

В правой табличной части мы как раз видим три строчки с запросами, которые подлежат объединению, а флажок Без дубликатов отвечает за то будет ли при объединении использоваться функция ОБЪЕДИНИТЬ либо ОБЪЕДИНИТЬ ВСЕ.

Комментировать
7 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector