ОБСУЖДЕНИЕ

V8.2 проблема получения строкой типа объекта

2 ответов 5,4 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
Возникла проблема получения строкой типа объекта аля "СправочникСсылка.Номенклатура" при переходе от 8.1 к 8.2.
в 8.1 было так:
[codebox]ДеревоДанныхОбъектаВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
// Вставить содержимое обработчика.
перем1=СокрЛП(ВыбраннаяСтрока.Тип);
Если НАйти(Перем1,"Справочник ссылка: ")<>0 тогда
СтрокаОбработки=СтрЗАменить(Перем1,"Справочник ссылка: ","");
Для каждого Элемент из Метаданные.Справочники цикл
Если Элемент.Синоним=СтрокаОбработки тогда
//Сообщить(Элемент.Синоним);
ИмяЭлем=СокрЛП("Справочник."+Элемент.Имя);
КонецЕСли;
КОнецЦикла;

[/codebox]

Строка СокрЛП(ВыбраннаяСтрока.Тип) возвращало строку типа:" Справочник ссылка: Номенклатура" , а тепер возвращает Синоним((.
Как мне теперь узнать, является ли данный объект справочником, перечислением или вообще документом?
 
В этой процедуре выбраннаяСтрока не формируется - она в неё передается. Ищи откуда она передается и смотри там как формируется ВыбраннаяСтрока
 
Да это понятно все). Вопрос не в том, что передается в Выбранную строку ( в нее передается имя реквизита метаданных объекта - справочника, документа), вопрос в том, как получить по типу объекта ( который указан в колонке "Тип" у выбранной строки) справочник это, или нет? Раньше я определял тип реквизита у объекта, если он имел тип: Справочник ссылка: Блаблабла, тогда я искал среди справочников по синониму нужный мне справочник. а теперь я просто получаю синоним, и теперь не понятно, по какрму признаку вычленять - справочник ли это?

(из ВыбраннаяСтрока.Тип получить "Справочник", если тип - СправочникСсылка)