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

Преобразование Массива Структур в ТаблицуЗначений 1С
// Функция преобразует Массив из структур в ТаблицуЗначений. &НаСервереБезКонтекста Функция ПреобразоватьМассивВТаблицуЗначений(МассивДанные) ДанныеТабЗначений = Новый ТаблицаЗначений; Для Каждого ЭлементМассива Из МассивДанные Цикл // Добавим колонки в таблицу значений Если ДанныеТабЗначений.Колонки.Количество() = 0 Тогда Для Каждого ЗначениеСтруктуры Из ЭлементМассива Цикл ДанныеТабЗначений.Колонки.Добавить(ЗначениеСтруктуры.Ключ); КонецЦикла; КонецЕсли; // Добавляем данные в таблицу значений НоваяСтрока = ДанныеТабЗначений.Добавить(); Для Каждого ЗначениеСтруктуры Из ЭлементМассива Цикл НоваяСтрока[ЗначениеСтруктуры.Ключ] = ЗначениеСтруктуры.Значение; КонецЦикла; КонецЦикла; Возврат ДанныеТабЗначений; КонецФункции
