Имя: Пароль:
1C
1С v8
Получить название реквизита - справочника по метаданным
0 Владимир1С
 
27.08.11
18:55
спрК = справочники.Контрагенты.ПустаяСсылка();
           
           Для Каждого Рек из СпрК.Метаданные().Реквизиты Цикл
               попытка
                   рек_имя = " - " + рек.тип.идентификатор;
               исключение    
                   сообщить(описаниеОшибки());
                   рек_имя = "";
               конецПопытки;    
                   
               Сообщить(рек.Имя+" - "+рек.Синоним+" - "+Строка(рек.Тип)+рек_имя);
           КонецЦикла;

Выводит тип только элементарных данных. Как справочника - выводит синоним. Надо имя метаданных.
1 d_koz
 
27.08.11
19:04
ОбъектМетаданных: Справочник (MetadataObject: Catalog)
Имя (Name)
Использование:

Только чтение.
Описание:

Тип: Строка. Имя объекта метаданных.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Имя должно состоять из одного слова, начинаться с буквы и не содержать специальных символов, кроме «_».

Оно,не ?
2 Mort
 
27.08.11
19:05
Приводить тип к строке для дальнейшего использования в программе нельзя. Это надо просто запомнить, а понимание придет как-нибудь.
3 Владимир1С
 
27.08.11
19:06
Нет. Сообщить(рек.Имя - сообщает имя реквизита. Надо узнать имя объекта метаданных, какого типа реквизит.
4 Владимир1С
 
27.08.11
19:08
просто название справочника, например "ДоговорыКонтрагентов".
5 Владимир1С
 
27.08.11
19:09
Тип реквизита сообщается, с этим ОК.
6 Владимир1С
 
27.08.11
19:24
Что, тип метаданных(кроме элементарных) , что под реквизитом, никак не получить????
7 Лефмихалыч
 
27.08.11
19:34
Метаданные.НайтиПоТипу(Реквизит.Тип).Имя
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.