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