В цикле перебираю все реквизиты определенного справочника через метаданные:
Для Каждого ТекРеквизит Из Метаданные.Справочники.ФизическиеЛица.Реквизиты Цикл
Как определить тип ТекРеквизита ? (Справочник, Документ, Перечисление, Строка, Число и т.д.)
Я понимаю что вариантов может быть несколько, но какой самый простой, короткий и правильный ?
Я пока что делаю так:
Если СтрНайти(XMLТипЗнч(Справочники.ФизическиеЛица.ПустаяСсылка()[ТекРеквизит.Имя]).TypeName,"CatalogRef") > 0 Тогда "Справочник"
СтрНайти(XMLТипЗнч(Справочники.ФизическиеЛица.ПустаяСсылка()[ТекРеквизит.Имя]).TypeName,"boolean") > 0 Тогда "Булево"
СтрНайти(XMLТипЗнч(Справочники.ФизическиеЛица.ПустаяСсылка()[ТекРеквизит.Имя]).TypeName,"dateTime") > 0 Тогда "Дата"
СтрНайти(XMLТипЗнч(Справочники.ФизическиеЛица.ПустаяСсылка()[ТекРеквизит.Имя]).TypeName,"EnumRef") > 0 Тогда "Перечисление"
СтрНайти(XMLТипЗнч(Справочники.ФизическиеЛица.ПустаяСсылка()[ТекРеквизит.Имя]).TypeName,"string") > 0 Тогда "Строка" и т.д.
но мне кажется что должен существовать более простой способ (ТипЗнч, СодержитТип() и т.д.)
А Вы каким способом определяете ?
Спасибо.