Статья больше предназначена для себя, чтобы опять безрезультатно не искать в просторах инета, но может сэкономит кому-то время. Всё началось с того, что надо было мне использовать данные структуры во временной таблице в запросе. Поиск по интернету и Инфостарту не дал результатов. Пришлось самому выкручиваться. Кто-то скажет, что слишком маленькая статья или функция, но дело тут не в размере, а в полезности;). Прошу не судить строго и буду признателен, если дадите более оптимальное решение задачи.
Итак. Имеем структуру и данные из неё хотим использовать в запросе. Простая функция обхода элементов структуры в цикле, формирование Таблицы значений и заполнение её данными вроде дало результат, но ... в запросе такую Таблицу значений не используешь, так как требуется обязательное указание Описания типов, иначе запрос вылетает с ошибкой.
Пришлось немного повозиться с Описаниями типов, и, в итоге, получилась маленькая функция, которая возвращает то, что нам надо, т.е. заполненную Таблицу значений из Структуры с Описанием типов.
Функция СтруктураВТаблицуЗначенийСОписаниемТипов(Структра)
ТЗ = Новый ТаблицаЗначений;
НовСтр=ТЗ.Добавить();
ОписаниеТиповСсылок = Новый ОписаниеТипов(Новый ОписаниеТипов(Справочники.ТипВсеСсылки(), Документы.ТипВсеСсылки().Типы(),Перечисления.ТипВсеСсылки().Типы()));
Для Каждого ТекЭлем из Структра Цикл
ТЗ.Колонки.Добавить(ТекЭлем.Ключ,
?(ОписаниеТиповСсылок.СодержитТип(ТипЗнч(ТекЭлем.Значение)),
Новый ОписаниеТипов(СтрЗаменить(ТекЭлем.Значение.Метаданные().ПолноеИмя(),".","Ссылка.")),
Новый ОписаниеТипов(Строка(ТипЗнч(ТекЭлем.Значение)))));
НовСтр[ТекЭлем.Ключ] = ТекЭлем.Значение;
КонецЦикла;
Возврат ТЗ;
КонецФункции