Следующие типы коллекций не поддерживают прямую передачу между клиентом и сервером:
Эти объекты существуют только на сервере и не являются сериализуемыми для передачи на клиент напрямую. Попытка вернуть их из серверного контекста вызовет ошибку.
Основное решение — использование временного хранилища:
// На сервере: помещаем таблицу во временное хранилище
&НаСервере
Функция ПолучитьАдресТаблицы()
ТЗ = новая ТаблицаЗначений();
// ... заполнение таблицы
Возврат ПоместитьВоВременноеХранилище(ТЗ, ЭтаФорма);
КонецФункции
// На клиенте: получаем данные по адресу
&НаКлиенте
Процедура Команда1()
Адрес = ПолучитьАдресТаблицы();
ТЗ = ПолучитьИзВременногоХранилища(Адрес);
КонецПроцедуры
Альтернативные подходы:
ТаблицаЗначений — платформа сериализует их автоматическиРезультатЗапроса — выгружать в ТаблицуЗначений перед помещением в хранилищеВременное хранилище — стандартный и наиболее универсальный механизм для передачи «серверных» коллекций на клиент. Важно не забывать удалять данные из хранилища после использования, чтобы не засорять память сервера.
Объект РезультатЗапроса можно передать напрямую с сервера на клиент без использования временного хранилища, так как он содержит только примитивные типы данных.
Новый — ещё не проверен сообществом
Вы