Узнать тип объекта (справочник, документ, перечисление...), можно используя функцию "XMLТипЗнч".
//Если СоединениеС1С_.Справочники.ТипВсеСсылки().СодержитТип(СоединениеС1С_.ТипЗнч(Источник)) Тогда
Если Найти(СоединениеС1С_.XMLТипЗнч(источник).TypeName,"CatalogRef")>0 Тогда
Вид = Источник.Метаданные().Имя;
Если Вид="Партнеры" Тогда
Вид="Контрагенты";
КонецЕсли;
Если Источник.Пустая() Тогда
Возврат Справочники[Вид].ПустаяСсылка();
КонецЕсли;
УиИст = СоединениеС1С_.string(Источник.УникальныйИдентификатор());
Уи = Новый УникальныйИдентификатор(УиИст);
Нашли = Справочники[Вид].ПолучитьСсылку(Уи);
Если Найти(строка(Нашли),"<Объект не найден>")>0 Тогда
Сообщить_("Не нашли в УТ:"+вид+": "+Источник.Наименование);
КонецЕсли;
Возврат Нашли;
//ИначеЕсли СоединениеС1С_.Перечисления.ТипВсеСсылки().СодержитТип(СоединениеС1С_.ТипЗнч(Источник)) Тогда
ИначеЕсли Найти(СоединениеС1С_.XMLТипЗнч(источник).TypeName,"EnumRef")>0 Тогда
ИмяПеречисления = Источник.Метаданные().Имя;
НужныйИндекс = СоединениеС1С_.Перечисления[ИмяПеречисления].Индекс(Источник);
ИмяЗначения = СоединениеС1С_.Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления.получить(НужныйИндекс).имя;
Возврат Перечисления[ИмяПеречисления][ИмяЗначения];
КонецЕсли;
DocumentRef - документ ссылка
DocumentObject - документ объект
CharOfAccountsRef - план счетов