Работа с типами

//Отдельной проверки "это примитив"
//в платформе нет. Её собирают из
//описания типов: набор заводят один раз
//и спрашивают о каждом значении
Примитивные = Новый ОписаниеТипов(
    "Число, Строка, Дата, Булево");

Набор = Новый Массив;
Набор.Добавить(42);
Набор.Добавить("текст");
Набор.Добавить(Новый Массив);
Набор.Добавить(Справочники.Сотрудники
    .ПустаяСсылка());

Виды = Новый Массив;
Для Каждого Элемент Из Набор Цикл
    ТипЭлемента = ТипЗнч(Элемент);
    Если Примитивные.СодержитТип(
        ТипЭлемента) Тогда
        Виды.Добавить("примитив");
    ИначеЕсли Справочники.ТипВсеСсылки()
        .СодержитТип(ТипЭлемента) Тогда
        Виды.Добавить("справочник");
    Иначе
        Виды.Добавить("объект");
    КонецЕсли;
КонецЦикла;
Сообщить(СтрСоединить(Виды, " "));
//Сообщает: примитив примитив объект
//справочник