Каталог решений - СписокЗначений в ТаблицуЗначений ?

СписокЗначений в ТаблицуЗначений ?

СписокЗначений в ТаблицуЗначений ?

В наличии

Как преобразовать Список значений в аналогичную по структуре Таблицу значений

Категория:

Описание

Столкнулся с необходимостью сделать запрос с выборкой данных из списка значений, однако найденный пример оказался нерабочим ни в 8.1, ни в 8.2.

Как известно, Список значений — это по сути таблица с 4мя фиксированными колонками. Почему бы просто не перегнать это в Таблицу значений?

Функция СЗ_В_ТЗ(СЗ)
	тз = Новый ТаблицаЗначений;
	тз.Колонки.Добавить("Значение");
	тз.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
	тз.Колонки.Добавить("Пометка", Новый ОписаниеТипов("Булево"));
	тз.Колонки.Добавить("Картинка", Новый ОписаниеТипов("Картинка"));
	
	Для Каждого ЭлементСЗ из СЗ Цикл
		ЗаполнитьЗначенияСвойств(тз.Добавить(), ЭлементСЗ)
	КонецЦикла;
	
	Возврат тз;
КонецФункции

Единственный нюанс — если в запросе нужно сделать условие, например РекизитЗапроса =  ТЗ.Представление, то представление следует ограничить в длине. Здесь поможет из типовых конфигураций функция ОбщегоНазначения.ПолучитьОписаниеТиповСтроки(ДлинаСтроки), т.е. код будет

тз.Колонки.Добавить("Представление", ОбщегоНазначения.ПолучитьОписаниеТиповСтроки(50));

Ну или «ручками»

тз.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(ДлинаСтроки, ДопустимаяДлина.Переменная)));
has been added to your cart:
Оформление заказа