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

Поделиться
HTML-код
  • Опубликовано: 6 фев 2025
  • Как работать с левым соединением в таблицах 1С на примерах. Работа с условием соединения. Что такое уникальный идентификатор (УИД). Как присвоить псевдоним таблицам.
    Наша статья:
    programmist1s.r...
    Читайте статьи по 1С на нашем сайте:
    programmist1s.r...

Комментарии • 67

  • @seraphim_one
    @seraphim_one 3 года назад +2

    Насколько доступно и за 7 минут! Спасибо гуру!

  • @dmitrylyskov68
    @dmitrylyskov68 2 года назад +4

    Привет Илья. Сегодня наконец сподобился наставить лайков на всё просмотренные уроки. Очень всё доходчиво и с юмором. Это здорово заменяет "семки", как Вы их назвали как то.))
    Термин Левое, да и Правое соединение был бы более понятен, если бы Вы написали имена соединяемых таблиц в одну строку. А так лучше назвать их Верхнее и Нижнее соединение)))))))))
    Удачи в делах и не бросайте нас в это тяжёлое время!!!!
    Кстати, на личный канал я тоже подписатся. Поздравляю.... СЕБЯ)))

  • @Школа1С-видеоурокибесплатно

    Как работать с левым соединением в таблицах 1С на примерах. Работа с условием соединения. Что такое уникальный идентификатор (УИД). Как присвоить псевдоним таблицам.
    Наша статья:
    programmist1s.ru/yazyik-zaprosa-1s/
    Услуги 1С программиста в Москве:
    1cproger.ru/
    Читайте статьи по 1С на нашем сайте:
    programmist1s.ru/materialyi-po-1s/

  • @ДенисКамалов-у2е
    @ДенисКамалов-у2е 3 года назад

    Спасибо за наглядное объяснение соединений, стало гораздо понятней.

  • @АлександрПро-н8в
    @АлександрПро-н8в 7 лет назад +5

    Спасибо! Коротко и понятно.

  • @ВиталийАнгелов-н6ъ
    @ВиталийАнгелов-н6ъ 6 лет назад +3

    Немного сложновато для первого понимания, но суть понятна. Спасибо. Думаю в процессе утрясется все)

  • @Александр-г4ъ8ъ
    @Александр-г4ъ8ъ 7 лет назад +6

    Отличные видеоуроки!!! Большое Благодарю!!!

  • @ЕленаЕленина-т7е
    @ЕленаЕленина-т7е 6 лет назад

    СПАСИБО за СУТЬ и полезность!!

  • @VforAllofUs
    @VforAllofUs 7 лет назад +4

    почти 2000 просмотров, никто не может нажать "не нравится", совесть мучает)) благодарен так же как все!

  • @russianbear3581
    @russianbear3581 5 месяцев назад

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

  • @ДмитрийДобрышин-в1ч

    Хотелось бы немного громче делать записи. Увы не всегда без акустического усилителя возможно разобрать что было сказано.

  • @pkq7297
    @pkq7297 4 года назад +3

    Дата рождения при выборке не работает при соединении ПО Сотрудник = Ссылка, в полях ДатаРождения при таком соединении появляется значение Null.
    Заработало либо по Сотрудник = Ссылка.Наименование, либо Сотрудник = Наименование. Скорее всего запрос просто не понимает что такое "Ссылка" и возвращает пустое значение. При этом при запросе ВЫБРАТЬ * ИЗ Справочник.Сотрудники возвращается таблица, содержащая столбец "Ссылка" в котором как раз указанны все ссылки, т.е. значение явно не Null. 1с 8.3

    • @ЮрийВВ-м6г
      @ЮрийВВ-м6г 11 месяцев назад

      Спасибо тебе! А то я что-то подзавис на этом моменте. При этом если писал вместо левого соединения правое, то выводилась как раз только дата рождения

  • @СергейГончаров-щ4у
    @СергейГончаров-щ4у 2 года назад

    Довольно трудная тема. Спасибо

  • @TarasAndreevi4
    @TarasAndreevi4 7 лет назад +24

    Все супер! Только две вещи. Первое, почему в екселе таблицу справа называют "левой", а таблицу слева - "правой". Второе, столбец с датами не выравнивания из-за ошибки данных - 31 февраля не существует (в месяце максимум 29 дней)

    • @nztex1447
      @nztex1447 6 лет назад +4

      как расположены таблицы в экселе это все равно, главное как они расположены в запросе, в нашей задаче слева от слов ЛЕВОЕ СОЕДИНЕНИЕ располагается основная таблица РегистрСведений.КадровыеПеремещения, и в неё подставляется поле с данными(в нашем случае дата рождения) от справочника сотрудники

    • @Mson0000
      @Mson0000 6 лет назад +2

      да где же слева если под словами ЛЕВОЕ СОЕДИНЕНИЕ, что то я тоже туплю

    • @IlyaLeontyev
      @IlyaLeontyev 6 лет назад +11

      Возможно, я действительно несколько усложнил понимание примера, расположим таблицы в Экселе таким образом.
      На самом деле неважно, каким образом расположены таблице в Экселе ) Главное - чтобы вы понимали суть.
      Левая таблица - основная, все записи левого соединения будут представлены в результате запроса.
      А в результате правого соединения к записям левой просто будут дописываться из правой.

  • @alex031973
    @alex031973 5 лет назад +3

    2:34 Проблема в Excel не с выравниваем, а с тем, что дата 31 февраля не существует. Поэтому Excel воспринял запись "31.02.1980" как строку, а не как дату. А строки в Excel выравниваются автоматически по левому краю.

  • @andrewbobrow3815
    @andrewbobrow3815 Год назад

    При объяснении в Экселе про левое соединение левая таблица справа, а правая таблица слева

  • @ЛёхаБукреев
    @ЛёхаБукреев 5 месяцев назад

    Не понятно всё-таки, какая таблица считается левой, какая правой. Как их вообще классифицировать на левые, правые. Во время произношения слов "из левой таблицы" на 8:35 помечается в экселя таблица, нарисованная справа. Ошибка или как это понять?

    • @russianbear3581
      @russianbear3581 3 месяца назад

      в видео да - левая таблица реально находится справа но это неважно. Важно какая таблица находится слева(сверху) от ключевых слов ЛЕВОЕ СОЕДИНЕНИЕ - именно она считается левой, независимо от реального местоположения. Чтобы было проще сбросить отвлекающее внимание можно вспомнить, что когда таблицы в памяти компа, там вообще нет понятий левее-правее.

  • @bambarbiyakirgudu
    @bambarbiyakirgudu 2 года назад

    Спасибо. Вроде ничего сложного.

  • @ksoik2
    @ksoik2 6 лет назад +5

    Честно говоря, не очень понял вот эту часть:
    "ПО Т1.Сотрудник= Т2.Ссылка"
    Вы сказали:
    1. Слева в выражении мы пишем "Сотрудник", т.к.: "..не сотрудник.код, а "сотрудник", потому что поле сотрудник и является этим кодом, здесь находится ссылка на сотрудника..."
    2. А справа мы пишем "Ссылка", т.к.: "уникальный код сотрудника это и есть его ссылка".
    Т.е. что "Сотрудник", что "Ссылка" - по сути одно и тоже?
    Но я перепробовал любые другие комбинации:
    ПО Т1.Ссылка = Т2.Ссылка;
    ПО Т1.Ссылка = Т2.Сотрудник;
    ПО Т1.Сотрудник = Т2.Сотрудник;
    ни одна не сработала.
    В связи с чем у меня вопрос (чисто для понимания): почему важно справа в выражении (т.е. для присоединяемой таблицы) писать "ссылка", а для таблице к которой присоединяем - "сотрудник". Почему нельзя в обоих случаях писать "Сотрудник" (если чисто на уровне БД - поле "Сотрудник" как раз содержит ссылку) или в обоих случаях "Ссылка" и т.п.
    Тут есть какое-то правило/объяснение (если да - хотелось бы его понять) или просто "вот так 1С устроено"?

    • @mone2002
      @mone2002 5 лет назад

      Если актуально то отвечу: Для понимания нужно выполлнить запрос:
      ВЫБРАТЬ *
      ИЗ Справочник.Сотрудники
      В результате он длает возможность понять что есть что. Щелкните по результату (по полю таблицы) и увидите что "ссылка" возращает "форму" в которой есть все, а если по наименованю то только "Имя", только значение поля в котором нет датырожд. (возможно не правильно объяснил, сам учусь. ну и сам к этому пришел разбираясь, "почему ссылка?!")

    • @melkiy1735
      @melkiy1735 5 лет назад +1

      В справочнике "Сотрудник" нет поля сотрудник, это наименование справочника. А вот ССЫЛКА у любого элемента данного справочника есть. И эта ссылка как раз его код. В регистре сведений нет ссылки как реквизита, а каждое поле уже является ссылкой на данное поле другой таблицы. Именно поэтому любое поле регистра является ссылкой на какую то таблицу (справочник, документ, план видов характеристик и т.д.). Поэтому в варианте:
      ПО Т1.Сотрудник = Т2.Сотрудник Т1 сравнивает запись сотрудник с самим справочником. Естественно это сделать не может, нам же надо найти именно элемент, а не сам справочник. Ну как то так) Успехов (тоже являюсь "стажер" в мире проектирования 1С)

  • @ВалерийБелов-н7д
    @ВалерийБелов-н7д 6 лет назад +2

    понятно все ок только для начинающих левая таблица находится справа, поменяй а то путаница а так пасипа смотрю все уроки и мне нравится хоть с 1с уже 20 лет. И не поверишь есть новые моменты, особенно в понимании. Предложение: В начле каждого урока брать пайнт и рисовать задачу а после ее выполнять. ВоМногих Есть но не во всех. А так круто, Спасибо.

  • @kilka13
    @kilka13 3 года назад

    спасибо!

  • @einstein6451
    @einstein6451 2 года назад +1

    Всё круто, но обычно под ЛЕВЫМ СОЕДИНЕНИЕМ подразумевается, что из ЛЕВОЙ ТАБЛИЦЫ берутся все поля, а из правой - по условию ЛЕВОГО СОЕДИНЕНИЯ, а в примере таблиц из экселя всё наоборот (т.е. правое соединение получилось) и поэтому можно запутаться.

  • @АлексейФедоскин-я2щ
    @АлексейФедоскин-я2щ 3 года назад +1

    Возможно я вперёд забегаю, но есть пример работы с базой SQL или нет никакой разницы?

  • @Matematik126
    @Matematik126 6 лет назад +4

    Оказывается в 1С у Запроса (SELECT) синтаксис обычного SQL. Смотрю, ба, да это же LEFT OUTER JOIN ))

    • @Crisis2424
      @Crisis2424 6 лет назад

      правильно, левое внешнее соединение и в 1с оно так же - точнее - получается это - внут. соединение двух таблиц (пересекающиеся данные по полям так скажем) + все что есть в левой таблице

  • @ga8an
    @ga8an 4 года назад +1

    Не понял что я упустил но пока я писал Т2.ссылка не работало соединение, заработало только так Т2.Наименование

  • @АлександрРубцов-ш5ш

    Подскажите пжл. Где 17 секунда видео у меня выходит ошибка {(9;4)} Таблица не найдена "РегистрСведений.КадровыеПеремещения.............. Как можно сверить, если я что-то написал не так?

  • @labs8752
    @labs8752 2 года назад

    Что непонятно: почему где "ПО" мы сравниваем не поле сотрудник = поле наименование, а поле сотрудник = ссылка? Что такое это ссылка, если в справочнике такого поля нет??

  • @NichtEinsteingen
    @NichtEinsteingen 3 года назад

    Я только учусь всему этому (решил уходить с линии тех. поддержки 1с в сторону программирования) Но у меня вопрос... Такое ощущение что тут только на обычных формах запрос, например: тут просто ПЕРИОД - а у меня в конструкторе запросов КадроваяИсторияСотрудников.Период КАК Период...

  • @ИльяТопалов-ч1т
    @ИльяТопалов-ч1т Год назад

    У меня вопрос к автору, зачем в экселе левую таблицу размещать справа было?_ чтобы новичкам было понятнее?))))

  • @cryptoprofit1190
    @cryptoprofit1190 Год назад

    Ну в целом понятно

  • @vladyan01
    @vladyan01 2 года назад

    Все делаю также, но строки дублируются, почему так может быть?

  • @Daos312
    @Daos312 4 года назад +1

    При соеденении поле ДатаРождения осталось пустым.А все потому что я измерение Сотрудник В регистре сделал не ссылкой справочником а просто строкой оставил по невнимательности.

    • @АртёмГоловкин-л1г
      @АртёмГоловкин-л1г 4 года назад

      Можете пожалуйста по подробнее рассказать, у меня та же проблема, захожу в список кадровые перемещения, нажимаю на строку, в поле сотрудник нажимаю 3 точки и выбираю сотрудника из справочника, но даты рождения после выполнения запроса не появляются

    • @Daos312
      @Daos312 4 года назад

      @@АртёмГоловкин-л1г проверьте типы данных что все соответствует как в видео. Я просто по невнимательности строку оставил. Строке и ссылаться то некуда))

  • @Don_Pehot
    @Don_Pehot 2 года назад

    Сказал что при левом соединений вся таблица слева попадает в результат, а сам правую целиком взял.

  • @artemadeev7444
    @artemadeev7444 4 года назад +1

    it this SQL language in Russia?

    • @toxicoff
      @toxicoff 4 года назад +2

      Yes, these crazy Russians program in Cyrillic SQL

  • @АлексейСклад-т9п
    @АлексейСклад-т9п 3 года назад

    Здравствуйте! Подскажите, можно ли в конце использовать функцию ПОДОБНО, применив её к столбцам Должность, Оклад, Подразделение?

  • @ЯрославЧерников-щ1щ
    @ЯрославЧерников-щ1щ 4 года назад +1

    Кто заметил что чистый аналог SQL запросов Left JOIN ? =)

    • @psyhorse
      @psyhorse 3 года назад +2

      точно так же как и все команды до этого, просто переведенные на русский. Select - выбрать, AS - как, And - и, и т.д. ПОка никакой разницы с SQL не видно вообще )

  • @АртурГороховский-ь4ф

    Про null надо было пример подобрать, ибо он тоже может возникнуть при соединениях. А так все хорошо.

    • @НикНиконор
      @НикНиконор 5 лет назад

      для новичков обязательно было указать, что значение правого поля если оно NULL нужно конвертировать в какой нибудь нужный пустой тип (или 0 если число) с помощью EстьNULL()

    • @СергейБухаркин
      @СергейБухаркин 4 года назад +1

      @@НикНиконор Вы можете рассказать по подробнее об этом? я столкнулся с данной проблемой

  • @vitaliys3827
    @vitaliys3827 3 года назад

    Бред имени 1с.как таблица сотрудников может быть левой, если она справа

  • @ilyalemin
    @ilyalemin 6 лет назад +1

    Впр только в 1с

  • @mone2002
    @mone2002 5 лет назад

    Немного взрывает мозг то что правую таблицу, называют левой и наоборот. У программеров частенько так... :-)

  • @ДиманБарабан
    @ДиманБарабан 6 лет назад

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

    • @nztex1447
      @nztex1447 6 лет назад

      как расположены таблицы в экселе это все равно, главное как они расположены в запросе, в нашей задаче слева от слов ЛЕВОЕ СОЕДИНЕНИЕ располагается основная таблица РегистрСведений.КадровыеПеремещения, и в неё подставляется поле с данными(в нашем случае дата рождения) от справочника сотрудники

    • @IlyaLeontyev
      @IlyaLeontyev 6 лет назад

      Возможно, я действительно несколько усложнил понимание примера, расположим таблицы в Экселе таким образом.
      На самом деле неважно, каким образом расположены таблице в Экселе ) Главное - чтобы вы понимали суть.
      Левая таблица - основная, все записи левого соединения будут представлены в результате запроса.
      А в результате правого соединения к записям левой просто будут дописываться из правой.

  • @Zumer-Alpha
    @Zumer-Alpha Год назад

    Я один запутался какая таблица слева, а какая справа?

    • @russianbear3581
      @russianbear3581 5 месяцев назад +1

      обрати внимание на код, таблица регистра находится слева.

  • @andrewbobrow3815
    @andrewbobrow3815 Год назад

    Тупой Эксель не понимает 31 февраля!

  • @РоманКолычев
    @РоманКолычев 6 лет назад +1

    Учусь запросам. Каждый урок по запросам делаю идентично как на экране только очень редко это работает в других базах. Теории слишком мало. Работает ТОЛЬКО в условиях что предлагает автор. Практической пользы информация не несет так как в реальной базе запросы в 95% не работают. Ставлю дизлайк

    • @macolaren8457
      @macolaren8457 6 лет назад +1

      Автор объясняет логику работы, а для каждого отдельного случая нужно составлять свой запрос.

    • @alexeypopov8741
      @alexeypopov8741 5 лет назад +4

      Смешной Вы Рома...Это не ваше.

  • @Alvarez77777
    @Alvarez77777 2 года назад

    31 февраля🤣🤣🤣🤣

  • @aigerimsuimkulkyzy6357
    @aigerimsuimkulkyzy6357 7 лет назад +5

    Огромное спасибо! Отличные уроки!