Добрый день! Подскажите, как передать результат запроса на клиент. Спасибо!
---
Можно программно создать на форме реквизит с типом ТаблицаЗначений. ДанныеФормыКоллекция доступны и на сервере и на клиенте
---
управляемые формы? Самый простой вариант создать или реквизит формы с типом ТаблицаЗначений или ТабличнуюЧасть в реквизитах обработки. Если полей в ТЗ всего 2 можно через список значений или соответствие
---
управляемые формы? Самый простой вариант создать или реквизит формы с типом ТаблицаЗначений или ТабличнуюЧасть в реквизитах обработки. Если полей в ТЗ всего 2 можно через список значений или соответствие
---
тут все дают советы на ваш конкретный вопрос, но никто не видит проблему этого вопроса...
Вы упомянули, что собираетесь обрабатывать переданные данные на клиенте...
Уточните вашу общую задачу, ибо передавать результат запроса на клиент, чтобы его там обрабатывать - мягко сказано совсем не хорошо...
Может и передавать-то не надо весь результат?
---
Привет! Можно выгрузить результат в ТЗ, а ее уже переформировать в массив структур, который может передаваться на клиент:

```1c
    // Преобразует таблицу значений в массив структур.
    // Может использоваться для передачи на клиент данных в том случае, если таблица
    // значений содержит только такие значения, которые могут
    // быть переданы с сервера на клиент.
    //
    // Полученный массив содержит структуры, каждая из которых повторяет
    // структуру колонок таблицы значений.
    //
    // Не рекомендуется использовать для преобразования таблиц значений
    // с большим количеством строк.
    //
    // Параметры:
    // ТаблицаЗначений - ТаблицаЗначений - исходная таблица значений.
    //
    // Возвращаемое значение:
    // Массив - коллекция строк таблицы в виде структур.
    //
    Функция ТаблицаЗначенийВМассив(ТаблицаЗначений) Экспорт

    Массив = Новый Массив();
    СтруктураСтрокой = ";
    НужнаЗапятая = Ложь;
    Для Каждого Колонка Из ТаблицаЗначений.Колонки Цикл
    Если НужнаЗапятая Тогда
    СтруктураСтрокой = СтруктураСтрокой + ",";
    КонецЕсли;
    СтруктураСтрокой = СтруктураСтрокой + Колонка.Имя;
    НужнаЗапятая = Истина;
    КонецЦикла;
    Для Каждого Строка Из ТаблицаЗначений Цикл
    НоваяСтрока = Новый Структура(СтруктураСтрокой);
    ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
    Массив.Добавить(НоваяСтрока);
    КонецЦикла;
    Возврат Массив;

    КонецФункции
```
---
У меня очень много строк будет. И я так поняла, что это будет все через запятую? Как потом на клиенте обрабатывать?
---
Смотря что с этим нужно сделать на клиенте, а что нужно?
---
Ничего не понимаю вот вполне рабочий вариант, даже нужно самому запомнить.
---
фи, массив структур
---
Ну как вариант все в массив а в массиве структуры:

```1c
    &НаСервере
    Процедура РезультатЗапроса()
    Запрос = Новый Запрос(..........................)
    Результат = Запрос.выполнить().выбрать();
    Массив = Новый Массив;
    Пока Результат.Следующий() Цикл
    Структура = Новый Структура();
    Структура.Вставить("Контрагент", Результат.Контрагент);
    Структура.Всавить("Номенклатура", Результат.Номенклатура);
    // ........... и т.к. далее заполняете структуру
    Конеццикла

    Возврат Массив

    КонецПроцедуры
```
---
А как все в массив помещать?
---
В процедуре на сервере, придумывайте переменную Массив. Далее обходите на сервере результат запроса и в массив добавляеете СТРУКТУРУ содержание поля результата запроса. Далее возвращаете массив со структурами на клиент

Я вам не большой пример написал

```1c
    &НаСервере
    Процедура РезультатЗапроса()
    Запрос = Новый Запрос(..........................)
    Результат = Запрос.выполнить().выбрать();
    Массив = Новый Массив;
    Пока Результат.Следующий() Цикл
    Структура = Новый Структура();
    Структура.Вставить("Контрагент", Результат.Контрагент);
    Структура.Всавить("Номенклатура", Результат.Номенклатура);
    // ........... и т.к. далее заполняете структуру
    Конеццикла

    Возврат Массив

    КонецПроцедуры
```
---
к чему такие сложности, когда есть ДанныеФормыКоллекция?=)
---
А с другой стороны почему бы вам не выгрузить результат запроса в таблицу значений и передать ее на клиент????? и дальше вы ее там обработаете как нужно
---
Потому что ТаблицаЗначений не существует на клиенте. Может существовать ДанныеФормыКоллекция (табличнаяЧасть или РеквизитФормы с типом ТаблицаЗначений). Но мы не знаем модуль формы это или ОбщийМодуль, или модуль команды.
Тут мало исходной информации. Возможно все решается проще, чем задумал ТС
---
Да, пробовала передать ТЗ, нет, не передает. У меня это модуль формы обработки.
---
Вот тут посмотрите еще, есть несколько вариантов по передачи https://helpf.pro/faq82/view/1605.htm
---
Можно программно создать на форме реквизит с типом ТаблицаЗначений. ДанныеФормыКоллекция доступны и на сервере и на клиенте
---
Вообще нужно понять для чего передавать запрос на клиент возможно все можно сделать и на сервере.
---
Всем спасибо! Сделала на форме реквизит - ТЗ и туда загрузила. А потом на клиенте прочитала.
---
При большом объеме передаваемой на клиент ТЗ массив структур будет заметно быстрее.