Перейти к содержимому

1с как определить тип объекта документ или справочник

  • автор:

Как узнать имя вида объекта, например, имя используемого справочника?

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

Например, если «Справ» — это ссылка на элемент справочника, тогда имя этого справочника, заданное в конфигураторе, можно получить следующим образом:

ИмяСправочника Для типов, не имеющих метода Метаданные() , можно использовать поиск в структуре метаданных конфигурации. Например, если переменная "ВыборкаНоменклатуры" имеет тип СправочникВыборка.Номенклатура, тогда:
ОбъектОписания  

Получение метаданных объектов

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1. В тех случаях, когда известен тип объекта метаданного (справочник, документ, и т.п.), то получение метаданных объекта конфигурации следует выполнять с помощью метода Метаданные этого объекта (или ссылки для объектов ссылочного типа), а не путем обращения к свойству глобального контекста Метаданные , так как второй способ существенно более медленный.

2. В тех случаях, когда тип объекта метаданного заранее неизвестен, рекомендуется воспользоваться методом НайтиПоТипу , например:

// Получить полное имя объекта метаданных вида "Справочник.Номенклатура", "Документ.ПриходнаяНакладная" по переданной ссылке.
ИмяОбъектаМетаданного = Метаданные.НайтиПоТипу(ТипЗнч(Ссылка)).ПолноеИмя();

Разработчику о работе с 1С:Предприятие, Pascal, Паскаль

Решение вопросов, возникающие при автоматизации учета с помощью 1С:Предприятие. Паскаль.

Как проверить тип значения в 1С, программно? Как определить тип объекта в 1С?

07.03.2017 | Автор Дмитрий

Как проверить тип значения в 1С, программно? Как определить тип объекта в 1С?
Используем функцию Тип (ТекСтрока) и ТипЗнч (ТекЗначение).

Процедура ПроверкаТипа() ТекОбъект = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); ТекСсылка=ТекОбъект.Ссылка; ТекСтрока = "ДокументСсылка.РеализацияТоваровУслуг"; Если ТипЗнч (ТекСсылка) = Тип (ТекСтрока) Тогда Сообщить("Типы равны"); Иначе Сообщить("Разные типы"); КонецЕсли; КонецПроцедуры

Функция Тип (ТекСтрока) возвращает тип по строковому имени ТекСтрока.
Функция ТипЗнч (СсылкаНаОбъект) возвращает тип объекта СсылкаНаОбъект. СсылкаНаОбъект — значение может быть любым типом.

Рубрика: 1С:Предприятие 8.2, Новости

1с как определить тип объекта документ или справочник

в 7.7, была такая вешь
ТипЗначСтр(Значение) возвращало "Справочник" / "Документ" и т.д.

Как в 8.0 сделать так же?

ТипЗнч(Значение)
тока возвратит тип
(2) а как строку получить?
(1) Строка(ТипЗнч(Значение))

щас в УПП нашел такую вещь

Если Метаданные.НайтиПоПолномуИмени(МетаданныеОбъекта) = Неопределено Тогда
Возврат СписокФорм
КонецЕсли;

Если Лев(МетаданныеОбъекта, 8) = "Документ" Тогда
Объект = Документы[Сред(МетаданныеОбъекта, 10)].СоздатьДокумент();
ИначеЕсли Лев(МетаданныеОбъекта, 10) = "Справочник" Тогда
Объект = Справочники[Сред(МетаданныеОбъекта, 12)].СоздатьЭлемент();
КонецЕсли;

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *