Получение метаданных объектов
Область применения: управляемое приложение, мобильное приложение, обычное приложение.
1. В тех случаях, когда известен тип объекта метаданного (справочник, документ, и т.п.), то получение метаданных объекта конфигурации следует выполнять с помощью метода Метаданные этого объекта (или ссылки для объектов ссылочного типа), а не путем обращения к свойству глобального контекста Метаданные , так как второй способ существенно более медленный.
2. В тех случаях, когда тип объекта метаданного заранее неизвестен, рекомендуется воспользоваться методом НайтиПоТипу , например:
// Получить полное имя объекта метаданных вида «Справочник.Номенклатура», «Документ.ПриходнаяНакладная» по переданной ссылке.
ИмяОбъектаМетаданного = Метаданные.НайтиПоТипу(ТипЗнч(Ссылка)).ПолноеИмя();
Как получить имя значения перечисления заданное в метаданных?
Чтобы определить имя значения перечисления заданное в метаданных, имея значение типа ПеречислениеСсылка, необходимо найти объект метаданных и получить его имя.
Метод Метаданные объекта ПеречислениеСсылка , как и у других аналогичных типов, выдает объект метаданных перечисления, а не значения перечисления.
Поиск объекта метаданных значения перечисления может быть выполнен по индексу значения перечисления, полученного у менеджера перечисления.
Как узнать имя вида объекта, например, имя используемого справочника?
Для того чтобы получить имя объекта, следует воспользоваться свойством «Имя» объекта метаданных, который можно получить методом «Метаданные».
Например, если «Справ» — это ссылка на элемент справочника, тогда имя этого справочника, заданное в конфигураторе, можно получить следующим образом:
ИмяСправочника Для типов, не имеющих метода Метаданные() , можно использовать поиск в структуре метаданных конфигурации. Например, если переменная "ВыборкаНоменклатуры" имеет тип СправочникВыборка.Номенклатура, тогда:
ОбъектОписания
1с как получить имя метаданных из ссылки
Т.е есть ссылка на какой-то объект и надо получить, является он документом, справочником или еще чем-нить. Такое возможно?
Ссылка.Метаданные().ПолноеИмя
Если ТипЗнч(ТекОбъект) = Тип("СправочникСсылка.Номенклатура") Тогда
.
КонецЕсли;
(1) чет не нашел такого.
(2) нужно как раз получить просто "СправочникСсылка", "ДокументСсылка", хотя наверное можно просто в строку преобразовать и дальше колбасить
Попробуй ПолноеИмя и Имя. СправочникСсылка.Номенклатура и Номенклатура получишь ну а СправочникСсылка Лев() :)
Если Строка(ТипЗнч(ДатаПланирования)) <> "Дата" Тогда
Возврат;
КонецЕсли;
(1) Прав в синтаксисе глянь Там вроде ПолноеИмя() правильно будет.
(8) Это не я, это синтаксис помощник :)
Встроенные функции языка
Строка (String)
Синтаксис:
Строка()
Параметры:
(обязательный)
Тип: Произвольный. Исходное значение.
Возвращаемое значение:
Тип: Строка. Полученное значение.
Описание:
Преобразует полученный параметр в значение типа Строка.
При преобразовании к строке числа формируется его полное представление в стандартном виде, соответствующем национальным установкам.
Преобразование значений типа Булево зависит от национальных установок и содержит строковое представление этих значений.
При преобразовании к строке даты формируется ее полное представление в стандартном читабельном виде, соответствующем национальным установкам.
Преобразование к строке значений остальных типов производится по мере возможности и обычно содержит читабельное представление значения.
Пример:
Если Строка(ТипЗнч(ДатаПланирования)) <> "Дата" Тогда
Возврат;
КонецЕсли;