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

tanat

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

[/codebox]

Строка СокрЛП(ВыбраннаяСтрока.Тип) возвращало строку типа:" Справочник ссылка: Номенклатура" , а тепер возвращает Синоним((.
Как мне теперь узнать, является ли данный объект справочником, перечислением или вообще документом?
 

puh14

Well-Known Member
11.07.2008
1 412
0
НеРезиновая
#2
В этой процедуре выбраннаяСтрока не формируется - она в неё передается. Ищи откуда она передается и смотри там как формируется ВыбраннаяСтрока
 

tanat

Well-Known Member
02.03.2007
265
0
#3
Да это понятно все). Вопрос не в том, что передается в Выбранную строку ( в нее передается имя реквизита метаданных объекта - справочника, документа), вопрос в том, как получить по типу объекта ( который указан в колонке "Тип" у выбранной строки) справочник это, или нет? Раньше я определял тип реквизита у объекта, если он имел тип: Справочник ссылка: Блаблабла, тогда я искал среди справочников по синониму нужный мне справочник. а теперь я просто получаю синоним, и теперь не понятно, по какрму признаку вычленять - справочник ли это?

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