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