Запросы / Типы в запросе

//ТИПЗНАЧЕНИЯ возвращает тип поля, ТИП -
//тип по имени таблицы или примитива.
//Сравнение одного с другим и есть
//проверка типа внутри запроса
Запрос = Новый Запрос;
Запрос.Текст =
    "ВЫБРАТЬ
    |   Движения.Регистратор КАК Документ,
    |   ТИПЗНАЧЕНИЯ(Движения.Регистратор)
    |       КАК ВидДокумента
    |ИЗ
    |   РегистрНакопления.ОстаткиМатериалов
    |       КАК Движения
    |ГДЕ
    |   ТИПЗНАЧЕНИЯ(Движения.Регистратор) =
    |       ТИП(Документ.ПриходнаяНакладная)";

Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий(Цикл
    Сообщить(Выборка.ВидДокумента);
КонецЦикла;
//Сообщает: Документ.ПриходнаяНакладная

//У примитивов имя типа пишут без таблицы:
//ТИП(СТРОКА), ТИП(ЧИСЛО), ТИП(ДАТА),
//ТИП(БУЛЕВО)