Проверка типа поля в запросе 1С

Для проверки типа поля в запросе 1С 8.3 можно воспользоваться функцией языка запросов ТИПЗНАЧЕНИЯ(<Поле>).

Пример:

ГДЕ
   ТИПЗНАЧЕНИЯ(Таблица.Сумма) = ТИП(ЧИСЛО)

Функция ТИП(<Имя типа>) получает тип по его имени. Имена примитивных типов: Число, Строка, Булево, Дата. Имена ссылочных типов строятся по следующему принципу: Документ.РеализацияТоворовУслуг или Справочник.Номенклатура.

Пример:

ВЫБРАТЬ
   ХозрасчетныйОбороты.Субконто1,
   ХозрасчетныйОбороты.Субконто2,
   ХозрасчетныйОбороты.Субконто3,
   ХозрасчетныйОбороты.СуммаОборот,
   ВЫБОР
     КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОбороты.Субконто3) = ТИП(Документ.РеализацияТоваровУслуг)
      ТОГДА "Реализация"
     КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОбороты.Субконто3) = ТИП(Документ.ПриходныйКассовыйордер)
      ТОГДА "ПКО"
     КОГДА ТИПЗНАЧЕНИЯ(ХозрасчетныйОбороты.Субконто3) = ТИП(Документ.РасходныйКассовыйОрдер)
      ТОГДА "РКО"
     ИНАЧЕ "Другой документ"
   КОНЕЦ КАК ТипДокументаРасчетов
ИЗ
   РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Регистратор, Счет = &Счет6201, , , , ) КАК ХозрасчетныйОбороты

Для полей ссылочного типа существует еще один способ проверки, используя оператор ССЫЛКА.

Пример:

ВЫБОР
     КОГДА ХозрасчетныйОбороты.Субконто3 ССЫЛКА Документ.РеализацияТоваровУслуг
      ТОГДА "Реализация"
     КОГДА ХозрасчетныйОбороты.Субконто3 ССЫЛКА Документ.ПриходныйКассовыйОрдер
      ТОГДА "ПКО"
     КОГДА ХозрасчетныйОбороты.Субконто3 ССЫЛКА Документ.РасходныйКассовыйОрдер
      ТОГДА "РКО"
     ИНАЧЕ "Другой документ"
КОНЕЦ