Здравствуйте, подскажите пожалуйста ответ на такой вопрос.

Есть документ, в нем Реквизит ОснованиеДокумент (составной тип данных на два документа, есть 2 документа с одинаковыми табличными частями. Док1. ТабличнаяЧасть и Док2.ТабличнаяЧасть)

Мне нужен запрос в котором я бы смог по типу реквизита ОснованиеДокумент выбирать табличную часть ИМЕННО одного из двух документов и работать с ней.

 Как можно реализовать? Может быть как то определить по типу документа? (но не сталкивался с таким вопросом, прошу помощи, спасибо.) Именно пример.

Пробовал обращаться через точку ОснованиеДокумент.ТабличнаяЧасть (но это не верно и не разрешает система так делать соответственно)
---
ВЫБРАТЬ
 ..
ИЗ
 Документ.Док1.ИмяТабличнойЧасти
ГДЕ
 Ссылка = &ОснованиеДокумент

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
 ...
ИЗ
 Документ.Док2.ИмяТабличнойЧасти
ГДЕ
 Ссылка = &ОснованиеДокумент
;
---
В дополнение к (2).

Используйте конструкцию ВЫБОР для реализации условия в запросе. Пример:

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

ВЫБРАТЬ

тчДокумент.Реквизит1,
тчДокумент.Реквизит2,
...
тчДокумент.РеквизитN

ИЗ Документы.Документ1.ТабличнаяЧасть КАК тчДокумент

ГДЕ тчДокумент.Ссылка В (ВЫБРАТЬ Документ.ДокументОснование ИЗ Документы.ОсновнойДокумент КАК Документ ГДЕ Документ.ДокументОснование ССЫЛКА Документы.Документ1)

т. е. выборка идет по таблице табличной части документа типа Документ1 (данные из табличных частей документов типа Документ2 в выборку точно никак не попадают). В условии присутствует вложенный запрос, который выбирает все значения ДокументОснование из таблицы основного документа. Поэтому в выборку попадут только данные тех документов, на которые ссылаются ОсновныеДокументы через реквизит ДокументОснование (это на случай, если есть документы типа Документ1, на которые нет ссылок как на документ основание). Также во вложенном запросе есть условие с тем самым оператором ССЫЛКА, хотя в общем и без него результат будет тот же.
---
ВЫБРАТЬ
 ..
ИЗ
 Документ.Док1.ИмяТабличнойЧасти
ГДЕ
 Ссылка = &ОснованиеДокумент

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
 ...
ИЗ
 Документ.Док2.ИмяТабличнойЧасти
ГДЕ
 Ссылка = &ОснованиеДокумент
;
---
Используйте оператор ССЫЛКА,

например:

ГДЕ
  ТоварыНаСкладах.Регистратор ССЫЛКА Документ.СписаниеТоваров
---
Вообще (2) - правильный ответ. Лучше использовать оператор ССЫЛКА. Написать ГДЕ Документ.ДокументОснование ССЫЛКА Документы.Документ1, т. е. если по русски, то где значение реквизита ДокументОснование - это ссылка на значение типа Документ1. Но это условие поможет Вам выбрать все документы типа ОсновнойДокумент, которые реквизитом ДокументОснование ссылаются на документ типа Документ1. Если же нужно сделать выборку из табличных частей документов только одного из двух типов, на которые ссылаются основные документы через реквизит документ основание, то возможно лучше будет сделать примерно так:

ВЫБРАТЬ

тчДокумент.Реквизит1,
тчДокумент.Реквизит2,
...
тчДокумент.РеквизитN

ИЗ Документы.Документ1.ТабличнаяЧасть КАК тчДокумент

ГДЕ тчДокумент.Ссылка В (ВЫБРАТЬ Документ.ДокументОснование ИЗ Документы.ОсновнойДокумент КАК Документ ГДЕ Документ.ДокументОснование ССЫЛКА Документы.Документ1)

т. е. выборка идет по таблице табличной части документа типа Документ1 (данные из табличных частей документов типа Документ2 в выборку точно никак не попадают). В условии присутствует вложенный запрос, который выбирает все значения ДокументОснование из таблицы основного документа. Поэтому в выборку попадут только данные тех документов, на которые ссылаются ОсновныеДокументы через реквизит ДокументОснование (это на случай, если есть документы типа Документ1, на которые нет ссылок как на документ основание). Также во вложенном запросе есть условие с тем самым оператором ССЫЛКА, хотя в общем и без него результат будет тот же.
---
В (ВЫБРАТЬ Документ.ДокументОснование ИЗ Документы.ОсновнойДокумент КАК Документ ГДЕ Документ.ДокументОснование ССЫЛКА Документы.Документ1)
За такое по рукам! У SQL крышу сорвет от таких конструкций
---
В дополнение к (2).

Используйте конструкцию ВЫБОР для реализации условия в запросе. Пример:

ВЫБОР
     КОГДА ОснованиеДокумент ССЫЛКА Документ.РеализацияТоваровУслуг
      ТОГДА "Реализация"
     КОГДА ОснованиеДокумент ССЫЛКА Документ.ПриходныйКассовыйОрдер
      ТОГДА "ПКО"
     ИНАЧЕ "Другой документ"
КОНЕЦ
---
Используйте функцию запроса ТИПЗНАЧЕНИЯ

Справка из справочника 1с

Функция опеределения типа значения в запросе.

Параметры функции:

Параметр — выражение любого типа

Возвращаемое значение: тип значения.

Пример:

ВЫБРАТЬ ТИПЗНАЧЕНИЯ(Продажи.Регистратор)
ИЗ РегистрНакопления.Продажи КАК Продажи
---
А еще можно
Выбрать
Т1.*
Из Документ1.ТЧ Как Т1
Внутренне Соединение Документ.ПервыйТипДокумента Как П1
По Т1.Основание = П1.Ссылка И &ПервыйТип = Истина

Объединить

Выбрать
Т1.*
Из Документ1.ТЧ Как Т1
Внутренне Соединение Документ.ВторойТипДокумента Как П2
По Т1.Основание = П2.Ссылка И &ПервыйТип = Ложь
---
А в коде уже вычислять принадлежность типу
---
Всем большое спасибо, сделал первым способом.